/ *
* Copyright ( C ) Ascensio System SIA 2012 - 2020. All rights reserved
*
* https : //www.onlyoffice.com/
*
* Version : 0.0 . 0 ( build : 0 )
* /
function onDropDownKeyDown ( t ) { var e = $ ( this ) , i = e . parent ( ) , n = jQuery . Event ( "keydown.before.bs.dropdown" , { keyCode : t . keyCode } ) , o = jQuery . Event ( "keydown.after.bs.dropdown" , { keyCode : t . keyCode } ) ; i . trigger ( n ) , i . hasClass ( "no-stop-propagate" ) ? ( arguments . length > 1 && arguments [ 1 ] instanceof KeyboardEvent && ( t = arguments [ 1 ] ) , ! /^(38|40|27|13|9|37|39)$/ . test ( t . keyCode ) || t . ctrlKey || t . altKey || ( patchDropDownKeyDownAdditional . call ( this , t ) , /(37|39)/ . test ( t . keyCode ) || ( t . preventDefault ( ) , t . stopPropagation ( ) ) ) ) : ( patchDropDownKeyDown . call ( this , t ) , t . preventDefault ( ) , t . stopPropagation ( ) ) , i . trigger ( o ) } function patchDropDownKeyDown ( t ) { if ( /(38|40|27|37|39)/ . test ( t . keyCode ) ) { var e = $ ( this ) ; if ( t . preventDefault ( ) , t . stopPropagation ( ) , ! e . is ( ".disabled, :disabled" ) ) { var i = getParent ( e ) , n = i . hasClass ( "open" ) || i . hasClass ( "over" ) ; if ( ! n || n && 27 == t . keyCode ) { if ( 27 == t . which ) { if ( o = $ ( "[role=menu] li.dropdown-submenu.over:visible" , i ) , o . length ) return o . eq ( o . length - 1 ) . removeClass ( "over" ) , ! 1 ; i . hasClass ( "dropdown-submenu" ) && i . hasClass ( "over" ) ? ( i . removeClass ( "over" ) , i . find ( "> a" ) . focus ( ) ) : i . find ( "[data-toggle=dropdown]" ) . focus ( ) } return n ? e . click ( ) : void 0 } var o = $ ( "> [role=menu] > li:not(.divider):not(.disabled):visible" , i ) . find ( "> a" ) ; if ( o . length ) { var s = o . index ( o . filter ( ":focus" ) ) ; if ( 39 == t . keyCode ) { if ( s < 0 ) return ; var a = o . eq ( s ) . parent ( ) ; a . hasClass ( "dropdown-submenu" ) && ! a . hasClass ( "over" ) && ( a . mouseenter ( ) , a . addClass ( "focused-submenu" ) , _ . delay ( function ( ) { var t = $ ( "> [role=menu]" , a ) , e = t . find ( "> li:not(.divider):not(.disabled):visible > a" ) , i = t . find ( "> li:not(.divider):not(.disabled):visible .dataview" ) , n = t . find ( "> li:not(.divider):not(.disabled):visible ul.internal-menu" ) ; e . length > 0 && i . length < 1 && n . length < 1 && e . index ( e . filter ( ":focus" ) ) < 0 && e . eq ( 0 ) . focus ( ) } , 250 ) ) } else 37 == t . keyCode ? i . hasClass ( "dropdown-submenu" ) && i . hasClass ( "over" ) && ( i . removeClass ( "over" ) , i . find ( "> a" ) . focus ( ) ) : ( 38 == t . keyCode ? s > 0 ? s -- : s = e . hasClass ( "no-cyclic" ) ? 0 : o . length - 1 : 40 == t . keyCode && ( s < o . length - 1 ? s ++ : s = e . hasClass ( "no-cyclic" ) ? o . length - 1 : 0 ) , ~ s || ( s = 0 ) , i . hasClass ( "dropdown-submenu" ) && i . hasClass ( "over" ) && i . addClass ( "focused-submenu" ) , o . eq ( s ) . focus ( ) ) } } } } function patchDropDownKeyDownAdditional ( t ) { if ( /(38|40|27|37|39)/ . test ( t . keyCode ) ) { var e = $ ( this ) ; if ( /(37|39)/ . test ( t . keyCode ) || ( t . preventDefault ( ) , t . stopPropagation ( ) ) , ! e . is ( ".disabled, :disabled" ) ) { var i = getParent ( e ) , n = i . hasClass ( "open" ) || i . hasClass ( "over" ) ; if ( ! n || n && ( 27 == t . keyCode || 37 == t . keyCode || 39 == t . keyCode ) ) return n ? e . click ( ) : void 0 ; var o = $ ( "> [role=menu] > li:not(.divider):not(.disabled):visible" , i ) . find ( "> a" ) ; if ( o . length ) { var s = o . index ( o . filter ( ".focus" ) ) , a = s ; if ( 38 == t . keyCode ? s > 0 ? s -- : s = e . hasClass ( "no-cyclic" ) ? 0 : o . length - 1 : 40 == t . keyCode && ( s < o . length - 1 ? s ++ : s = e . hasClass ( "no-cyclic" ) ? o . length - 1 : 0 ) , ~ s || ( s = 0 ) , o . removeClass ( "focus" ) , o . eq ( s ) . addClass ( "focus" ) , a !== s ) { var l = o . eq ( a ) . parent ( ) . data ( "bs.tooltip" ) ; l && l . hide ( ) , l = o . eq ( s ) . parent ( ) . data ( "bs.tooltip" ) , l && l . show ( ) } } } } } function getParent ( t ) { var e = t . attr ( "data-target" ) ; e || ( e = t . attr ( "href" ) , e = e && /#/ . test ( e ) && e . replace ( /.*(?=#[^\s]*$)/ , "" ) ) ; var i = e && $ ( e ) ; return i && i . length ? i : t . parent ( ) } function clearMenus ( t ) { $ ( ".dropdown-toggle" ) . each ( function ( e ) { var i = $ ( this ) . parent ( ) ; if ( i . hasClass ( "open" ) ) { if ( "prevent-canvas-click" == i . attr ( "data-value" ) ) return void i . attr ( "data-value" , "" ) ; i . trigger ( e = $ . Event ( "hide.bs.dropdown" ) ) , e . isDefaultPrevented ( ) || i . removeClass ( "open" ) . trigger ( "hidden.bs.dropdown" , t ) } } ) } function toggle ( ) { $ ( ".dropdown-backdrop" ) . remove ( ) } if ( function ( ) { var t = "object" == typeof self && self . self === self && self || "object" == typeof global && global . global === global && global || this || { } , e = t . _ , i = Array . prototype , n = Object . prototype , o = "undefined" != typeof Symbol ? Symbol . prototype : null , s = i . push , a = i . slice , l = n . toString , r = n . hasOwnProperty , c = Array . isArray , h = Object . keys , d = Object . create , p = function ( ) { } , m = function ( t ) { return t instanceof m ? t : this instanceof m ? void ( this . _wrapped = t ) : new m ( t ) } ; "undefined" == typeof exports || exports . nodeType ? t . _ = m : ( "undefined" != typeof module && ! module . nodeType && module . exports && ( exports = module . exports = m ) , exports . _ = m ) , m . VERSION = "1.8.3" ; var u , g = function ( t , e , i ) { if ( void 0 === e ) return t ; switch ( i ) { case 1 : return function ( i ) { return t . c
i || ke . test ( t ) ? n ( t , o ) : Y ( t + "[" + ( "object" == typeof o && null != o ? e : "" ) + "]" , o , i , n ) } ) ; else if ( i || "object" !== ut . type ( e ) ) n ( t , e ) ; else for ( o in e ) Y ( t + "[" + o + "]" , e [ o ] , i , n ) } function X ( t ) { return function ( e , i ) { "string" != typeof e && ( i = e , e = "*" ) ; var n , o = 0 , s = e . toLowerCase ( ) . match ( Et ) || [ ] ; if ( ut . isFunction ( i ) ) for ( ; n = s [ o ++ ] ; ) "+" === n [ 0 ] ? ( n = n . slice ( 1 ) || "*" , ( t [ n ] = t [ n ] || [ ] ) . unshift ( i ) ) : ( t [ n ] = t [ n ] || [ ] ) . push ( i ) } } function J ( t , e , i , n ) { function o ( l ) { var r ; return s [ l ] = ! 0 , ut . each ( t [ l ] || [ ] , function ( t , l ) { var c = l ( e , i , n ) ; return "string" != typeof c || a || s [ c ] ? a ? ! ( r = c ) : void 0 : ( e . dataTypes . unshift ( c ) , o ( c ) , ! 1 ) } ) , r } var s = { } , a = t === Le ; return o ( e . dataTypes [ 0 ] ) || ! s [ "*" ] && o ( "*" ) } function Z ( t , e ) { var i , n , o = ut . ajaxSettings . flatOptions || { } ; for ( i in e ) void 0 !== e [ i ] && ( ( o [ i ] ? t : n || ( n = { } ) ) [ i ] = e [ i ] ) ; return n && ut . extend ( ! 0 , t , n ) , t } function Q ( t , e , i ) { for ( var n , o , s , a , l = t . contents , r = t . dataTypes ; "*" === r [ 0 ] ; ) r . shift ( ) , void 0 === n && ( n = t . mimeType || e . getResponseHeader ( "Content-Type" ) ) ; if ( n ) for ( o in l ) if ( l [ o ] && l [ o ] . test ( n ) ) { r . unshift ( o ) ; break } if ( r [ 0 ] in i ) s = r [ 0 ] ; else { for ( o in i ) { if ( ! r [ 0 ] || t . converters [ o + " " + r [ 0 ] ] ) { s = o ; break } a || ( a = o ) } s = s || a } if ( s ) return s !== r [ 0 ] && r . unshift ( s ) , i [ s ] } function tt ( t , e , i , n ) { var o , s , a , l , r , c = { } , h = t . dataTypes . slice ( ) ; if ( h [ 1 ] ) for ( a in t . converters ) c [ a . toLowerCase ( ) ] = t . converters [ a ] ; for ( s = h . shift ( ) ; s ; ) if ( t . responseFields [ s ] && ( i [ t . responseFields [ s ] ] = e ) , ! r && n && t . dataFilter && ( e = t . dataFilter ( e , t . dataType ) ) , r = s , s = h . shift ( ) ) if ( "*" === s ) s = r ; else if ( "*" !== r && r !== s ) { if ( ! ( a = c [ r + " " + s ] || c [ "* " + s ] ) ) for ( o in c ) if ( l = o . split ( " " ) , l [ 1 ] === s && ( a = c [ r + " " + l [ 0 ] ] || c [ "* " + l [ 0 ] ] ) ) { ! 0 === a ? a = c [ o ] : ! 0 !== c [ o ] && ( s = l [ 0 ] , h . unshift ( l [ 1 ] ) ) ; break } if ( ! 0 !== a ) if ( a && t . throws ) e = a ( e ) ; else try { e = a ( e ) } catch ( t ) { return { state : "parsererror" , error : a ? t : "No conversion from " + r + " to " + s } } } return { state : "success" , data : e } } var et = [ ] , it = t . document , nt = Object . getPrototypeOf , ot = et . slice , st = et . concat , at = et . push , lt = et . indexOf , rt = { } , ct = rt . toString , ht = rt . hasOwnProperty , dt = ht . toString , pt = dt . call ( Object ) , mt = { } , ut = function ( t , e ) { return new ut . fn . init ( t , e ) } , gt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g , bt = /^-ms-/ , ft = /-([a-z])/g , Ct = function ( t , e ) { return e . toUpperCase ( ) } ; ut . fn = ut . prototype = { jquery : "3.2.1" , constructor : ut , length : 0 , toArray : function ( ) { return ot . call ( this ) } , get : function ( t ) { return null == t ? ot . call ( this ) : t < 0 ? this [ t + this . length ] : this [ t ] } , pushStack : function ( t ) { var e = ut . merge ( this . constructor ( ) , t ) ; return e . prevObject = this , e } , each : function ( t ) { return ut . each ( this , t ) } , map : function ( t ) { return this . pushStack ( ut . map ( this , function ( e , i ) { return t . call ( e , i , e ) } ) ) } , slice : function ( ) { return this . pushStack ( ot . apply ( this , arguments ) ) } , first : function ( ) { return this . eq ( 0 ) } , last : function ( ) { return this . eq ( - 1 ) } , eq : function ( t ) { var e = this . length , i = + t + ( t < 0 ? e : 0 ) ; return this . pushStack ( i >= 0 && i < e ? [ this [ i ] ] : [ ] ) } , end : function ( ) { return this . prevObject || this . constructor ( ) } , push : at , sort : et . sort , splice : et . splice } , ut . extend = ut . fn . extend = function ( ) { var t , e , i , n , o , s , a = arguments [ 0 ] || { } , l = 1 , r = arguments . length , c = ! 1 ; for ( "boolean" == typeof a && ( c = a , a = arguments [ l ] || { } , l ++ ) , "object" == typeof a || ut . isFunction ( a ) || ( a = { } ) , l === r && ( a = this , l -- ) ; l < r ; l ++ ) if ( null != ( t = arguments [ l ] ) ) for ( e in t ) i = a [ e ] , n = t [ e ] , a !== n && ( c && n && ( ut . isPlainObject ( n ) || ( o = Array . isArray ( n ) ) ) ? ( o ? ( o = ! 1 , s = i && Array . isArray ( i ) ? i : [ ] ) : s = i && ut . isPlainObject ( i ) ? i : { } , a [ e ] = ut . extend ( c , s , n ) ) : void 0 !== n && ( a [ e ] = n ) ) ; return a } , ut . extend ( { expando : "jQuery" + ( "3.2.1" + Math . random ( ) ) . replace ( /\D/g , "" ) , isReady : ! 0 , error : function ( t ) { throw new Error ( t ) } , noop : function ( ) { } , isFunction : function ( t ) { return "function" === ut . type ( t ) } , isWindow : function ( t ) { return null != t && t === t . window } , isNumeric : function ( t ) { var e = ut . type ( t ) ; return ( "number" === e || "string" === e ) && ! isNaN ( t - parseFloat ( t ) ) } , isPlainObject : function ( t ) { var e , i ; return ! ( ! t || "[object Object]" !== ct . call ( t ) ) && ( ! ( e = nt ( t ) ) || "function" == typeof ( i = ht . call ( e , "constructor" ) && e . constructor ) && dt . call ( i ) === pt ) } , isEmptyObject : function ( t ) { var e ; for ( e in t ) return ! 1 ; return ! 0 } , type : function ( t ) { return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? rt [ ct . call ( t ) ] || "object" : typeof t } , globalEval : function ( t ) { i ( t ) } , camelCase : function ( t ) { return t . replace ( bt , "ms-" ) . replace ( ft , Ct ) } , each : function ( t , e ) { var i , o = 0 ; if ( n ( t ) ) for ( i = t . length ; o < i &&
t . console && t . console . warn && e && Pt . test ( e . name ) && t . console . warn ( "jQuery.Deferred exception: " + e . message , e . stack , i ) } , ut . readyException = function ( e ) { t . setTimeout ( function ( ) { throw e } ) } ; var Mt = ut . Deferred ( ) ; ut . fn . ready = function ( t ) { return Mt . then ( t ) . catch ( function ( t ) { ut . readyException ( t ) } ) , this } , ut . extend ( { isReady : ! 1 , readyWait : 1 , ready : function ( t ) { ( ! 0 === t ? -- ut . readyWait : ut . isReady ) || ( ut . isReady = ! 0 , ! 0 !== t && -- ut . readyWait > 0 || Mt . resolveWith ( it , [ ut ] ) ) } } ) , ut . ready . then = Mt . then , "complete" === it . readyState || "loading" !== it . readyState && ! it . documentElement . doScroll ? t . setTimeout ( ut . ready ) : ( it . addEventListener ( "DOMContentLoaded" , d ) , t . addEventListener ( "load" , d ) ) ; var Dt = function ( t , e , i , n , o , s , a ) { var l = 0 , r = t . length , c = null == i ; if ( "object" === ut . type ( i ) ) { o = ! 0 ; for ( l in i ) Dt ( t , e , l , i [ l ] , ! 0 , s , a ) } else if ( void 0 !== n && ( o = ! 0 , ut . isFunction ( n ) || ( a = ! 0 ) , c && ( a ? ( e . call ( t , n ) , e = null ) : ( c = e , e = function ( t , e , i ) { return c . call ( ut ( t ) , i ) } ) ) , e ) ) for ( ; l < r ; l ++ ) e ( t [ l ] , i , a ? n : n . call ( t [ l ] , l , e ( t [ l ] , i ) ) ) ; return o ? t : c ? e . call ( t ) : r ? e ( t [ 0 ] , i ) : s } , Ft = function ( t ) { return 1 === t . nodeType || 9 === t . nodeType || ! + t . nodeType } ; p . uid = 1 , p . prototype = { cache : function ( t ) { var e = t [ this . expando ] ; return e || ( e = { } , Ft ( t ) && ( t . nodeType ? t [ this . expando ] = e : Object . defineProperty ( t , this . expando , { value : e , configurable : ! 0 } ) ) ) , e } , set : function ( t , e , i ) { var n , o = this . cache ( t ) ; if ( "string" == typeof e ) o [ ut . camelCase ( e ) ] = i ; else for ( n in e ) o [ ut . camelCase ( n ) ] = e [ n ] ; return o } , get : function ( t , e ) { return void 0 === e ? this . cache ( t ) : t [ this . expando ] && t [ this . expando ] [ ut . camelCase ( e ) ] } , access : function ( t , e , i ) { return void 0 === e || e && "string" == typeof e && void 0 === i ? this . get ( t , e ) : ( this . set ( t , e , i ) , void 0 !== i ? i : e ) } , remove : function ( t , e ) { var i , n = t [ this . expando ] ; if ( void 0 !== n ) { if ( void 0 !== e ) { Array . isArray ( e ) ? e = e . map ( ut . camelCase ) : ( e = ut . camelCase ( e ) , e = e in n ? [ e ] : e . match ( Et ) || [ ] ) , i = e . length ; for ( ; i -- ; ) delete n [ e [ i ] ] } ( void 0 === e || ut . isEmptyObject ( n ) ) && ( t . nodeType ? t [ this . expando ] = void 0 : delete t [ this . expando ] ) } } , hasData : function ( t ) { var e = t [ this . expando ] ; return void 0 !== e && ! ut . isEmptyObject ( e ) } } ; var Ut = new p , Vt = new p , Rt = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/ , Bt = /[A-Z]/g ; ut . extend ( { hasData : function ( t ) { return Vt . hasData ( t ) || Ut . hasData ( t ) } , data : function ( t , e , i ) { return Vt . access ( t , e , i ) } , removeData : function ( t , e ) { Vt . remove ( t , e ) } , _data : function ( t , e , i ) { return Ut . access ( t , e , i ) } , _removeData : function ( t , e ) { Ut . remove ( t , e ) } } ) , ut . fn . extend ( { data : function ( t , e ) { var i , n , o , s = this [ 0 ] , a = s && s . attributes ; if ( void 0 === t ) { if ( this . length && ( o = Vt . get ( s ) , 1 === s . nodeType && ! Ut . get ( s , "hasDataAttrs" ) ) ) { for ( i = a . length ; i -- ; ) a [ i ] && ( n = a [ i ] . name , 0 === n . indexOf ( "data-" ) && ( n = ut . camelCase ( n . slice ( 5 ) ) , u ( s , n , o [ n ] ) ) ) ; Ut . set ( s , "hasDataAttrs" , ! 0 ) } return o } return "object" == typeof t ? this . each ( function ( ) { Vt . set ( this , t ) } ) : Dt ( this , function ( e ) { var i ; if ( s && void 0 === e ) { if ( void 0 !== ( i = Vt . get ( s , t ) ) ) return i ; if ( void 0 !== ( i = u ( s , t ) ) ) return i } else this . each ( function ( ) { Vt . set ( this , t , e ) } ) } , null , e , arguments . length > 1 , null , ! 0 ) } , removeData : function ( t ) { return this . each ( function ( ) { Vt . remove ( this , t ) } ) } } ) , ut . extend ( { queue : function ( t , e , i ) { var n ; if ( t ) return e = ( e || "fx" ) + "queue" , n = Ut . get ( t , e ) , i && ( ! n || Array . isArray ( i ) ? n = Ut . access ( t , e , ut . makeArray ( i ) ) : n . push ( i ) ) , n || [ ] } , dequeue : function ( t , e ) { e = e || "fx" ; var i = ut . queue ( t , e ) , n = i . length , o = i . shift ( ) , s = ut . _queueHooks ( t , e ) , a = function ( ) { ut . dequeue ( t , e ) } ; "inprogress" === o && ( o = i . shift ( ) , n -- ) , o && ( "fx" === e && i . unshift ( "inprogress" ) , delete s . stop , o . call ( t , a , s ) ) , ! n && s && s . empty . fire ( ) } , _queueHooks : function ( t , e ) { var i = e + "queueHooks" ; return Ut . get ( t , i ) || Ut . access ( t , i , { empty : ut . Callbacks ( "once memory" ) . add ( function ( ) { Ut . remove ( t , [ e + "queue" , i ] ) } ) } ) } } ) , ut . fn . extend ( { queue : function ( t , e ) { var i = 2 ; return "string" != typeof t && ( e = t , t = "fx" , i -- ) , arguments . length < i ? ut . queue ( this [ 0 ] , t ) : void 0 === e ? this : this . each ( function ( ) { var i = ut . queue ( this , t , e ) ; ut . _queueHooks ( this , t ) , "fx" === t && "inprogress" !== i [ 0 ] && ut . dequeue ( this , t ) } ) } , dequeue : function ( t ) { return this . each ( function ( ) { ut . dequeue ( this , t ) } ) } , clearQueue : function ( t ) { return this . queue ( t || "fx" , [ ] ) } , promise : function ( t , e ) { var i , n = 1 , o = ut . Deferred ( ) , s = this , a = this . length , l = function ( ) { -- n || o . resolveWith ( s , [ s ] ) } ; for ( "string" != typeof t && ( e = t , t = void 0 ) , t = t || "fx" ; a -- ; ) ( i = Ut . get ( s [ a ] , t + "queueHooks" ) ) && i . em
url : we . href , type : "GET" , isLocal : Ue . test ( we . protocol ) , global : ! 0 , processData : ! 0 , async : ! 0 , contentType : "application/x-www-form-urlencoded; charset=UTF-8" , accepts : { "*" : Ne , text : "text/plain" , html : "text/html" , xml : "application/xml, text/xml" , json : "application/json, text/javascript" } , contents : { xml : /\bxml\b/ , html : /\bhtml/ , json : /\bjson\b/ } , responseFields : { xml : "responseXML" , text : "responseText" , json : "responseJSON" } , converters : { "* text" : String , "text html" : ! 0 , "text json" : JSON . parse , "text xml" : ut . parseXML } , flatOptions : { url : ! 0 , context : ! 0 } } , ajaxSetup : function ( t , e ) { return e ? Z ( Z ( t , ut . ajaxSettings ) , e ) : Z ( ut . ajaxSettings , t ) } , ajaxPrefilter : X ( Be ) , ajaxTransport : X ( Le ) , ajax : function ( e , i ) { function n ( e , i , n , l ) { var c , p , m , _ , y , x = i ; h || ( h = ! 0 , r && t . clearTimeout ( r ) , o = void 0 , a = l || "" , w . readyState = e > 0 ? 4 : 0 , c = e >= 200 && e < 300 || 304 === e , n && ( _ = Q ( u , w , n ) ) , _ = tt ( u , _ , w , c ) , c ? ( u . ifModified && ( y = w . getResponseHeader ( "Last-Modified" ) , y && ( ut . lastModified [ s ] = y ) , ( y = w . getResponseHeader ( "etag" ) ) && ( ut . etag [ s ] = y ) ) , 204 === e || "HEAD" === u . type ? x = "nocontent" : 304 === e ? x = "notmodified" : ( x = _ . state , p = _ . data , m = _ . error , c = ! m ) ) : ( m = x , ! e && x || ( x = "error" , e < 0 && ( e = 0 ) ) ) , w . status = e , w . statusText = ( i || x ) + "" , c ? f . resolveWith ( g , [ p , x , w ] ) : f . rejectWith ( g , [ w , x , m ] ) , w . statusCode ( v ) , v = void 0 , d && b . trigger ( c ? "ajaxSuccess" : "ajaxError" , [ w , u , c ? p : m ] ) , C . fireWith ( g , [ w , x ] ) , d && ( b . trigger ( "ajaxComplete" , [ w , u ] ) , -- ut . active || ut . event . trigger ( "ajaxStop" ) ) ) } "object" == typeof e && ( i = e , e = void 0 ) , i = i || { } ; var o , s , a , l , r , c , h , d , p , m , u = ut . ajaxSetup ( { } , i ) , g = u . context || u , b = u . context && ( g . nodeType || g . jquery ) ? ut ( g ) : ut . event , f = ut . Deferred ( ) , C = ut . Callbacks ( "once memory" ) , v = u . statusCode || { } , _ = { } , y = { } , x = "canceled" , w = { readyState : 0 , getResponseHeader : function ( t ) { var e ; if ( h ) { if ( ! l ) for ( l = { } ; e = Fe . exec ( a ) ; ) l [ e [ 1 ] . toLowerCase ( ) ] = e [ 2 ] ; e = l [ t . toLowerCase ( ) ] } return null == e ? null : e } , getAllResponseHeaders : function ( ) { return h ? a : null } , setRequestHeader : function ( t , e ) { return null == h && ( t = y [ t . toLowerCase ( ) ] = y [ t . toLowerCase ( ) ] || t , _ [ t ] = e ) , this } , overrideMimeType : function ( t ) { return null == h && ( u . mimeType = t ) , this } , statusCode : function ( t ) { var e ; if ( t ) if ( h ) w . always ( t [ w . status ] ) ; else for ( e in t ) v [ e ] = [ v [ e ] , t [ e ] ] ; return this } , abort : function ( t ) { var e = t || x ; return o && o . abort ( e ) , n ( 0 , e ) , this } } ; if ( f . promise ( w ) , u . url = ( ( e || u . url || we . href ) + "" ) . replace ( Re , we . protocol + "//" ) , u . type = i . method || i . type || u . method || u . type , u . dataTypes = ( u . dataType || "*" ) . toLowerCase ( ) . match ( Et ) || [ "" ] , null == u . crossDomain ) { c = it . createElement ( "a" ) ; try { c . href = u . url , c . href = c . href , u . crossDomain = Oe . protocol + "//" + Oe . host != c . protocol + "//" + c . host } catch ( t ) { u . crossDomain = ! 0 } } if ( u . data && u . processData && "string" != typeof u . data && ( u . data = ut . param ( u . data , u . traditional ) ) , J ( Be , u , i , w ) , h ) return w ; d = ut . event && u . global , d && 0 == ut . active ++ && ut . event . trigger ( "ajaxStart" ) , u . type = u . type . toUpperCase ( ) , u . hasContent = ! Ve . test ( u . type ) , s = u . url . replace ( Me , "" ) , u . hasContent ? u . data && u . processData && 0 === ( u . contentType || "" ) . indexOf ( "application/x-www-form-urlencoded" ) && ( u . data = u . data . replace ( Pe , "+" ) ) : ( m = u . url . slice ( s . length ) , u . data && ( s += ( Ae . test ( s ) ? "&" : "?" ) + u . data , delete u . data ) , ! 1 === u . cache && ( s = s . replace ( De , "$1" ) , m = ( Ae . test ( s ) ? "&" : "?" ) + "_=" + Se ++ + m ) , u . url = s + m ) , u . ifModified && ( ut . lastModified [ s ] && w . setRequestHeader ( "If-Modified-Since" , ut . lastModified [ s ] ) , ut . etag [ s ] && w . setRequestHeader ( "If-None-Match" , ut . etag [ s ] ) ) , ( u . data && u . hasContent && ! 1 !== u . contentType || i . contentType ) && w . setRequestHeader ( "Content-Type" , u . contentType ) , w . setRequestHeader ( "Accept" , u . dataTypes [ 0 ] && u . accepts [ u . dataTypes [ 0 ] ] ? u . accepts [ u . dataTypes [ 0 ] ] + ( "*" !== u . dataTypes [ 0 ] ? ", " + Ne + "; q=0.01" : "" ) : u . accepts [ "*" ] ) ; for ( p in u . headers ) w . setRequestHeader ( p , u . headers [ p ] ) ; if ( u . beforeSend && ( ! 1 === u . beforeSend . call ( g , w , u ) || h ) ) return w . abort ( ) ; if ( x = "abort" , C . add ( u . complete ) , w . done ( u . success ) , w . fail ( u . error ) , o = J ( Le , u , i , w ) ) { if ( w . readyState = 1 , d && b . trigger ( "ajaxSend" , [ w , u ] ) , h ) return w ; u . async && u . timeout > 0 && ( r = t . setTimeout ( function ( ) { w . abort ( "timeout" ) } , u . timeout ) ) ; try { h = ! 1 , o . send ( _ , n ) } catch ( t ) { if ( h ) throw t ; n ( - 1 , t ) } } else n ( - 1 , "No Transport" ) ; return w } , getJSON : function ( t , e , i ) { return ut . get ( t , e , i , "json" ) } , getScript : function ( t , e ) { return ut . get ( t , void 0 , e , "script" ) } } ) , ut . each ( [ "get" , "post" ] , function ( t , e ) { ut [ e ] = function ( t , i , n , o ) { return
delegateType : t . support . transition . end , handle : function ( e ) { if ( t ( e . target ) . is ( this ) ) return e . handleObj . handler . apply ( this , arguments ) } } ) } ) } ( jQuery ) , function ( t ) { "use strict" ; function e ( e ) { return this . each ( function ( ) { var i = t ( this ) , o = i . data ( "bs.alert" ) ; o || i . data ( "bs.alert" , o = new n ( this ) ) , "string" == typeof e && o [ e ] . call ( i ) } ) } var i = '[data-dismiss="alert"]' , n = function ( e ) { t ( e ) . on ( "click" , i , this . close ) } ; n . VERSION = "3.3.7" , n . TRANSITION _DURATION = 150 , n . prototype . close = function ( e ) { function i ( ) { a . detach ( ) . trigger ( "closed.bs.alert" ) . remove ( ) } var o = t ( this ) , s = o . attr ( "data-target" ) ; s || ( s = o . attr ( "href" ) , s = s && s . replace ( /.*(?=#[^\s]*$)/ , "" ) ) ; var a = t ( "#" === s ? [ ] : s ) ; e && e . preventDefault ( ) , a . length || ( a = o . closest ( ".alert" ) ) , a . trigger ( e = t . Event ( "close.bs.alert" ) ) , e . isDefaultPrevented ( ) || ( a . removeClass ( "in" ) , t . support . transition && a . hasClass ( "fade" ) ? a . one ( "bsTransitionEnd" , i ) . emulateTransitionEnd ( n . TRANSITION _DURATION ) : i ( ) ) } ; var o = t . fn . alert ; t . fn . alert = e , t . fn . alert . Constructor = n , t . fn . alert . noConflict = function ( ) { return t . fn . alert = o , this } , t ( document ) . on ( "click.bs.alert.data-api" , i , n . prototype . close ) } ( jQuery ) , function ( t ) { "use strict" ; function e ( e ) { return this . each ( function ( ) { var n = t ( this ) , o = n . data ( "bs.button" ) , s = "object" == typeof e && e ; o || n . data ( "bs.button" , o = new i ( this , s ) ) , "toggle" == e ? o . toggle ( ) : e && o . setState ( e ) } ) } var i = function ( e , n ) { this . $element = t ( e ) , this . options = t . extend ( { } , i . DEFAULTS , n ) , this . isLoading = ! 1 } ; i . VERSION = "3.3.7" , i . DEFAULTS = { loadingText : "loading..." } , i . prototype . setState = function ( e ) { var i = "disabled" , n = this . $element , o = n . is ( "input" ) ? "val" : "html" , s = n . data ( ) ; e += "Text" , null == s . resetText && n . data ( "resetText" , n [ o ] ( ) ) , setTimeout ( t . proxy ( function ( ) { n [ o ] ( null == s [ e ] ? this . options [ e ] : s [ e ] ) , "loadingText" == e ? ( this . isLoading = ! 0 , n . addClass ( i ) . attr ( i , i ) . prop ( i , ! 0 ) ) : this . isLoading && ( this . isLoading = ! 1 , n . removeClass ( i ) . removeAttr ( i ) . prop ( i , ! 1 ) ) } , this ) , 0 ) } , i . prototype . toggle = function ( ) { var t = ! 0 , e = this . $element . closest ( '[data-toggle="buttons"]' ) ; if ( e . length ) { var i = this . $element . find ( "input" ) ; "radio" == i . prop ( "type" ) ? ( i . prop ( "checked" ) && ( t = ! 1 ) , e . find ( ".active" ) . removeClass ( "active" ) , this . $element . addClass ( "active" ) ) : "checkbox" == i . prop ( "type" ) && ( i . prop ( "checked" ) !== this . $element . hasClass ( "active" ) && ( t = ! 1 ) , this . $element . toggleClass ( "active" ) ) , i . prop ( "checked" , this . $element . hasClass ( "active" ) ) , t && i . trigger ( "change" ) } else this . $element . attr ( "aria-pressed" , ! this . $element . hasClass ( "active" ) ) , this . $element . toggleClass ( "active" ) } ; var n = t . fn . button ; t . fn . button = e , t . fn . button . Constructor = i , t . fn . button . noConflict = function ( ) { return t . fn . button = n , this } , t ( document ) . on ( "click.bs.button.data-api" , '[data-toggle^="button"]' , function ( i ) { var n = t ( i . target ) . closest ( ".btn" ) ; e . call ( n , "toggle" ) , t ( i . target ) . is ( 'input[type="radio"], input[type="checkbox"]' ) || ( i . preventDefault ( ) , n . is ( "input,button" ) ? n . trigger ( "focus" ) : n . find ( "input:visible,button:visible" ) . first ( ) . trigger ( "focus" ) ) } ) . on ( "focus.bs.button.data-api blur.bs.button.data-api" , '[data-toggle^="button"]' , function ( e ) { t ( e . target ) . closest ( ".btn" ) . toggleClass ( "focus" , /^focus(in)?$/ . test ( e . type ) ) } ) } ( jQuery ) , function ( t ) { "use strict" ; function e ( e ) { return this . each ( function ( ) { var n = t ( this ) , o = n . data ( "bs.carousel" ) , s = t . extend ( { } , i . DEFAULTS , n . data ( ) , "object" == typeof e && e ) , a = "string" == typeof e ? e : s . slide ; o || n . data ( "bs.carousel" , o = new i ( this , s ) ) , "number" == typeof e ? o . to ( e ) : a ? o [ a ] ( ) : s . interval && o . pause ( ) . cycle ( ) } ) } var i = function ( e , i ) { this . $element = t ( e ) , this . $indicators = this . $element . find ( ".carousel-indicators" ) , this . options = i , this . paused = null , this . sliding = null , this . interval = null , this . $active = null , this . $items = null , this . options . keyboard && this . $element . on ( "keydown.bs.carousel" , t . proxy ( this . keydown , this ) ) , "hover" == this . options . pause && ! ( "ontouchstart" in document . documentElement ) && this . $element . on ( "mouseenter.bs.carousel" , t . proxy ( this . pause , this ) ) . on ( "mouseleave.bs.carousel" , t . proxy ( this . cycle , this ) ) } ; i . VERSION = "3.3.7" , i . TRANSITION _DURATION = 600 , i . DEFAULTS = { interval : 5e3 , pause : "hover" , wrap : ! 0 , keyboard : ! 0 } , i . prototype . keydown = function ( t ) { if ( ! /input|textarea/i . test ( t . target . tagName ) ) { switch ( t . which ) { case 37 : this . prev ( ) ; break ; case 39 : this . next ( ) ; break ; default : return } t
var e = this . element , i = e . closest ( "ul:not(.dropdown-menu)" ) , n = e . data ( "target" ) ; if ( n || ( n = e . attr ( "href" ) , n = n && n . replace ( /.*(?=#[^\s]*$)/ , "" ) ) , ! e . parent ( "li" ) . hasClass ( "active" ) ) { var o = i . find ( ".active:last a" ) , s = t . Event ( "hide.bs.tab" , { relatedTarget : e [ 0 ] } ) , a = t . Event ( "show.bs.tab" , { relatedTarget : o [ 0 ] } ) ; if ( o . trigger ( s ) , e . trigger ( a ) , ! a . isDefaultPrevented ( ) && ! s . isDefaultPrevented ( ) ) { var l = t ( n ) ; this . activate ( e . closest ( "li" ) , i ) , this . activate ( l , l . parent ( ) , function ( ) { o . trigger ( { type : "hidden.bs.tab" , relatedTarget : e [ 0 ] } ) , e . trigger ( { type : "shown.bs.tab" , relatedTarget : o [ 0 ] } ) } ) } } } , i . prototype . activate = function ( e , n , o ) { function s ( ) { a . removeClass ( "active" ) . find ( "> .dropdown-menu > .active" ) . removeClass ( "active" ) . end ( ) . find ( '[data-toggle="tab"]' ) . attr ( "aria-expanded" , ! 1 ) , e . addClass ( "active" ) . find ( '[data-toggle="tab"]' ) . attr ( "aria-expanded" , ! 0 ) , l ? ( e [ 0 ] . offsetWidth , e . addClass ( "in" ) ) : e . removeClass ( "fade" ) , e . parent ( ".dropdown-menu" ) . length && e . closest ( "li.dropdown" ) . addClass ( "active" ) . end ( ) . find ( '[data-toggle="tab"]' ) . attr ( "aria-expanded" , ! 0 ) , o && o ( ) } var a = n . find ( "> .active" ) , l = o && t . support . transition && ( a . length && a . hasClass ( "fade" ) || ! ! n . find ( "> .fade" ) . length ) ; a . length && l ? a . one ( "bsTransitionEnd" , s ) . emulateTransitionEnd ( i . TRANSITION _DURATION ) : s ( ) , a . removeClass ( "in" ) } ; var n = t . fn . tab ; t . fn . tab = e , t . fn . tab . Constructor = i , t . fn . tab . noConflict = function ( ) { return t . fn . tab = n , this } ; var o = function ( i ) { i . preventDefault ( ) , e . call ( t ( this ) , "show" ) } ; t ( document ) . on ( "click.bs.tab.data-api" , '[data-toggle="tab"]' , o ) . on ( "click.bs.tab.data-api" , '[data-toggle="pill"]' , o ) } ( jQuery ) , function ( t ) { "use strict" ; function e ( e ) { return this . each ( function ( ) { var n = t ( this ) , o = n . data ( "bs.affix" ) , s = "object" == typeof e && e ; o || n . data ( "bs.affix" , o = new i ( this , s ) ) , "string" == typeof e && o [ e ] ( ) } ) } var i = function ( e , n ) { this . options = t . extend ( { } , i . DEFAULTS , n ) , this . $target = t ( this . options . target ) . on ( "scroll.bs.affix.data-api" , t . proxy ( this . checkPosition , this ) ) . on ( "click.bs.affix.data-api" , t . proxy ( this . checkPositionWithEventLoop , this ) ) , this . $element = t ( e ) , this . affixed = null , this . unpin = null , this . pinnedOffset = null , this . checkPosition ( ) } ; i . VERSION = "3.3.7" , i . RESET = "affix affix-top affix-bottom" , i . DEFAULTS = { offset : 0 , target : window } , i . prototype . getState = function ( t , e , i , n ) { var o = this . $target . scrollTop ( ) , s = this . $element . offset ( ) , a = this . $target . height ( ) ; if ( null != i && "top" == this . affixed ) return o < i && "top" ; if ( "bottom" == this . affixed ) return null != i ? ! ( o + this . unpin <= s . top ) && "bottom" : ! ( o + a <= t - n ) && "bottom" ; var l = null == this . affixed , r = l ? o : s . top , c = l ? a : e ; return null != i && o <= i ? "top" : null != n && r + c >= t - n && "bottom" } , i . prototype . getPinnedOffset = function ( ) { if ( this . pinnedOffset ) return this . pinnedOffset ; this . $element . removeClass ( i . RESET ) . addClass ( "affix" ) ; var t = this . $target . scrollTop ( ) , e = this . $element . offset ( ) ; return this . pinnedOffset = e . top - t } , i . prototype . checkPositionWithEventLoop = function ( ) { setTimeout ( t . proxy ( this . checkPosition , this ) , 1 ) } , i . prototype . checkPosition = function ( ) { if ( this . $element . is ( ":visible" ) ) { var e = this . $element . height ( ) , n = this . options . offset , o = n . top , s = n . bottom , a = Math . max ( t ( document ) . height ( ) , t ( document . body ) . height ( ) ) ; "object" != typeof n && ( s = o = n ) , "function" == typeof o && ( o = n . top ( this . $element ) ) , "function" == typeof s && ( s = n . bottom ( this . $element ) ) ; var l = this . getState ( a , e , o , s ) ; if ( this . affixed != l ) { null != this . unpin && this . $element . css ( "top" , "" ) ; var r = "affix" + ( l ? "-" + l : "" ) , c = t . Event ( r + ".bs.affix" ) ; if ( this . $element . trigger ( c ) , c . isDefaultPrevented ( ) ) return ; this . affixed = l , this . unpin = "bottom" == l ? this . getPinnedOffset ( ) : null , this . $element . removeClass ( i . RESET ) . addClass ( r ) . trigger ( r . replace ( "affix" , "affixed" ) + ".bs.affix" ) } "bottom" == l && this . $element . offset ( { top : a - e - s } ) } } ; var n = t . fn . affix ; t . fn . affix = e , t . fn . affix . Constructor = i , t . fn . affix . noConflict = function ( ) { return t . fn . affix = n , this } , t ( window ) . on ( "load" , function ( ) { t ( '[data-spy="affix"]' ) . each ( function ( ) { var i = t ( this ) , n = i . data ( ) ; n . offset = n . offset || { } , null != n . offsetBottom && ( n . offset . bottom = n . offsetBottom ) , null != n . offsetTop && ( n . offset . top = n . offsetTop ) , e . call ( i , n ) } ) } ) } ( jQuery ) , define ( "bootstrap" , [ "jquery" ] , function ( ) { } ) , void 0 === Common ) var Common = { } ; if ( define ( "notification" , [ "backbone" ] , function ( t ) { "use strict" ; v
; var o = void 0 == window . innerHeight ? document . documentElement . offsetWidth : Common . Utils . innerWidth ( ) , s = void 0 == window . innerHeight ? document . documentElement . offsetHeight : Common . Utils . innerHeight ( ) , a = this . initConfig . maxwidth ? this . initConfig . maxwidth : o , l = this . initConfig . maxheight ? this . initConfig . maxheight : s ; this . resizing . type [ 0 ] > 0 ? ( this . resizing . maxx = Math . min ( o , i + a ) , this . resizing . minx = i + this . initConfig . minwidth ) : this . resizing . type [ 0 ] < 0 && ( this . resizing . maxx = i + this . resizing . initw - this . initConfig . minwidth , this . resizing . minx = Math . max ( 0 , i + this . resizing . initw - a ) ) , this . resizing . type [ 1 ] > 0 ? ( this . resizing . maxy = Math . min ( s , n + l ) , this . resizing . miny = n + this . initConfig . minheight ) : this . resizing . type [ 1 ] < 0 && ( this . resizing . maxy = n + this . resizing . inith - this . initConfig . minheight , this . resizing . miny = Math . max ( 0 , n + this . resizing . inith - l ) ) , $ ( document . body ) . css ( "cursor" , e . css ( "cursor" ) ) , this . $window . find ( ".resize-border" ) . addClass ( "resizing" ) , this . $window . find ( ".header" ) . addClass ( "resizing" ) , $ ( document ) . on ( "mousemove" , this . binding . resize ) , $ ( document ) . on ( "mouseup" , this . binding . resizeStop ) , this . fireEvent ( "resize" , [ this , "start" ] ) } function h ( t ) { if ( this . resizing . enabled ) { var e = ! 1 , i = t instanceof jQuery . Event ? Common . Utils . zoom ( ) : 1 , n = t . pageX * i , o = t . pageY * i ; this . resizing . type [ 0 ] && n < this . resizing . maxx && n > this . resizing . minx && ( this . resizing . type [ 0 ] < 0 && this . $window . css ( { left : n - this . resizing . initx } ) , this . setWidth ( this . resizing . initw + ( n - this . resizing . initpage _x ) * this . resizing . type [ 0 ] ) , e = ! 0 ) , this . resizing . type [ 1 ] && o < this . resizing . maxy && o > this . resizing . miny && ( this . resizing . type [ 1 ] < 0 && this . $window . css ( { top : o - this . resizing . inity } ) , this . setHeight ( this . resizing . inith + ( o - this . resizing . initpage _y ) * this . resizing . type [ 1 ] ) , e = ! 0 ) , e && this . fireEvent ( "resizing" ) } } function d ( ) { $ ( document ) . off ( "mousemove" , this . binding . resize ) , $ ( document ) . off ( "mouseup" , this . binding . resizeStop ) , $ ( document . body ) . css ( "cursor" , "auto" ) , this . $window . find ( ".resize-border" ) . removeClass ( "resizing" ) , this . $window . find ( ".header" ) . removeClass ( "resizing" ) , this . resizing . enabled = ! 1 , this . fireEvent ( "resize" , [ this , "end" ] ) } var p = { closable : ! 0 , header : ! 0 , modal : ! 0 , width : "auto" , height : "auto" , title : "Title" , alias : "Window" , cls : "" , toolclose : "close" , maxwidth : void 0 , maxheight : void 0 , minwidth : 0 , minheight : 0 , enableKeyEvents : ! 0 } ; return Common . UI . alert = function ( t ) { function e ( e ) { var i = e . getChild ( ".info-box" ) , n = e . getChild ( ".info-box span" ) , o = e . getChild ( ".footer" ) , s = e . getChild ( ".header" ) , a = e . getChild ( ".body" ) , l = e . getChild ( ".icon" ) , r = l . length > 0 ? l . height ( ) : 0 , c = e . getChild ( ".info-box .dont-show-checkbox" ) ; t . dontshow || a . css ( "padding-bottom" , "10px" ) , t . maxwidth && "auto" == t . width && n . position ( ) . left + n . width ( ) + parseInt ( i . css ( "padding-right" ) ) > t . maxwidth && ( t . width = t . maxwidth ) , "auto" == t . width ? ( i . height ( Math . max ( n . height ( ) + ( c . length > 0 ? c . height ( ) + parseInt ( c . css ( "margin-top" ) ) : 0 ) , r ) ) , a . height ( parseInt ( i . css ( "height" ) ) + parseInt ( o . css ( "height" ) ) ) , e . setSize ( n . position ( ) . left + n . width ( ) + parseInt ( i . css ( "padding-right" ) ) , parseInt ( a . css ( "height" ) ) + parseInt ( s . css ( "height" ) ) ) ) : ( n . css ( "white-space" , "normal" ) , e . setWidth ( t . width ) , i . height ( Math . max ( n . height ( ) + ( c . length > 0 ? c . height ( ) + parseInt ( c . css ( "margin-top" ) ) : 0 ) , r ) ) , a . height ( parseInt ( i . css ( "height" ) ) + parseInt ( o . css ( "height" ) ) ) , e . setHeight ( parseInt ( a . css ( "height" ) ) + parseInt ( s . css ( "height" ) ) ) ) , n . height ( ) < r - 10 && n . css ( { "vertical-align" : "baseline" , "line-height" : r + "px" } ) } function i ( e ) { t . callback && t . callback . call ( l , e . currentTarget . attributes . result . value , ! ! r && "checked" == r . getValue ( ) ) , l . close ( ! 0 ) } function n ( t ) { return i ( { currentTarget : l . getChild ( ".footer .dlg-btn" ) [ 0 ] } ) , ! 1 } var o = this . Window . prototype , s = { ok : o . okButtonText , cancel : o . cancelButtonText , yes : o . yesButtonText , no : o . noButtonText , close : o . closeButtonText } ; if ( t . buttons ) { if ( _ . isArray ( t . buttons ) ) { void 0 == t . primary && ( t . primary = "ok" ) ; var a = { } ; _ . each ( t . buttons , function ( e ) { "object" == typeof e ? void 0 !== e . value && ( a [ e . value ] = { text : e . caption , cls : "custom" + ( e . primary || t . primary == e . value ? " primary" : "" ) } ) : ( a [ e ] = { text : "custom" == e ? t . customButtonText : s [ e ] , cls : t . primary == e ? "primary" : "" } , "custom" == e && ( a [ e ] . cls += " custom" ) ) } ) , t . buttons = a } } else t . buttons = { } , t . buttons . ok = { text : s . ok , cls : "primary" } ; t . donts
o ? ( i . resize . el = n . el = i . el . before ( '<div class="layout-resizer before"></div>' ) . prev ( ) , this . panels . splice ( this . panels . length - 1 , 0 , n ) ) : ( i . resize . el = n . el = i . el . after ( '<div class="layout-resizer after"></div>' ) . next ( ) , this . panels . push ( n ) ) , this . splitters . push ( { resizer : n } ) , i . resize . hidden && n . el . hide ( ) , Common . Gateway . on ( "processmouse" , this . resize . eventStop ) ) } , this ) , this . freezePanels ( this . freeze ) } , getElementHeight : function ( t ) { return parseInt ( t . css ( "height" ) ) } , getElementWidth : function ( t ) { return parseInt ( t . css ( "width" ) ) } , getItem : function ( t ) { for ( var e in this . panels ) { var i = this . panels [ e ] ; if ( i . alias == t ) return i } } , onSelectStart : function ( t ) { return t . preventDefault && t . preventDefault ( ) , ! 1 } , addHandler : function ( t , e , i ) { t . addEventListener ? t . addEventListener ( e , i ) : t . attachEvent ? t . attachEvent ( "on" + e , i ) : t [ "on" + e ] = i } , removeHandler : function ( t , e , i ) { t . removeEventListener ? t . removeEventListener ( e , i ) : t . detachEvent ? t . detachEvent ( "on" + e , i ) : t [ "on" + e ] = null } , clearSelection : function ( ) { if ( window . getSelection ) { var t = window . getSelection ( ) ; t . empty ? t . empty ( ) : t . removeAllRanges && t . removeAllRanges ( ) } else document . selection && document . selection . empty ( ) } , resizeStart : function ( t ) { if ( ! this . freeze ) { this . clearSelection ( ) , this . addHandler ( window . document , "selectstart" , this . onSelectStart ) , $ ( document ) . on ( { mousemove : this . resize . eventMove , mouseup : this . resize . eventStop } ) , Common . NotificationCenter . on ( { "frame:mousemove" : this . resize . eventMove , "frame:mouseup" : this . resize . eventStop } ) ; var e = t . data . panel ; this . resize . type = t . data . type , this . resize . $el = e . el , this . resize . min = e . minpos , this . resize . fmin = e . fmin , this . resize . fmax = e . fmax , this . resize . behaviour = e . behaviour , this . resize . $el . addClass ( "move" ) , "vertical" == t . data . type ? ( this . resize . height = parseInt ( this . resize . $el . css ( "height" ) ) , this . resize . max = ( e . maxpos > 0 ? e . maxpos : this . resize . $el . parent ( ) . height ( ) + e . maxpos ) - this . resize . height , this . resize . inity = t . pageY * Common . Utils . zoom ( ) - parseInt ( t . currentTarget . style . top ) ) : "horizontal" == t . data . type && ( this . resize . width = parseInt ( this . resize . $el . css ( "width" ) ) , this . resize . max = ( e . maxpos > 0 ? e . maxpos : this . resize . $el . parent ( ) . height ( ) + e . maxpos ) - this . resize . width , this . resize . initx = t . pageX * Common . Utils . zoom ( ) - parseInt ( t . currentTarget . style . left ) ) , Common . NotificationCenter . trigger ( "layout:resizestart" ) } } , resizeMove : function ( t ) { var e = t instanceof jQuery . Event ? Common . Utils . zoom ( ) : 1 ; if ( "vertical" == this . resize . type ) var i = "top" , n = t . pageY * e - this . resize . inity ; else "horizontal" == this . resize . type && ( i = "left" , n = t . pageX * e - this . resize . initx ) ; this . resize . fmin && this . resize . fmax ? n < this . resize . fmin ( ) || n > this . resize . fmax ( ) || ( this . resize . $el [ 0 ] . style [ i ] = n + "px" ) : n < this . resize . min || n > this . resize . max || ( this . resize . $el [ 0 ] . style [ i ] = n + "px" ) } , resizeStop : function ( t ) { if ( this . removeHandler ( window . document , "selectstart" , this . onSelectStart ) , $ ( document ) . off ( { mousemove : this . resize . eventMove , mouseup : this . resize . eventStop } ) , Common . NotificationCenter . off ( { "frame:mousemove" : this . resize . eventMove , "frame:mouseup" : this . resize . eventStop } ) , this . resize . $el ) { var e = t instanceof jQuery . Event ? Common . Utils . zoom ( ) : 1 ; if ( t instanceof jQuery . Event || void 0 !== t . pageY && void 0 !== t . pageX || ( t . pageY = t . y , t . pageX = t . x ) , "vertical" == this . resize . type ) var i = "height" , n = t . pageY * e - this . resize . inity ; else "horizontal" == this . resize . type && ( i = "width" , n = t . pageX * e - this . resize . initx ) ; this . resize . fmin && this . resize . fmax ? ( n < this . resize . fmin ( ) && ( n = this . resize . fmin ( ) ) , n > this . resize . fmax ( ) && ( n = this . resize . fmax ( ) ) ) : ( n < this . resize . min && ( n = this . resize . min ) , n > this . resize . max && ( n = this . resize . max ) ) ; var o = null , s = null , a = 0 ; this . resize . $el . hasClass ( "after" ) ? ( o = this . resize . $el . prev ( ) , s = this . resize . $el . next ( ) , a = parseInt ( o . css ( i ) ) ) : ( o = this . resize . $el . next ( ) , s = this . resize . $el . next ( ) , a = parseInt ( o . css ( i ) ) , n = o . parent ( ) [ i ] ( ) - ( n + this . resize [ i ] ) ) , "vertical" == this . resize . type && ( n -= o . position ( ) . top ) , "horizontal" == this . resize . type && ( n -= o . position ( ) . left ) , o . css ( i , n + "px" ) , this . resize . behaviour && s . css ( i , parseInt ( s . css ( i ) ) - ( n - a ) ) , this . resize . $el . removeClass ( "move" ) , delete this . resize . $el , this . resize . value != n && ( this . doLayout ( ) , this . trigger ( "layout:resizedrag" , this ) ) , Common . NotificationCenter . trigger ( "layout:resizestop" ) } } , freezePane
return ! 1 } , Common . Utils . InternalSettings = new function ( ) { var t = { } ; return { get : function ( e ) { return t [ e ] } , set : function ( e , i ) { t [ e ] = i } } } , Common . Utils . lockControls = function ( t , e , i , n ) { function o ( t , i ) { if ( t && _ . contains ( t . options . lock , i ) ) { var n = t . keepState . indexOf ( i ) ; e ? n < 0 && t . keepState . push ( i ) : n < 0 || t . keepState . splice ( n , 1 ) } } ! i && ( i = { } ) ; var s = i . array || n ; i . merge && ( s = _ . union ( n , s ) ) , _ . each ( s , function ( e ) { e && _ . isFunction ( e . setDisabled ) && ( ! e . keepState && ( e . keepState = [ ] ) , i . clear && i . clear . length > 0 && e . keepState . length > 0 && ( e . keepState = _ . difference ( e . keepState , i . clear ) ) , _ . isArray ( t ) ? _ . each ( t , function ( t ) { o ( e , t ) } ) : o ( e , t ) , e . keepState . length > 0 ? ! e . isDisabled ( ) && e . setDisabled ( ! 0 ) : e . isDisabled ( ) && e . setDisabled ( ! 1 ) ) } ) } , Common . Utils . injectButtons = function ( t , e , i , n , o , s , a , l ) { var r = createButtonSet ( ) ; return r . setDisabled ( ! 0 ) , e = e || "id-toolbar-" + i , t . each ( function ( c , h ) { var d = "btn-toolbar" ; /x-huge/ . test ( h . className ) && ( d += " x-huge icon-top" ) ; var p = new Common . UI . Button ( { id : e + c , cls : d , iconCls : i , caption : n , split : s || ! 1 , menu : a || ! 1 , enableToggle : l || ! 1 , lock : o , disabled : ! 0 } ) . render ( t . eq ( c ) ) ; r . add ( p ) } ) , r } , Common . Utils . injectComponent = function ( t , e ) { e && t . length && ( e . rendered ? t . append ( e . $el ) : e . render ( t ) ) } , Common . Utils . InternalSettings . set ( "toolbar-height-tabs" , 32 ) , Common . Utils . InternalSettings . set ( "toolbar-height-tabs-top-title" , 28 ) , Common . Utils . InternalSettings . set ( "toolbar-height-controls" , 67 ) , Common . Utils . InternalSettings . set ( "document-title-height" , 28 ) , Common . Utils . InternalSettings . set ( "toolbar-height-compact" , Common . Utils . InternalSettings . get ( "toolbar-height-tabs" ) ) , Common . Utils . InternalSettings . set ( "toolbar-height-normal" , Common . Utils . InternalSettings . get ( "toolbar-height-tabs" ) + Common . Utils . InternalSettings . get ( "toolbar-height-controls" ) ) , define ( "common/main/lib/util/utils" , function ( ) { } ) , function ( t ) { function e ( t , e ) { for ( var i = t . length ; i -- ; ) if ( t [ i ] === e ) return i ; return - 1 } function i ( t , e ) { if ( t . length != e . length ) return ! 1 ; for ( var i = 0 ; i < t . length ; i ++ ) if ( t [ i ] !== e [ i ] ) return ! 1 ; return ! 0 } function n ( t ) { for ( x in A ) A [ x ] = t [ M [ x ] ] } function o ( t ) { var i , o , s , a , r , c ; if ( i = t . keyCode , - 1 == e ( P , i ) && P . push ( i ) , 93 != i && 224 != i || ( i = 91 ) , i in A ) { A [ i ] = ! 0 ; for ( s in T ) T [ s ] == i && ( l [ s ] = ! 0 ) } else if ( n ( t ) , l . filter . call ( this , t ) && i in S ) for ( c = m ( ) , a = 0 ; a < S [ i ] . length ; a ++ ) if ( o = S [ i ] [ a ] , o . scope == c || "all" == o . scope ) { r = o . mods . length > 0 ; for ( s in A ) ( ! A [ s ] && e ( o . mods , + s ) > - 1 || A [ s ] && - 1 == e ( o . mods , + s ) ) && ( r = ! 1 ) ; ( 0 != o . mods . length || A [ 16 ] || A [ 18 ] || A [ 17 ] || A [ 91 ] ) && ! r || ( ! 0 === w || o . locked || ! 1 === o . method ( t , o ) ) && ( t . preventDefault ? t . preventDefault ( ) : t . returnValue = ! 1 , t . stopPropagation && t . stopPropagation ( ) , t . cancelBubble && ( t . cancelBubble = ! 0 ) ) } } function s ( t ) { var i , n = t . keyCode , o = e ( P , n ) ; if ( o >= 0 && P . splice ( o , 1 ) , 93 != n && 224 != n || ( n = 91 ) , n in A ) { A [ n ] = ! 1 ; for ( i in T ) T [ i ] == n && ( l [ i ] = ! 1 ) } } function a ( ) { for ( x in A ) A [ x ] = ! 1 ; for ( x in T ) l [ x ] = ! 1 } function l ( t , e , i ) { var n , o ; n = g ( t ) , void 0 === i && ( i = e , e = "all" ) ; for ( var s = 0 ; s < n . length ; s ++ ) o = [ ] , t = n [ s ] . split ( "+" ) , t . length > 1 && ( o = b ( t ) , t = [ t [ t . length - 1 ] ] ) , t = t [ 0 ] , t = E ( t ) , t in S || ( S [ t ] = [ ] ) , S [ t ] . push ( { shortcut : n [ s ] , scope : e , method : i , key : n [ s ] , mods : o } ) } function r ( t , e ) { var n , o , s , a , l , r = [ ] ; for ( n = g ( t ) , a = 0 ; a < n . length ; a ++ ) { if ( o = n [ a ] . split ( "+" ) , o . length > 1 && ( r = b ( o ) , t = o [ o . length - 1 ] ) , t = E ( t ) , void 0 === e && ( e = m ( ) ) , ! S [ t ] ) return ; for ( s in S [ t ] ) l = S [ t ] [ s ] , l . scope === e && i ( l . mods , r ) && ( S [ t ] [ s ] = { } ) } } function c ( t ) { return "string" == typeof t && ( t = E ( t ) ) , - 1 != e ( P , t ) } function h ( ) { return P . slice ( 0 ) } function d ( t ) { var e = ( t . target || t . srcElement ) . tagName ; return ! ( "INPUT" == e || "SELECT" == e || "TEXTAREA" == e ) } function p ( t ) { k = t || "all" } function m ( ) { return k || "all" } function u ( t ) { var e , i , n ; for ( e in S ) for ( i = S [ e ] , n = 0 ; n < i . length ; ) i [ n ] . scope === t ? i . splice ( n , 1 ) : n ++ } function g ( t ) { var e ; return t = t . replace ( /\s/g , "" ) , e = t . split ( "," ) , "" == e [ e . length - 1 ] && ( e [ e . length - 2 ] += "," ) , e } function b ( t ) { for ( var e = t . slice ( 0 , t . length - 1 ) , i = 0 ; i < e . length ; i ++ ) e [ i ] = T [ e [ i ] ] ; return e } function f ( t , e , i ) { t . addEventListener ? t . addEventListener ( e , i , ! 1 ) : t . attachEvent && t . attachEvent ( "on" + e , function ( ) { i ( window . event ) } ) } function C ( ) { var e = t . key ; return t . key = D , e } function v ( t , e , n , o ) { for ( var s , a , l , r = [ ] , c = g ( t ) , h = c . length ; h -- ; ) if ( s = c [ h ] . split ( "+" ) , s . length > 1 && ( r = b ( s ) , t = s [ s . length - 1 ] ) , t = E ( t ) , void 0 === e && ( e = m ( ) ) , S [ t ] ) for ( a in S [ t ] ) l = S [ t ] [ a ] , l . scope === e && i ( l .
var h = i . deltaX * i . deltaFactor || o , d = i . deltaY * i . deltaFactor || c ; if ( i && i . target && ( "textarea" === i . target . type || "input" === i . target . type ) ) { i . stopImmediatePropagation ( ) , i . preventDefault ( ) ; var p = t ( i . target ) . scrollTop ( ) , m = 0 ; return i . originalEvent ? i . originalEvent . wheelDelta ? m = i . originalEvent . wheelDelta : i . originalEvent . deltaY ? m = 40 * - i . originalEvent . deltaY : i . originalEvent . detail && ( m = i . originalEvent . detail ) : m = void 0 !== i . wheelDelta ? i . wheelDelta : i . deltaY , void t ( i . target ) . scrollTop ( p - m ) } e = ! 1 , s . useBothWheelAxes ? r && ! l ? ( d ? a . scrollTop ( a . scrollTop ( ) - d * s . wheelSpeed ) : a . scrollTop ( a . scrollTop ( ) + h * s . wheelSpeed ) , e = ! 0 ) : l && ! r && ( h ? a . scrollLeft ( a . scrollLeft ( ) + h * s . wheelSpeed ) : a . scrollLeft ( a . scrollLeft ( ) - d * s . wheelSpeed ) , e = ! 0 ) : ( a . scrollTop ( a . scrollTop ( ) - d * s . wheelSpeed ) , a . scrollLeft ( a . scrollLeft ( ) + h * s . wheelSpeed ) ) , P ( ) , ( e = e || F ( h , d ) ) && ( i . stopPropagation ( ) , i . preventDefault ( ) ) } ) , a . bind ( "MozMousePixelScroll" + A , function ( t ) { e && t . preventDefault ( ) } ) } , V = function ( ) { var e = ! 1 ; a . bind ( "mouseenter" + A , function ( t ) { e = ! 0 } ) , a . bind ( "mouseleave" + A , function ( t ) { e = ! 1 } ) ; var i = ! 1 ; t ( document ) . bind ( "keydown" + A , function ( n ) { if ( e && ! t ( document . activeElement ) . is ( ":input,[contenteditable]" ) ) { var o = 0 , s = 0 ; switch ( n . which ) { case 37 : o = - 30 ; break ; case 38 : s = 30 ; break ; case 39 : o = 30 ; break ; case 40 : s = - 30 ; break ; case 33 : s = 90 ; break ; case 32 : case 34 : s = - 90 ; break ; case 35 : s = - h ; break ; case 36 : s = h ; break ; default : return } a . scrollTop ( a . scrollTop ( ) - s ) , a . scrollLeft ( a . scrollLeft ( ) + o ) , i = F ( o , s ) , i && n . preventDefault ( ) } } ) } , R = function ( ) { var t = function ( t ) { t . stopPropagation ( ) } ; x . bind ( "click" + A , t ) , _ . bind ( "click" + A , function ( t ) { var e = parseInt ( b / 2 , 10 ) , i = t . pageY - _ . offset ( ) . top - e , n = C - b , o = i / n ; o < 0 ? o = 0 : o > 1 && ( o = 1 ) , a . scrollTop ( ( p - h ) * o ) } ) , y . bind ( "click" + A , t ) , v . bind ( "click" + A , function ( t ) { var e = parseInt ( m / 2 , 10 ) , i = t . pageX - v . offset ( ) . left - e , n = g - m , o = i / n ; o < 0 ? o = 0 : o > 1 && ( o = 1 ) , a . scrollLeft ( ( d - c ) * o ) } ) } , B = function ( ) { var e = function ( t , e ) { a . scrollTop ( a . scrollTop ( ) - e ) , a . scrollLeft ( a . scrollLeft ( ) - t ) , P ( ) } , i = { } , n = 0 , o = { } , s = null , l = ! 1 ; t ( window ) . bind ( "touchstart" + A , function ( t ) { l = ! 0 } ) , t ( window ) . bind ( "touchend" + A , function ( t ) { l = ! 1 } ) , a . bind ( "touchstart" + A , function ( t ) { var e = t . originalEvent . targetTouches [ 0 ] ; i . pageX = e . pageX , i . pageY = e . pageY , n = ( new Date ) . getTime ( ) , null !== s && clearInterval ( s ) , t . stopPropagation ( ) } ) , a . bind ( "touchmove" + A , function ( t ) { if ( ! l && 1 === t . originalEvent . targetTouches . length ) { var s = t . originalEvent . targetTouches [ 0 ] , a = { } ; a . pageX = s . pageX , a . pageY = s . pageY ; var r = a . pageX - i . pageX , c = a . pageY - i . pageY ; e ( r , c ) , i = a ; var h = ( new Date ) . getTime ( ) , d = h - n ; d > 0 && ( o . x = r / d , o . y = c / d , n = h ) , t . preventDefault ( ) } } ) , a . bind ( "touchend" + A , function ( t ) { clearInterval ( s ) , s = setInterval ( function ( ) { if ( Math . abs ( o . x ) < . 01 && Math . abs ( o . y ) < . 01 ) return void clearInterval ( s ) ; e ( 30 * o . x , 30 * o . y ) , o . x *= . 8 , o . y *= . 8 } , 10 ) } ) } , L = function ( ) { a . bind ( "scroll" + A , function ( t ) { P ( ) } ) } , N = function ( ) { a . unbind ( A ) , t ( window ) . unbind ( A ) , t ( document ) . unbind ( A ) , a . data ( "perfect-scrollbar" , null ) , a . data ( "perfect-scrollbar-update" , null ) , a . data ( "perfect-scrollbar-destroy" , null ) , y . remove ( ) , x . remove ( ) , v . remove ( ) , _ . remove ( ) , y = x = c = h = d = p = m = u = w = b = f = S = null } , O = function ( e ) { a . addClass ( "ie" ) . addClass ( "ie" + e ) ; 6 === e && ( function ( ) { var e = function ( ) { t ( this ) . addClass ( "hover" ) } , i = function ( ) { t ( this ) . removeClass ( "hover" ) } ; a . bind ( "mouseenter" + A , e ) . bind ( "mouseleave" + A , i ) , v . bind ( "mouseenter" + A , e ) . bind ( "mouseleave" + A , i ) , _ . bind ( "mouseenter" + A , e ) . bind ( "mouseleave" + A , i ) , y . bind ( "mouseenter" + A , e ) . bind ( "mouseleave" + A , i ) , x . bind ( "mouseenter" + A , e ) . bind ( "mouseleave" + A , i ) } ( ) , function ( ) { E = function ( ) { y . css ( { left : u + a . scrollLeft ( ) , bottom : w , width : m } ) , x . css ( { top : f + a . scrollTop ( ) , right : S , height : b } ) , y . hide ( ) . show ( ) , x . hide ( ) . show ( ) } } ( ) ) } , H = "ontouchstart" in window || window . DocumentTouch && document instanceof window . DocumentTouch ; return function ( ) { var t = navigator . userAgent . toLowerCase ( ) . match ( /(msie) ([\w.]+)/ ) ; t && "msie" === t [ 1 ] && O ( parseInt ( t [ 2 ] , 10 ) ) , P ( ) , L ( ) , M ( ) , D ( ) , R ( ) , H && B ( ) , a . mousewheel && U ( ) , s . useKeyboard && V ( ) , a . data ( "perfect-scrollbar" , a ) , a . data ( "perfect-scrollbar-update" , P ) , a . data ( "perfect-scrollbar-destroy" , N ) } ( ) , a } ) } } ) , void 0 === Common ) var Common = { } ; if ( define ( "common/main/lib/component/Scroller" , [ "jmousewheel" , "perfectscrollbar" , "common/main/lib/component/BaseView" ] , function ( ) { "use strict" ; Com
maxHeight : 200 , cyclic : ! 1 , items : [ ] } ) . on ( "render:after" , function ( t ) { t . cmpEl . removeAttr ( "oo_editor_input" ) . attr ( "oo_editor_keyboard" , ! 0 ) } ) , t . fireEvent ( "createdelayedelements" , [ t ] ) } , setMenuItemCommentCaptionMode : function ( t , e , i ) { t . setCaption ( e ? this . txtAddComment : i ? this . txtEditComment : this . txtShowComment , ! 0 ) } , txtSort : "Sort" , txtAscending : "Ascending" , txtDescending : "Descending" , txtFormula : "Insert Function" , txtInsHyperlink : "Hyperlink" , txtCut : "Cut" , txtCopy : "Copy" , txtPaste : "Paste" , txtInsert : "Insert" , txtDelete : "Delete" , txtClear : "Clear" , txtClearAll : "All" , txtClearText : "Text" , txtClearFormat : "Format" , txtClearHyper : "Hyperlink" , txtClearComments : "Comments" , txtShiftRight : "Shift cells right" , txtShiftLeft : "Shift cells left" , txtShiftUp : "Shift cells up" , txtShiftDown : "Shift cells down" , txtRow : "Entire Row" , txtColumn : "Entire Column" , txtColumnWidth : "Set Column Width" , txtRowHeight : "Set Row Height" , txtWidth : "Width" , txtHide : "Hide" , txtShow : "Show" , textArrangeFront : "Bring To Front" , textArrangeBack : "Send To Back" , textArrangeForward : "Bring Forward" , textArrangeBackward : "Send Backward" , txtArrange : "Arrange" , txtAddComment : "Add Comment" , txtEditComment : "Edit Comment" , txtUngroup : "Ungroup" , txtGroup : "Group" , topCellText : "Align Top" , centerCellText : "Align Middle" , bottomCellText : "Align Bottom" , vertAlignText : "Vertical Alignment" , txtTextAdvanced : "Text Advanced Settings" , editHyperlinkText : "Edit Hyperlink" , removeHyperlinkText : "Remove Hyperlink" , editChartText : "Edit Data" , advancedShapeText : "Shape Advanced Settings" , chartText : "Chart Advanced Settings" , directionText : "Text Direction" , directHText : "Horizontal" , direct90Text : "Rotate Text Down" , direct270Text : "Rotate Text Up" , txtAddNamedRange : "Define Name" , textFreezePanes : "Freeze Panes" , textUnFreezePanes : "Unfreeze Panes" , txtSelect : "Select" , selectRowText : "Row" , selectColumnText : "Entire Column" , selectDataText : "Column Data" , selectTableText : "Table" , insertRowAboveText : "Row Above" , insertRowBelowText : "Row Below" , insertColumnLeftText : "Column Left" , insertColumnRightText : "Column Right" , deleteRowText : "Row" , deleteColumnText : "Column" , deleteTableText : "Table" , txtFilter : "Filter" , txtFilterValue : "Filter by Selected cell's value" , txtFilterCellColor : "Filter by cell's color" , txtFilterFontColor : "Filter by font color" , txtReapply : "Reapply" , txtSortCellColor : "Selected Cell Color on top" , txtSortFontColor : "Selected Font Color on top" , txtAutoColumnWidth : "Auto Fit Column Width" , txtAutoRowHeight : "Auto Fit Row Height" , txtCustomColumnWidth : "Custom Column Width" , txtCustomRowHeight : "Custom Row Height" , textEntriesList : "Select from drop-down list" , txtSparklines : "Sparklines" , txtClearSparklines : "Clear Selected Sparklines" , txtClearSparklineGroups : "Clear Selected Sparkline Groups" , txtShowComment : "Show Comment" , advancedImgText : "Image Advanced Settings" , textNone : "None" , bulletsText : "Bullets and Numbering" , textUndo : "Undo" , strSign : "Sign" , strDetails : "Signature Details" , strSetup : "Signature Setup" , strDelete : "Remove Signature" , originalSizeText : "Default Size" , textReplace : "Replace image" , textFromUrl : "From URL" , textFromFile : "From File" , txtNumFormat : "Number Format" , txtGeneral : "General" , txtNumber : "Number" , txtScientific : "Scientific" , txtAccounting : "Accounting" , txtCurrency : "Currency" , txtDate : "Date" , txtTime : "Time" , txtPercentage : "Percentage" , txtFraction : "Fraction" , txtText : "Text" , textMoreFormats : "More formats" , textShapeAlignLeft : "Align Left" , textShapeAlignRight : "Align Right" , textShapeAlignCenter : "Align Center" , textShapeAlignTop : "Align Top" , textShapeAlignBottom : "Align Bottom" , textShapeAlignMiddle : "Align Middle" , txtDistribHor : "Distribute Horizontally" , txtDistribVert : "Distribute Vertically" , textRotate270 : "Rotate 90° Counterclockwise" , textRotate90 : "Rotate 90° Clockwise" , textFlipV : "Flip Vertically" , textFlipH : "Flip Horizontally" , textRotate : "Rotate" , textArrange : "Arrange" , textAlign : "Align" , textCrop : "Crop" , textCropFill : "Fill" , textCropFit : "Fit" } , SSE . Views . DocumentHolder || { } ) ) } ) , void 0 === Common ) var Common = { } ; if ( define ( "common/main/lib/component/ComboBox" , [ "common/main/lib/component/BaseView" , "common/main/lib/component/Scroller" ] , function ( ) { "use strict" ; Common . UI . ComboBoxModel = Backbone . Model . extend ( { defau
t . asc _setTooltip ( this . inputTip . getValue ( ) ) , t } , onBtnClick : function ( t ) { this . _handleInput ( t . currentTarget . attributes . result . value ) } , onPrimary : function ( t ) { return this . _handleInput ( "ok" ) , ! 1 } , _handleInput : function ( t ) { if ( this . options . handler ) { if ( "ok" == t ) { var e = ! this . btnExternal . isActive ( ) || this . inputUrl . checkValidate ( ) , i = ! this . btnInternal . isActive ( ) || this . inputRange . checkValidate ( ) , n = this . inputDisplay . checkValidate ( ) ; if ( ! 0 !== e ) return void this . inputUrl . cmpEl . find ( "input" ) . focus ( ) ; if ( ! 0 !== i ) return void this . inputRange . cmpEl . find ( "input" ) . focus ( ) ; if ( ! 0 !== n ) return void this . inputDisplay . cmpEl . find ( "input" ) . focus ( ) } this . options . handler . call ( this , this , t ) } this . close ( ) } , ShowHideElem : function ( t ) { this . externalPanel . toggleClass ( "hidden" , t !== Asc . c _oAscHyperlinkType . WebLink ) , this . internalPanel . toggleClass ( "hidden" , t !== Asc . c _oAscHyperlinkType . RangeLink ) } , onLinkTypeClick : function ( t , e , i ) { this . ShowHideElem ( t ) } , textTitle : "Hyperlink Settings" , textInternalLink : "Internal Data Range" , textExternalLink : "Web Link" , textEmptyLink : "Enter link here" , textEmptyDesc : "Enter caption here" , textEmptyTooltip : "Enter tooltip here" , strSheet : "Sheet" , strRange : "Range" , strDisplay : "Display" , textTipText : "Screen Tip Text" , strLinkTo : "Link To" , txtEmpty : "This field is required" , textInvalidRange : "ERROR! Invalid cells range" , txtNotUrl : 'This field should be a URL in the format "http://www.example.com"' , cancelButtonText : "Cancel" , textDefault : "Selected range" } , SSE . Views . HyperlinkSettingsDialog || { } ) ) } ) , define ( "text!spreadsheeteditor/main/app/template/ParagraphSettingsAdvanced.template" , [ ] , function ( ) { return ' < div id = "id-adv-paragraph-indents" class = "settings-panel active" > \ r \ n < div class = "inner-content" > \ r \ n < div > \ r \ n < div class = "padding-large" style = "display: inline-block;" > \ r \ n < label class = "input-label" > < %= scope . textAlign % > < / l a b e l > \ r \ n < d i v i d = " p a r a g r a p h a d v - s p i n - t e x t - a l i g n m e n t " > < / d i v > \ r \ n < / d i v > \ r \ n < / d i v > \ r \ n < d i v s t y l e = " p a d d i n g - b o t t o m : 4 p x ; " > < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . s t r I n d e n t % > < / l a b e l > < / d i v > \ r \ n < d i v > \ r \ n < d i v c l a s s = " p a d d i n g - l a r g e " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . s t r I n d e n t s L e f t T e x t % > < / l a b e l > \ r \ n < d i v i d = " p a r a g r a p h a d v - s p i n - i n d e n t - l e f t " > < / d i v > \ r \ n < / d i v > \ r \ n < d i v c l a s s = " p a d d i n g - l a r g e " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . s t r I n d e n t s R i g h t T e x t % > < / l a b e l > \ r \ n < d i v i d = " p a r a g r a p h a d v - s p i n - i n d e n t - r i g h t " > < / d i v > \ r \ n < / d i v > \ r \ n < d i v c l a s s = " p a d d i n g - l a r g e " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > \ r \ n < d i v > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . s t r I n d e n t s S p e c i a l % > < / l a b e l > \ r \ n < / d i v > \ r \ n < d i v > \ r \ n < d i v i d = " p a r a g r a p h a d v - s p i n - s p e c i a l " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > < / d i v > \ r \ n < d i v i d = " p a r a g r a p h a d v - s p i n - s p e c i a l - b y " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > < / d i v > \ r \ n < / d i v > \ r \ n < / d i v > \ r \ n < / d i v > \ r \ n < d i v s t y l e = " p a d d i n g - b o t t o m : 4 p x ; " > < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . s t r S p a c i n g % > < / l a b e l > < / d i v > \ r \ n < d i v > \ r \ n < d i v s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . s t r I n d e n t s S p a c i n g B e f o r e % > < / l a b e l > \ r \ n < d i v i d = " p a r a g r a p h a d v - s p i n - s p a c i n g - b e f o r e " > < / d i v > \ r \ n < / d i v > \ r \ n < d i v s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . s t r I n d e n t s S p a c i n g A f t e r % > < / l a b e l > \ r \ n < d i v i d = " p a r a g r a p h a d v - s p i n - s p a c i n g - a f t e r " > < / d i v > \ r \ n < / d i v > \ r \ n < d i v s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > \ r \ n < d i v > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . s t r I n d e n t s L i n e S p a c i n g % > < / l a b e l > \ r \ n < / d i v > \ r \ n < d i v > \ r \ n < d i v i d = " p a r a g r a p h a d v - s p i n - l i n e - r u l e " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > < / d i v > \ r \ n < d i v i d = " p a r a g r a p h a d v - s p i n - l i n e - h e i g h t " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > < / d i v > \ r \ n
this . store . length < 1 && this . emptyText . length > 0 && $ ( this . el ) . find ( ".inner" ) . addBack ( ) . filter ( ".inner" ) . append ( '<table cellpadding="10" class="empty-text"><tr><td>' + this . emptyText + "</td></tr></table>" ) , _ . each ( this . dataViewItems , function ( t ) { this . stopListening ( t ) , t . stopListening ( t . model ) } , this ) , this . dataViewItems = [ ] , this . store . each ( this . onAddItem , this ) , this . allowScrollbar && ( this . scroller = new Common . UI . Scroller ( { el : $ ( this . el ) . find ( ".inner" ) . addBack ( ) . filter ( ".inner" ) , useKeyboard : this . enableKeyEvents && ! this . handleSelect , minScrollbarLength : 40 , wheelSpeed : 10 , alwaysVisibleY : this . scrollAlwaysVisible } ) ) , this . disabled && this . setDisabled ( this . disabled ) , this . attachKeyEvents ( ) , this . lastSelectedRec = null , this . _layoutParams = void 0 } , onChangeItem : function ( t , e ) { this . isSuspendEvents || this . trigger ( "item:change" , this , t , e ) } , onRemoveItem : function ( t , e ) { var i = t . $el . data ( "bs.tooltip" ) ; if ( i && ( void 0 === i . dontShow && ( i . dontShow = ! 0 ) , i . tip ( ) . remove ( ) ) , this . stopListening ( t ) , t . stopListening ( ) , this . store . length < 1 && this . emptyText . length > 0 ) { var n = $ ( this . el ) . find ( ".inner" ) . addBack ( ) . filter ( ".inner" ) ; n . find ( ".empty-text" ) . length <= 0 && n . append ( '<table cellpadding="10" class="empty-text"><tr><td>' + this . emptyText + "</td></tr></table>" ) } for ( var o = 0 ; o < this . dataViewItems . length ; o ++ ) if ( _ . isEqual ( t , this . dataViewItems [ o ] ) ) { this . dataViewItems . splice ( o , 1 ) ; break } this . isSuspendEvents || this . trigger ( "item:remove" , this , t , e ) } , onClickItem : function ( t , e , i ) { if ( ! this . disabled ) { window . _event = i , this . showLast && this . selectRecord ( e ) , this . lastSelectedRec = null ; var n = t . $el . data ( "bs.tooltip" ) ; n && n . tip ( ) . remove ( ) , this . isSuspendEvents || this . trigger ( "item:click" , this , t , e , i ) } } , onDblClickItem : function ( t , e , i ) { this . disabled || ( window . _event = i , this . showLast && this . selectRecord ( e ) , this . lastSelectedRec = null , this . isSuspendEvents || this . trigger ( "item:dblclick" , this , t , e , i ) ) } , onSelectItem : function ( t , e , i ) { this . isSuspendEvents || this . trigger ( i ? "item:select" : "item:deselect" , this , t , e , this . _fromKeyDown ) } , onContextMenuItem : function ( t , e , i ) { this . isSuspendEvents || this . trigger ( "item:contextmenu" , this , t , e , i ) } , scrollToRecord : function ( t ) { if ( t ) { var e = $ ( this . el ) . find ( ".inner" ) , i = e . offset ( ) . top , n = _ . indexOf ( this . store . models , t ) , o = n >= 0 && this . dataViewItems . length > n ? $ ( this . dataViewItems [ n ] . el ) : e . find ( "#" + t . get ( "id" ) ) ; if ( ! ( o . length <= 0 ) ) { var s = o . offset ( ) . top , a = $ ( this . dataViewItems [ 0 ] . el ) , l = a . length > 0 ? a [ 0 ] . offsetTop : 0 ; ( s < i + l || s + o . outerHeight ( ) > i + e . height ( ) ) && ( this . scroller && this . allowScrollbar ? this . scroller . scrollTop ( e . scrollTop ( ) + s - i - l , 0 ) : e . scrollTop ( e . scrollTop ( ) + s - i - l ) ) } } } , onKeyDown : function ( t , e ) { if ( ! this . disabled ) if ( void 0 === e && ( e = t ) , _ . indexOf ( this . moveKeys , e . keyCode ) > - 1 || e . keyCode == Common . UI . Keys . RETURN ) { e . preventDefault ( ) , e . stopPropagation ( ) ; var i = this . getSelectedRec ( ) ; if ( null === this . lastSelectedRec && ( this . lastSelectedRec = i ) , e . keyCode == Common . UI . Keys . RETURN ) this . lastSelectedRec = null , this . selectedBeforeHideRec && ( i = this . selectedBeforeHideRec ) , this . trigger ( "item:click" , this , this , i , t ) , this . trigger ( "item:select" , this , this , i , t ) , this . trigger ( "entervalue" , this , i , t ) , this . parentMenu && this . parentMenu . hide ( ) ; else { var n = _ . indexOf ( this . store . models , i ) ; if ( n < 0 ) if ( e . keyCode == Common . UI . Keys . LEFT ) { var o = $ ( t . target ) . closest ( ".dropdown-submenu.over" ) ; o . length > 0 ? ( o . removeClass ( "over" ) , o . find ( "> a" ) . focus ( ) ) : n = 0 } else n = 0 ; else if ( "both" == this . options . keyMoveDirection ) { void 0 === this . _layoutParams && this . fillIndexesArray ( ) ; var s = this . dataViewItems [ n ] . topIdx , a = this . dataViewItems [ n ] . leftIdx ; if ( n = void 0 , e . keyCode == Common . UI . Keys . LEFT ) for ( ; void 0 === n ; ) { if ( -- a < 0 ) { var o = $ ( t . target ) . closest ( ".dropdown-submenu.over" ) ; if ( o . length > 0 ) { o . removeClass ( "over" ) , o . find ( "> a" ) . focus ( ) ; break } a = this . _layoutParams . columns - 1 } n = this . _layoutParams . itemsIndexes [ s ] [ a ] } else if ( e . keyCode == Common . UI . Keys . RIGHT ) for ( ; void 0 === n ; ) a ++ , a > this . _layoutParams . columns - 1 && ( a = 0 ) , n = this . _layoutParams . itemsIndexes [ s ] [ a ] ; else if ( e . keyCode == Common . UI . Keys . UP ) for ( ; void 0 === n ; ) s -- , s < 0 && ( s = this . _layoutParams . rows - 1 ) , n = this . _layoutParams . itemsIndexes [ s ] [ a ] ; else for ( ; void 0 === n ; ) s ++ , s > this . _layoutParams . rows - 1 && ( s = 0 ) , n = this . _layoutParams . itemsIndexes [ s ] [ a ] } else n = e . keyCode == Common . UI . Keys . UP || e . keyCode == Com
return '<div id="id-adv-image-rotate" class="settings-panel active">\n <div class="inner-content padding-large">\n <div style="width: 100%;">\n <label class="input-label"><%= scope.textAngle %></label>\n <div id="image-advanced-spin-angle" style="display: inline-block; margin-left: 5px;"></div>\n </div>\n </div>\n <div class="separator horizontal padding-large"></div>\n <div class="inner-content padding-large">\n <table cols="2">\n <tr>\n <td rowspan="2" class="padding-small" style="vertical-align: top;">\n <label class="input-label" style="margin-right: 15px;vertical-align: top;"><%= scope.textFlipped %></label>\n </td>\n <td class="padding-small">\n <div id="image-advanced-checkbox-hor"></div>\n </td>\n </tr>\n <tr>\n <td class="padding-small">\n <div id="image-advanced-checkbox-vert"></div>\n </td>\n </tr>\n </table>\n </div>\n</div>\n<div id="id-adv-image-alttext" class="settings-panel active">\n <div class="inner-content">\n <table cols="1" width="100%">\n <tr>\n <td class="padding-large">\n <label class="header"><%= scope.textAltTitle %></label>\n <div id="image-advanced-alt-title"></div>\n </td>\n </tr>\n <tr>\n <td>\n <label class="header"><%= scope.textAltDescription %></label>\n <textarea id="image-advanced-alt-description" class="form-control" style="width: 100%; height: 70px;"></textarea>\n </td>\n </tr>\n <tr>\n <td>\n <label><%= scope.textAltTip %></label>\n </td>\n </tr>\n </table>\n </div>\n</div>' } ) , define ( "spreadsheeteditor/main/app/view/ImageSettingsAdvanced" , [ "text!spreadsheeteditor/main/app/template/ImageSettingsAdvanced.template" , "common/main/lib/view/AdvancedSettingsWindow" , "common/main/lib/component/InputField" , "common/main/lib/component/MetricSpinner" , "common/main/lib/component/CheckBox" ] , function ( t ) { "use strict" ; SSE . Views . ImageSettingsAdvanced = Common . Views . AdvancedSettingsWindow . extend ( _ . extend ( { options : { contentWidth : 300 , height : 342 , toggleGroup : "image-adv-settings-group" , properties : null , storageName : "sse-image-settings-adv-category" } , initialize : function ( e ) { _ . extend ( this . options , { title : this . textTitle , items : [ { panelId : "id-adv-image-rotate" , panelCaption : this . textRotation } , { panelId : "id-adv-image-alttext" , panelCaption : this . textAlt } ] , contentTemplate : _ . template ( t ) ( { scope : this } ) } , e ) , Common . Views . AdvancedSettingsWindow . prototype . initialize . call ( this , this . options ) , this . _originalProps = this . options . imageProps , this . _changedProps = null } , render : function ( ) { Common . Views . AdvancedSettingsWindow . prototype . render . call ( this ) ; var t = this ; this . spnAngle = new Common . UI . MetricSpinner ( { el : $ ( "#image-advanced-spin-angle" ) , step : 1 , width : 80 , defaultUnit : "°" , value : "0 °" , maxValue : 3600 , minValue : - 3600 } ) , this . chFlipHor = new Common . UI . CheckBox ( { el : $ ( "#image-advanced-checkbox-hor" ) , labelText : this . textHorizontally } ) , this . chFlipVert = new Common . UI . CheckBox ( { el : $ ( "#image-advanced-checkbox-vert" ) , labelText : this . textVertically } ) , this . inputAltTitle = new Common . UI . InputField ( { el : $ ( "#image-advanced-alt-title" ) , allowBlank : ! 0 , validateOnBlur : ! 1 , style : "width: 100%;" } ) . on ( "changed:after" , function ( ) { t . isAltTitleChanged = ! 0 } ) , this . textareaAltDescription = this . $window . find ( "textarea" ) , this . textareaAltDescription . keydown ( function ( e ) { e . keyCode == Common . UI . Keys . RETURN && e . stopPropagation ( ) , t . isAltDescChanged = ! 0 } ) , this . afterRender ( ) } , afterRender : function ( ) { if ( this . _setDefaults ( this . _originalProps ) , this . storageName ) { var t = Common . localStorage . getItem ( this . storageName ) ; this . setActiveCategory ( null !== t ? parseInt ( t ) : 0 ) } } , _setDefaults : function ( t ) { if ( t ) { var e = t . asc _getTitle ( ) ; this . inputAltTitle . setValue ( e || "" ) , e = t . asc _getDescription ( ) , this . textareaAltDescr
this . mnuFilterColorCellsPicker = new Common . UI . ColorPaletteExt ( { el : $ ( "#filter-dlg-filter-cells-color" ) , colors : [ ] } ) , this . mnuFilterColorCellsPicker . on ( "select" , _ . bind ( this . onFilterColorSelect , this , ! 0 ) ) , this . mnuFilterColorFontPicker = new Common . UI . ColorPaletteExt ( { el : $ ( "#filter-dlg-filter-font-color" ) , colors : [ ] } ) , this . mnuFilterColorFontPicker . on ( "select" , _ . bind ( this . onFilterColorSelect , this , ! 1 ) ) , this . input = new Common . UI . InputField ( { el : $ ( "#id-sd-cell-search" , this . $window ) , allowBlank : ! 0 , placeHolder : this . txtEmpty , validateOnChange : ! 0 , validation : function ( ) { return ! 0 } } ) . on ( "changing" , function ( e , i ) { i . length ? ( i = i . replace ( /([.?*+^$[\]\\(){}|-])/g , "\\$1" ) , t . filter = new RegExp ( i , "ig" ) ) : t . filter = void 0 , t . setupDataCells ( ) } ) , this . cells = new Common . UI . DataViewStore , this . filterExcludeCells = new Common . UI . DataViewStore , this . cells && ( this . cellsList = new Common . UI . ListView ( { el : $ ( "#id-dlg-filter-values" , this . $window ) , store : this . cells , simpleAddMode : ! 0 , template : _ . template ( [ '<div class="listview inner" style="border:none;"></div>' ] . join ( "" ) ) , itemTemplate : _ . template ( [ "<div>" , '<label class="checkbox-indeterminate" style="position:absolute;">' , '<% if (check=="indeterminate") { %>' , '<input type="button" class="indeterminate img-commonctrl"/>' , "<% } else if (check) { %>" , '<input type="button" class="checked img-commonctrl"/>' , "<% } else { %>" , '<input type="button" class="img-commonctrl"/>' , "<% } %>" , "</label>" , '<div id="<%= id %>" class="list-item" style="pointer-events:none; margin-left: 20px;display: flex;">' , '<div style="flex-grow: 1;"><%= Common.Utils.String.htmlEncode(value) %></div>' , '<% if (typeof count !=="undefined" && count) { %>' , '<div style="word-break: normal; margin-left: 10px; color: #afafaf;"><%= count%></div>' , "<% } %>" , "</div>" , "</div>" ] . join ( "" ) ) } ) , this . cellsList . store . comparator = function ( t , e ) { if ( "0" == t . get ( "groupid" ) ) return - 1 ; if ( "0" == e . get ( "groupid" ) ) return 1 ; if ( "2" == t . get ( "groupid" ) ) return - 1 ; if ( "2" == e . get ( "groupid" ) ) return 1 ; var i = t . get ( "intval" ) , n = e . get ( "intval" ) , o = void 0 !== i ; return o !== ( void 0 !== n ) ? o ? - 1 : 1 : ( ! o && ( i = t . get ( "cellvalue" ) . toLowerCase ( ) ) && ( n = e . get ( "cellvalue" ) . toLowerCase ( ) ) , i == n ? 0 : "" == n || "" !== i && i < n ? - 1 : 1 ) } , this . cellsList . on ( "item:select" , _ . bind ( this . onCellCheck , this ) ) , this . cellsList . onKeyDown = _ . bind ( this . onListKeyDown , this ) ) , this . setupDataCells ( ) , this . _setDefaults ( ) ; var s = function ( e ) { t . _skipCheckDocumentClick || $ ( e . target ) . closest ( ".filter-dlg" ) . length <= 0 && t . close ( ) } ; this . on ( "close" , function ( ) { $ ( document . body ) . off ( "mousedown" , s ) } ) , _ . delay ( function ( ) { $ ( document . body ) . on ( "mousedown" , s ) } , 100 , this ) , Common . Utils . InternalSettings . get ( "sse-settings-size-filter-window" ) && ( this . $window . find ( ".combo-values" ) . css ( { height : Common . Utils . InternalSettings . get ( "sse-settings-size-filter-window" ) [ 1 ] - 103 + "px" } ) , this . cellsList . scroller . update ( { minScrollbarLength : 40 , alwaysVisibleY : ! 0 , suppressScrollX : ! 0 } ) ) } , show : function ( t , e ) { Common . UI . Window . prototype . show . call ( this , t , e ) ; var i = this ; this . input && _ . delay ( function ( ) { i . input . $el . find ( "input" ) . focus ( ) } , 500 , this ) } , onBtnClick : function ( t ) { t . currentTarget . attributes && t . currentTarget . attributes . result && "cancel" === t . currentTarget . attributes . result . value && this . close ( ) } , onApplyFilter : function ( ) { this . testFilter ( ) && ( this . save ( ) , this . close ( ) ) } , onSortType : function ( t ) { this . api && this . configTo && this . api . asc _sortColFilter ( t , this . configTo . asc _getCellId ( ) , this . configTo . asc _getDisplayName ( ) ) , this . close ( ) } , onNumCustomFilterItemClick : function ( t ) { var e = this . configTo . asc _getFilterObj ( ) , i = "" , n = "" , o = Asc . c _oAscCustomAutoFilter . equals , s = 0 , a = ! 0 ; if ( e . asc _getType ( ) == Asc . c _oAscAutoFilterTypes . CustomFilters ) { var l = e . asc _getFilter ( ) , r = l . asc _getCustomFilters ( ) ; a = l . asc _getAnd ( ) , o = r [ 0 ] . asc _getOperator ( ) , s = r . length > 1 ? r [ 1 ] . asc _getOperator ( ) || 0 : 0 , i = null === r [ 0 ] . asc _getVal ( ) ? "" : r [ 0 ] . asc _getVal ( ) , n = r . length > 1 ? null === r [ 1 ] . asc _getVal ( ) ? "" : r [ 1 ] . asc _getVal ( ) : "" } if ( - 1 !== t . value ) { var c = new Asc . CustomFilters ; c . asc _setCustomFilters ( - 2 == t . value ? [ new Asc . CustomFilter , new Asc . CustomFilter ] : [ new Asc . CustomFilter ] ) ; var h = c . asc _getCustomFilters ( ) ; if ( h [ 0 ] . asc _setOperator ( - 2 == t . value ? Asc . c _oAscCustomAutoFilter . isGreaterThanOrEqualTo : t . value ) , - 2 == t . value ) { var d = o
if ( "row-height" == e . value || "column-width" == e . value ) { var i = this ; new SSE . Views . SetValueDialog ( { title : e . caption , startvalue : "row-height" == e . value ? i . api . asc _getRowHeight ( ) : i . api . asc _getColumnWidth ( ) , maxvalue : "row-height" == e . value ? Asc . c _oAscMaxRowHeight : Asc . c _oAscMaxColumnWidth , step : "row-height" == e . value ? . 75 : 1 , rounding : "row-height" == e . value , defaultUnit : "row-height" == e . value ? Common . Utils . Metric . getMetricName ( Common . Utils . Metric . c _MetricUnits . pt ) : i . textSym , handler : function ( t , n ) { if ( "ok" == n ) { var o = t . getSettings ( ) ; isNaN ( o ) || ( "row-height" == e . value ? i . api . asc _setRowHeight ( o ) : i . api . asc _setColumnWidth ( o ) ) } Common . NotificationCenter . trigger ( "edit:complete" , i . documentHolder ) } } ) . show ( ) } else "auto-row-height" == e . value ? this . api . asc _autoFitRowHeight ( ) : this . api . asc _autoFitColumnWidth ( ) , Common . NotificationCenter . trigger ( "edit:complete" , this . documentHolder ) } , onEntireHide : function ( t ) { this . api && this . api [ t . isrowmenu ? "asc_hideRows" : "asc_hideColumns" ] ( ) } , onEntireShow : function ( t ) { this . api && this . api [ t . isrowmenu ? "asc_showRows" : "asc_showColumns" ] ( ) } , onFreezePanes : function ( t ) { this . api && this . api . asc _freezePane ( ) } , onEntriesList : function ( t ) { if ( this . api ) { var e = this ; setTimeout ( function ( ) { e . api . asc _showAutoComplete ( ) } , 10 ) } } , onAddComment : function ( t ) { if ( this . api && this . permissions . canCoAuthoring && this . permissions . canComments ) { var e = SSE . getController ( "Common.Controllers.Comments" ) , i = this . api . asc _getCellInfo ( ) ; if ( e ) { var n = i . asc _getComments ( ) ; n . length ? e . onEditComments ( n ) : ( this . permissions . canCoAuthoring || this . commentsCollection . getCommentsReplysCount ( ) < 3 ) && e . addDummyComment ( ) } } } , onAddNamedRange : function ( t ) { if ( this . namedrange _locked ) return void Common . NotificationCenter . trigger ( "namedrange:locked" ) ; for ( var e = this , i = e . api . asc _getWorksheetsCount ( ) , n = - 1 , o = [ ] ; ++ n < i ; ) this . api . asc _isWorksheetHidden ( n ) || o . push ( { displayValue : e . api . asc _getWorksheetName ( n ) , value : n } ) ; var s = function ( t , i ) { "ok" == t && i && ( e . api . asc _setDefinedNames ( i ) , Common . component . Analytics . trackEvent ( "DocumentHolder" , "New Named Range" ) ) , Common . NotificationCenter . trigger ( "edit:complete" , e . documentHolder ) } ; new SSE . Views . NamedRangeEditDlg ( { api : e . api , handler : s , sheets : o , currentSheet : e . api . asc _getActiveWorksheetIndex ( ) , props : e . api . asc _getDefaultDefinedName ( ) , isEdit : ! 1 } ) . show ( ) } , onImgMenu : function ( t , e ) { if ( this . api ) if ( "arrange" == e . options . type ) this . api . asc _setSelectedDrawingObjectLayer ( e . value ) , Common . NotificationCenter . trigger ( "edit:complete" , this . documentHolder ) , Common . component . Analytics . trackEvent ( "DocumentHolder" , "Arrange" ) ; else if ( "group" == e . options . type ) this . api [ "grouping" == e . value ? "asc_groupGraphicsObjects" : "asc_unGroupGraphicsObjects" ] ( ) , Common . NotificationCenter . trigger ( "edit:complete" , this . documentHolder ) , Common . component . Analytics . trackEvent ( "DocumentHolder" , "grouping" == e . value ? "Grouping" : "Ungrouping" ) ; else if ( "rotate" == e . options . type ) { var i = new Asc . asc _CImgProperty ; i . asc _putRotAdd ( 3.14159265358979 * ( 1 == e . value ? 90 : 270 ) / 180 ) , this . api . asc _setGraphicObjectProps ( i ) , Common . NotificationCenter . trigger ( "edit:complete" , this . documentHolder ) , Common . component . Analytics . trackEvent ( "DocumentHolder" , "Rotate" ) } else if ( "flip" == e . options . type ) { var i = new Asc . asc _CImgProperty ; 1 == e . value ? i . asc _putFlipHInvert ( ! 0 ) : i . asc _putFlipVInvert ( ! 0 ) , this . api . asc _setGraphicObjectProps ( i ) , Common . NotificationCenter . trigger ( "edit:complete" , this . documentHolder ) , Common . component . Analytics . trackEvent ( "DocumentHolder" , "Flip" ) } } , onImgCrop : function ( t , e ) { this . api && ( 1 == e . value ? this . api . asc _cropFill ( ) : 2 == e . value ? this . api . asc _cropFit ( ) : e . checked ? this . api . asc _startEditCrop ( ) : this . api . asc _endEditCrop ( ) ) , Common . NotificationCenter . trigger ( "edit:complete" , this . documentHolder ) } , onImgMenuAlign : function ( t , e ) { this . api && ( e . value > - 1 && e . value < 6 ? ( this . api . asc _setSelectedDrawingObjectAlign ( e . value ) , Common . NotificationCenter . trigger ( "edit:complete" , this . documentHolder ) , Common . component . Analytics . trackEvent ( "DocumentHolder" , "Objects Align" ) ) : 6 == e . value ? ( this . api . asc _DistributeSelectedDrawingObjectHor ( ) , Common . NotificationCenter . trigger ( "edit:complete" , this . documentHolder ) , Common . component . Analytics . trackEvent ( "DocumentHolder" , "Distribute" ) ) : 7 == e . value && ( this . api . asc _Distribut
; var n = this , o = n . documentHolder , s = [ i . pageX * Common . Utils . zoom ( ) - o . cmpEl . offset ( ) . left , i . pageY * Common . Utils . zoom ( ) - o . cmpEl . offset ( ) . top ] , a = o . cmpEl . find ( Common . Utils . String . format ( "#menu-container-{0}" , t . id ) ) ; if ( t . rendered || ( a . length < 1 && ( a = $ ( Common . Utils . String . format ( '<div id="menu-container-{0}" style="position: absolute; z-index: 10000;"><div class="dropdown-toggle" data-toggle="dropdown"></div></div>' , t . id ) ) , o . cmpEl . append ( a ) ) , t . render ( a ) , t . cmpEl . attr ( { tabindex : "-1" } ) ) , 2 !== i . button ) { var l = n . api . asc _getActiveCellCoord ( ) , r = { left : 0 , top : 0 } ; s [ 0 ] = l . asc _getX ( ) + l . asc _getWidth ( ) + r . left , s [ 1 ] = ( l . asc _getY ( ) < 0 ? 0 : l . asc _getY ( ) ) + l . asc _getHeight ( ) + r . top } a . css ( { left : s [ 0 ] , top : s [ 1 ] } ) , _ . isFunction ( t . options . initMenu ) && ( t . options . initMenu ( e ) , t . alignPosition ( ) ) , _ . delay ( function ( ) { t . cmpEl . focus ( ) } , 10 ) , t . show ( ) , n . currentMenu = t } } , onEntriesListMenu : function ( t ) { if ( t && t . length > 0 ) { for ( var e = this , i = e . documentHolder , n = i . entriesMenu , o = i . cmpEl . find ( Common . Utils . String . format ( "#menu-container-{0}" , n . id ) ) , s = 0 ; s < n . items . length ; s ++ ) n . removeItem ( n . items [ s ] ) , s -- ; _ . each ( t , function ( t , i ) { var o = new Common . UI . MenuItem ( { caption : t } ) . on ( "click" , function ( t , i ) { e . api . asc _insertFormula ( t . caption , Asc . c _oAscPopUpSelectorType . None , ! 1 ) } ) ; n . addItem ( o ) } ) , Common . UI . Menu . Manager . hideAll ( ) , n . rendered || ( o . length < 1 && ( o = $ ( Common . Utils . String . format ( '<div id="menu-container-{0}" style="position: absolute; z-index: 10000;"><div class="dropdown-toggle" data-toggle="dropdown"></div></div>' , n . id ) ) , i . cmpEl . append ( o ) ) , n . render ( o ) , n . cmpEl . attr ( { tabindex : "-1" } ) ) ; var a = e . api . asc _getActiveCellCoord ( ) , l = { left : 0 , top : 0 } , r = [ a . asc _getX ( ) + l . left , ( a . asc _getY ( ) < 0 ? 0 : a . asc _getY ( ) ) + a . asc _getHeight ( ) + l . top ] ; o . css ( { left : r [ 0 ] , top : r [ 1 ] } ) , n . show ( ) , n . alignPosition ( ) , _ . delay ( function ( ) { n . cmpEl . focus ( ) } , 10 ) } else this . documentHolder . entriesMenu . hide ( ) , Common . UI . warning ( { title : this . notcriticalErrorTitle , maxwidth : 600 , msg : this . txtNoChoices , callback : _ . bind ( function ( t ) { Common . NotificationCenter . trigger ( "edit:complete" , this . documentHolder ) } , this ) } ) } , onFormulaCompleteMenu : function ( t ) { if ( this . documentHolder . funcMenu ) if ( t ) { for ( var e = this , i = e . documentHolder , n = i . funcMenu , o = i . cmpEl . find ( "#menu-formula-selection" ) , s = e . getApplication ( ) . getController ( "FormulaDialog" ) . getDescription ( Common . Utils . InternalSettings . get ( "sse-settings-func-locale" ) ) , a = 0 ; a < n . items . length ; a ++ ) { var l = n . items [ a ] . cmpEl . data ( "bs.tooltip" ) ; l && l . hide ( ) , n . removeItem ( n . items [ a ] ) , a -- } t . sort ( function ( t , e ) { var i = t . asc _getName ( ! 0 ) . toLocaleUpperCase ( ) , n = e . asc _getName ( ! 0 ) . toLocaleUpperCase ( ) ; return i < n ? - 1 : i > n ? 1 : 0 } ) , _ . each ( t , function ( t , i ) { var o = t . asc _getType ( ) , a = t . asc _getName ( ! 0 ) , l = e . api . asc _getFormulaNameByLocale ( a ) , r = new Common . UI . MenuItem ( { iconCls : o == Asc . c _oAscPopUpSelectorType . Func ? "mnu-popup-func" : o == Asc . c _oAscPopUpSelectorType . Table ? "mnu-popup-table" : "mnu-popup-range" , caption : a , hint : s && s [ l ] ? s [ l ] . d : "" } ) . on ( "click" , function ( t , i ) { setTimeout ( function ( ) { e . api . asc _insertFormula ( t . caption , o , ! 1 ) } , 10 ) } ) ; n . addItem ( r ) } ) , n . rendered || ( o . length < 1 && ( o = $ ( Common . Utils . String . format ( '<div id="menu-formula-selection" style="position: absolute; z-index: 10000;" class="no-stop-propagate"><div class="dropdown-toggle" data-toggle="dropdown"></div></div>' ) ) , i . cmpEl . append ( o ) ) , n . onAfterKeydownMenu = function ( t ) { if ( t . keyCode != Common . UI . Keys . RETURN || ! t . ctrlKey && ! t . altKey ) { var e ; if ( arguments . length > 1 && arguments [ 1 ] instanceof KeyboardEvent && ( t = arguments [ 1 ] ) , o . hasClass ( "open" ) ) if ( t . keyCode == Common . UI . Keys . TAB || t . keyCode == Common . UI . Keys . RETURN && ! t . ctrlKey && ! t . altKey ) e = o . find ( "a.focus" ) . closest ( "li" ) ; else if ( t . keyCode == Common . UI . Keys . UP || t . keyCode == Common . UI . Keys . DOWN ) { var i = n . cmpEl , s = i . offset ( ) . top , a = o . find ( "a.focus" ) . closest ( "li" ) , l = a . offset ( ) . top ; ( l < s || l + a . outerHeight ( ) > s + i . height ( ) ) && ( n . scroller ? n . scroller . scrollTop ( i . scrollTop ( ) + l - s , 0 ) : i . scrollTop ( i . scrollTop ( ) + l - s ) ) } e && ( e . length > 0 && e . click ( ) , Common . UI . Menu . Manager . hideAll ( ) ) } } , n . on ( "hide:after" , function ( ) { for ( var t = 0 ; t < n . items . length ; t ++ ) { var e = n . items [ t ] . cmpEl . data ( "bs.tooltip" ) ; e && e . hide ( ) } } ) , n . render ( o ) , n . cmpEl . attr ( { tabindex : "-1" } ) ) ; var r = e . api . asc _getActiveCellCoord ( ) , c = { left : 0 , top : 0 } , h = [ r . asc _getX ( ) + c . left , ( r . asc _getY ( ) < 0 ? 0 : r . asc _get
; n . asc _setType ( Asc . c _oAscNumFormatType . None ) , n . asc _setSymbol ( this . _state . langId ) ; for ( var o = this . api . asc _getFormatCells ( n ) , s = 0 ; s < t . items . length - 2 ; s ++ ) t . items [ s ] . options . format = o [ s ] } var a = t . options . numformatinfo ; a = a ? a . asc _getType ( ) : - 1 ; for ( var s = 0 ; s < t . items . length - 2 ; s ++ ) { var l = t . items [ s ] ; l . options . exampleval = e . api . asc _getLocaleExample ( l . options . format ) , $ ( l . el ) . find ( "label" ) . text ( l . options . exampleval ) , l . setChecked ( a == l . value ) } } } , SetDisabled : function ( t , e ) { this . _isDisabled = t , this . _canProtect = e } , guestText : "Guest" , textCtrlClick : "Click the link to open it or click and hold the mouse button to select the cell." , txtHeight : "Height" , txtWidth : "Width" , tipIsLocked : "This element is being edited by another user." , textChangeColumnWidth : "Column Width {0} symbols ({1} pixels)" , textChangeRowHeight : "Row Height {0} points ({1} pixels)" , textInsertLeft : "Insert Left" , textInsertTop : "Insert Top" , textSym : "sym" , notcriticalErrorTitle : "Warning" , errorInvalidLink : "The link reference does not exist. Please correct the link or delete it." , txtRemoveAccentChar : "Remove accent character" , txtBorderProps : "Borders property" , txtHideTop : "Hide top border" , txtHideBottom : "Hide bottom border" , txtHideLeft : "Hide left border" , txtHideRight : "Hide right border" , txtHideHor : "Hide horizontal line" , txtHideVer : "Hide vertical line" , txtHideLT : "Hide left top line" , txtHideLB : "Hide left bottom line" , txtAddTop : "Add top border" , txtAddBottom : "Add bottom border" , txtAddLeft : "Add left border" , txtAddRight : "Add right border" , txtAddHor : "Add horizontal line" , txtAddVer : "Add vertical line" , txtAddLT : "Add left top line" , txtAddLB : "Add left bottom line" , txtRemoveBar : "Remove bar" , txtOverbar : "Bar over text" , txtUnderbar : "Bar under text" , txtRemScripts : "Remove scripts" , txtRemSubscript : "Remove subscript" , txtRemSuperscript : "Remove superscript" , txtScriptsAfter : "Scripts after text" , txtScriptsBefore : "Scripts before text" , txtFractionStacked : "Change to stacked fraction" , txtFractionSkewed : "Change to skewed fraction" , txtFractionLinear : "Change to linear fraction" , txtRemFractionBar : "Remove fraction bar" , txtAddFractionBar : "Add fraction bar" , txtRemLimit : "Remove limit" , txtLimitOver : "Limit over text" , txtLimitUnder : "Limit under text" , txtHidePlaceholder : "Hide placeholder" , txtShowPlaceholder : "Show placeholder" , txtMatrixAlign : "Matrix alignment" , txtColumnAlign : "Column alignment" , txtTop : "Top" , txtBottom : "Bottom" , txtInsertEqBefore : "Insert equation before" , txtInsertEqAfter : "Insert equation after" , txtDeleteEq : "Delete equation" , txtLimitChange : "Change limits location" , txtHideTopLimit : "Hide top limit" , txtShowTopLimit : "Show top limit" , txtHideBottomLimit : "Hide bottom limit" , txtShowBottomLimit : "Show bottom limit" , txtInsertArgBefore : "Insert argument before" , txtInsertArgAfter : "Insert argument after" , txtDeleteArg : "Delete argument" , txtHideOpenBracket : "Hide opening bracket" , txtShowOpenBracket : "Show opening bracket" , txtHideCloseBracket : "Hide closing bracket" , txtShowCloseBracket : "Show closing bracket" , txtStretchBrackets : "Stretch brackets" , txtMatchBrackets : "Match brackets to argument height" , txtGroupCharOver : "Char over text" , txtGroupCharUnder : "Char under text" , txtDeleteGroupChar : "Delete char" , txtHideDegree : "Hide degree" , txtShowDegree : "Show degree" , txtIncreaseArg : "Increase argument size" , txtDecreaseArg : "Decrease argument size" , txtInsertBreak : "Insert manual break" , txtDeleteBreak : "Delete manual break" , txtAlignToChar : "Align to character" , txtDeleteRadical : "Delete radical" , txtDeleteChars : "Delete enclosing characters" , txtDeleteCharsAndSeparators : "Delete enclosing characters and separators" , insertText : "Insert" , alignmentText : "Alignment" , leftText : "Left" , rightText : "Right" , centerText : "Center" , insertRowAboveText : "Row Above" , insertRowBelowText : "Row Below" , insertColumnLeftText : "Column Left" , insertColumnRightText : "Column Right" , deleteText : "Delete" , deleteRowText : "Delete Row" , deleteColumnText : "Delete Column" , txtNoChoices : "There are no choices for filling the cell.<br>Only text values from the column can be selected for replacement." , txtExpandSort : " The data next to the selection will not be sorted . Do you want to expand the selection to include the adjacent data
t . src = this . fileChoiceUrl ; var e = this ; this . _eventfunc = function ( t ) { e . _onWindowMessage ( t ) } , this . _bindWindowEvents . call ( this ) , this . on ( "close" , function ( t ) { e . _unbindWindowEvents ( ) } ) } , _bindWindowEvents : function ( ) { window . addEventListener ? window . addEventListener ( "message" , this . _eventfunc , ! 1 ) : window . attachEvent && window . attachEvent ( "onmessage" , this . _eventfunc ) } , _unbindWindowEvents : function ( ) { window . removeEventListener ? window . removeEventListener ( "message" , this . _eventfunc ) : window . detachEvent && window . detachEvent ( "onmessage" , this . _eventfunc ) } , _onWindowMessage : function ( t ) { if ( t && window . JSON ) try { this . _onMessage . call ( this , window . JSON . parse ( t . data ) ) } catch ( t ) { } } , _onMessage : function ( t ) { if ( t && "onlyoffice" == t . Referer && void 0 !== t . file ) { Common . NotificationCenter . trigger ( "window:close" , this ) ; var e = this ; setTimeout ( function ( ) { _ . isEmpty ( t . file ) || e . trigger ( "selectfile" , e , t . file ) } , 50 ) } } , _onLoad : function ( ) { this . loadMask && this . loadMask . hide ( ) } , textTitle : "Select Data Source" , textLoading : "Loading" } , Common . Views . SelectFileDlg || { } ) ) } ) , void 0 === Common ) var Common = { } ; if ( define ( "common/main/lib/util/define" , [ ] , function ( ) { "use strict" ; Common . define = { } , Common . define . c _oAscMathMainType = { Symbol : 0 , Fraction : 1 , Script : 2 , Radical : 3 , Integral : 4 , LargeOperator : 5 , Bracket : 6 , Function : 7 , Accent : 8 , LimitLog : 9 , Operator : 10 , Matrix : 11 } , Common . define . c _oAscMathType = { Symbol _pm : 0 , Symbol _infinity : 1 , Symbol _equals : 2 , Symbol _neq : 3 , Symbol _about : 4 , Symbol _times : 5 , Symbol _div : 6 , Symbol _factorial : 7 , Symbol _propto : 8 , Symbol _less : 9 , Symbol _ll : 10 , Symbol _greater : 11 , Symbol _gg : 12 , Symbol _leq : 13 , Symbol _geq : 14 , Symbol _mp : 15 , Symbol _cong : 16 , Symbol _approx : 17 , Symbol _equiv : 18 , Symbol _forall : 19 , Symbol _additional : 20 , Symbol _partial : 21 , Symbol _sqrt : 22 , Symbol _cbrt : 23 , Symbol _qdrt : 24 , Symbol _cup : 25 , Symbol _cap : 26 , Symbol _emptyset : 27 , Symbol _percent : 28 , Symbol _degree : 29 , Symbol _fahrenheit : 30 , Symbol _celsius : 31 , Symbol _inc : 32 , Symbol _nabla : 33 , Symbol _exists : 34 , Symbol _notexists : 35 , Symbol _in : 36 , Symbol _ni : 37 , Symbol _leftarrow : 38 , Symbol _uparrow : 39 , Symbol _rightarrow : 40 , Symbol _downarrow : 41 , Symbol _leftrightarrow : 42 , Symbol _therefore : 43 , Symbol _plus : 44 , Symbol _minus : 45 , Symbol _not : 46 , Symbol _ast : 47 , Symbol _bullet : 48 , Symbol _vdots : 49 , Symbol _cdots : 50 , Symbol _rddots : 51 , Symbol _ddots : 52 , Symbol _aleph : 53 , Symbol _beth : 54 , Symbol _QED : 55 , Symbol _alpha : 65536 , Symbol _beta : 65537 , Symbol _gamma : 65538 , Symbol _delta : 65539 , Symbol _varepsilon : 65540 , Symbol _epsilon : 65541 , Symbol _zeta : 65542 , Symbol _eta : 65543 , Symbol _theta : 65544 , Symbol _vartheta : 65545 , Symbol _iota : 65546 , Symbol _kappa : 65547 , Symbol _lambda : 65548 , Symbol _mu : 65549 , Symbol _nu : 65550 , Symbol _xsi : 65551 , Symbol _o : 65552 , Symbol _pi : 65553 , Symbol _varpi : 65554 , Symbol _rho : 65555 , Symbol _varrho : 65556 , Symbol _sigma : 65557 , Symbol _varsigma : 65558 , Symbol _tau : 65559 , Symbol _upsilon : 65560 , Symbol _varphi : 65561 , Symbol _phi : 65562 , Symbol _chi : 65563 , Symbol _psi : 65564 , Symbol _omega : 65565 , Symbol _Alpha : 131072 , Symbol _Beta : 131073 , Symbol _Gamma : 131074 , Symbol _Delta : 131075 , Symbol _Epsilon : 131076 , Symbol _Zeta : 131077 , Symbol _Eta : 131078 , Symbol _Theta : 131079 , Symbol _Iota : 131080 , Symbol _Kappa : 131081 , Symbol _Lambda : 131082 , Symbol _Mu : 131083 , Symbol _Nu : 131084 , Symbol _Xsi : 131085 , Symbol _O : 131086 , Symbol _Pi : 131087 , Symbol _Rho : 131088 , Symbol _Sigma : 131089 , Symbol _Tau : 131090 , Symbol _Upsilon : 131091 , Symbol _Phi : 131092 , Symbol _Chi : 131093 , Symbol _Psi : 131094 , Symbol _Omega : 131095 , FractionVertical : 16777216 , FractionDiagonal : 16777217 , FractionHorizontal : 16777218 , FractionSmall : 16777219 , FractionDifferential _1 : 16842752 , FractionDifferential _2 : 16842753 , FractionDifferential _3 : 16842754 , FractionDifferential _4 : 16842755 , FractionPi _2 : 16842756 , ScriptSup : 33554432 , ScriptSub : 33554433 , ScriptSubSup : 33554434 , ScriptSubSupLeft : 33554435 , ScriptCustom _1 : 33619968 , ScriptCustom _2 : 33619969 , ScriptCustom _3 : 33619970 , ScriptCustom _4 : 33619971 , RadicalSqrt : 50331648 , RadicalRoot _n : 50331649 , RadicalRoot _2 : 50331650 , RadicalRoot _3 : 50331651 , RadicalCustom _1 : 50397184 , RadicalCustom _2 : 50397185 , Integral : 67108864 , IntegralSubSup : 67108865 , IntegralCenterSubSup : 67108866 , IntegralDouble : 67108867 , IntegralDoubleSubSup : 67108868 , IntegralDoubleCenterSubSup : 67108869 , IntegralTriple : 67108870 , IntegralTripleSubSup : 67108871 , IntegralTripleCenterSubSup : 67108872 , IntegralOriented : 67174400 ,
title : "string" == typeof e . options . hint ? e . options . hint : e . options . hint [ 0 ] , placement : e . options . hintAnchor || "cursor" } ) , e . btnMenuEl && e . btnMenuEl . tooltip ( { title : e . options . hint [ 1 ] , placement : e . options . hintAnchor || "cursor" } ) , s . length > 0 && ( e . btnEl . data ( "bs.tooltip" ) . tip ( ) . css ( "z-index" , parseInt ( s . css ( "z-index" ) ) + 10 ) , e . btnMenuEl && e . btnMenuEl . data ( "bs.tooltip" ) . tip ( ) . css ( "z-index" , parseInt ( s . css ( "z-index" ) ) + 10 ) ) } _ . isString ( e . toggleGroup ) && ( e . enableToggle = ! 0 ) ; var l , r = function ( t ) { if ( ! e . disabled && 1 == t . which ) { if ( e . doToggle ( ) , e . options . hint ) { var i = e . btnEl . data ( "bs.tooltip" ) ; i && ( void 0 === i . dontShow && ( i . dontShow = ! 0 ) , i . hide ( ) ) } e . trigger ( "click" , e , t ) } } , c = function ( t , n , s ) { if ( ! t ) { var a = ! 1 ; $ ( "button" , i ) . each ( function ( t , e ) { if ( $ ( e ) . is ( ":hover" ) ) return a = ! 0 , ! 1 } ) , a || ( i . removeClass ( "over" ) , $ ( "button" , i ) . removeClass ( "over" ) ) } if ( "button" == n ) { if ( ! t && e . enableToggle && e . allowDepress && e . pressed ) return ; if ( t && ! o && e . enableToggle && e . allowDepress && ! e . pressed ) return void s . preventDefault ( ) ; $ ( "button:first" , i ) . toggleClass ( "active" , t ) } else $ ( "[data-toggle^=dropdown]" , i ) . toggleClass ( "active" , t ) ; i . toggleClass ( "active" , t ) } , h = function ( t ) { if ( ! e . disabled && 1 == t . which && o ) { if ( e . options . hint ) { var n = ( e . btnMenuEl ? e . btnMenuEl : e . btnEl ) . data ( "bs.tooltip" ) ; n && ( void 0 === n . dontShow && ( n . dontShow = ! 0 ) , n . hide ( ) ) } var s = i . hasClass ( "open" ) ; c ( ! s , "arrow" , t ) } } , d = function ( t , e ) { o ? c ( e , "button" , t ) : ( i . toggleClass ( "active" , e ) , $ ( "button" , i ) . toggleClass ( "active" , e ) ) } , p = function ( t ) { l = t . currentTarget . className . match ( /dropdown/ ) ? "arrow" : "button" , c ( ! 0 , l , t ) , $ ( document ) . on ( "mouseup" , m ) } , m = function ( t ) { c ( ! 1 , l , t ) , $ ( document ) . off ( "mouseup" , m ) } , u = function ( t , i ) { e . cmpEl . find ( ".dropdown-toggle" ) . blur ( ) , e . cmpEl . hasClass ( "active" ) !== e . pressed && e . cmpEl . trigger ( "button.internal.active" , [ e . pressed ] ) } ; n ? ( o && ( $ ( "[data-toggle^=dropdown]" , i ) . on ( "mousedown" , _ . bind ( h , this ) ) , $ ( "button" , i ) . on ( "mousedown" , _ . bind ( p , this ) ) , e . options . width > 0 && $ ( "button:first" , i ) . css ( "width" , e . options . width - $ ( "[data-toggle^=dropdown]" , i ) . outerWidth ( ) ) ) , i . on ( "hide.bs.dropdown" , _ . bind ( c , e , ! 1 , "arrow" ) ) , i . on ( "show.bs.dropdown" , _ . bind ( c , e , ! 0 , "arrow" ) ) , i . on ( "hidden.bs.dropdown" , _ . bind ( u , e ) ) , $ ( "button:first" , i ) . on ( "click" , r ) ) : i . on ( "click" , r ) , i . on ( "button.internal.active" , _ . bind ( d , e ) ) , i . on ( "mouseover" , function ( t ) { e . disabled || ( e . cmpEl . addClass ( "over" ) , e . trigger ( "mouseover" , e , t ) ) } ) , i . on ( "mouseout" , function ( t ) { e . cmpEl . removeClass ( "over" ) , e . disabled || e . trigger ( "mouseout" , e , t ) } ) , Common . UI . ToggleManager . register ( e ) } return e . rendered = ! 0 , e . pressed && e . toggle ( e . pressed , ! 0 ) , e . disabled && e . setDisabled ( ! ( e . disabled = ! 1 ) ) , e . visible || e . setVisible ( e . visible ) , e . trigger ( "render:after" , e ) , this } , doToggle : function ( ) { var t = this ; ! t . enableToggle || ! 1 === t . allowDepress && t . pressed || t . toggle ( ) } , toggle : function ( t , e ) { var i = void 0 === t ? ! this . pressed : ! ! t ; this . pressed = i , this . cmpEl && this . cmpEl . trigger ( "button.internal.active" , [ i ] ) , e || this . trigger ( "toggle" , this , i ) } , isActive : function ( ) { return this . enableToggle ? this . pressed : this . cmpEl . hasClass ( "active" ) } , setDisabled : function ( t ) { if ( this . rendered && this . disabled != t ) { var e = this . cmpEl , i = e . hasClass ( "btn-group" ) , n = this ; if ( ( t = ! 0 === t ) !== e . hasClass ( "disabled" ) ) { var o = function ( e ) { e . toggleClass ( "disabled" , t ) , n . options . allowMouseEventsOnDisabled || ( t ? e . attr ( { disabled : t } ) : e . removeAttr ( "disabled" ) ) } ; o ( e ) , i && o ( e . children ( "button" ) ) } if ( ( t || ! Common . Utils . isGecko ) && this . options . hint ) { var s = this . btnEl . data ( "bs.tooltip" ) ; s && ( t && s . hide ( ) , ! Common . Utils . isGecko && ( s . enabled = ! t ) ) , this . btnMenuEl && ( s = this . btnMenuEl . data ( "bs.tooltip" ) ) && ( t && s . hide ( ) , ! Common . Utils . isGecko && ( s . enabled = ! t ) ) } if ( t && this . menu && _ . isObject ( this . menu ) && this . menu . rendered && this . menu . isVisible ( ) && setTimeout ( function ( ) { n . menu . hide ( ) } , 1 ) , n . options . signals ) { n . options . signals . indexOf ( "disabled" ) < 0 || n . trigger ( "disabled" , n , t ) } } this . disabled = t } , isDisabled : function ( ) { return this . disabled } , setIconCls : function ( t ) { var e = $ ( this . el ) . find ( ".icon" ) , i = this . iconCls ; this . iconCls = t , e . removeClass ( i ) , e . addClass ( t || "" ) } , setVisible : function ( t ) { this . cmpEl && this . cmpEl . toggleClass ( "hidden" , ! t ) , this . visible = t } , isVisible : function ( ) { return this . cmpEl ? this . cmpEl . is ( ":visible" ) : $ ( this . el ) . is ( ":visible" ) } , updateHint : function ( t ) { if ( this
i . width = e ? 604 : 302 , { template : _ . template ( [ '<div class="input-group combobox fonts <%= cls %>" id="<%= id %>" style="<%= style %>">' , '<input type="text" class="form-control" spellcheck="false"> ' , '<div style="display: table-cell;"></div>' , '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret img-commonctrl"></span></button>' , '<ul class="dropdown-menu <%= menuCls %>" style="<%= menuStyle %>" role="menu">' , '<li class="divider">' , "<% _.each(items, function(item) { %>" , '<li id="<%= item.id %>">' , '<a class="font-item" tabindex="-1" type="menuitem" style="height:<%=scope.getListItemHeight()%>px;"/>' , "</li>" , "<% }); %>" , "</ul>" , "</div>" ] . join ( "" ) ) , initialize : function ( t ) { Common . UI . ComboBox . prototype . initialize . call ( this , _ . extend ( t , { displayField : "name" , scroller : { wheelSpeed : 20 , alwaysVisibleY : ! 0 , onChange : this . updateVisibleFontsTiles . bind ( this ) } } ) ) , this . recent = _ . isNumber ( t . recent ) ? t . recent : 5 ; var e = Common . localStorage . getKeysFilter ( ) ; this . appPrefix = e && e . length ? e . split ( "," ) [ 0 ] : "" , Common . NotificationCenter . on ( "fonts:load" , _ . bind ( this . fillFonts , this ) ) } , render : function ( t ) { var e = null ; return _ . isUndefined ( this . _input ) || ( e = this . _input . val ( ) ) , Common . UI . ComboBox . prototype . render . call ( this , t ) , this . setRawValue ( e ) , this . _input . on ( "keyup" , _ . bind ( this . onInputKeyUp , this ) ) , this . _input . on ( "keydown" , _ . bind ( this . onInputKeyDown , this ) ) , this . _input . on ( "focus" , _ . bind ( function ( ) { this . inFormControl = ! 0 } , this ) ) , this . _input . on ( "blur" , _ . bind ( function ( ) { this . inFormControl = ! 1 } , this ) ) , this } , onAfterKeydownMenu : function ( t ) { var e = this ; return t . keyCode == Common . UI . Keys . RETURN ? ( $ ( t . target ) . closest ( "input" ) . length ? this . lastValue !== this . _input . val ( ) && this . _input . trigger ( "change" ) : ( $ ( t . target ) . click ( ) , this . rendered && ( Common . Utils . isIE ? this . _input . trigger ( "change" , { onkeydown : ! 0 } ) : this . _input . blur ( ) ) ) , ! 1 ) : t . keyCode == Common . UI . Keys . ESC && this . isMenuOpen ( ) ? ( this . _input . val ( this . lastValue ) , setTimeout ( function ( ) { e . closeMenu ( ) , e . onAfterHideMenu ( t ) } , 10 ) , ! 1 ) : ( ( t . keyCode == Common . UI . Keys . HOME && ! t . shiftKey || t . keyCode == Common . UI . Keys . END && ! t . shiftKey || t . keyCode == Common . UI . Keys . BACKSPACE && ! e . _input . is ( ":focus" ) ) && this . isMenuOpen ( ) && ( e . _input . focus ( ) , setTimeout ( function ( ) { e . _input [ 0 ] . selectionStart = e . _input [ 0 ] . selectionEnd = t . keyCode == Common . UI . Keys . HOME ? 0 : e . _input [ 0 ] . value . length } , 10 ) ) , void this . updateVisibleFontsTiles ( ) ) } , onInputKeyUp : function ( t ) { if ( t . keyCode != Common . UI . Keys . RETURN && t . keyCode !== Common . UI . Keys . SHIFT && t . keyCode !== Common . UI . Keys . CTRL && t . keyCode !== Common . UI . Keys . ALT && t . keyCode !== Common . UI . Keys . LEFT && t . keyCode !== Common . UI . Keys . RIGHT && t . keyCode !== Common . UI . Keys . HOME && t . keyCode !== Common . UI . Keys . END && t . keyCode !== Common . UI . Keys . ESC && t . keyCode !== Common . UI . Keys . INSERT && t . keyCode !== Common . UI . Keys . TAB && ( t . stopPropagation ( ) , this . selectCandidate ( t . keyCode == Common . UI . Keys . DELETE || t . keyCode == Common . UI . Keys . BACKSPACE ) , this . _selectedItem ) ) { var e = this ; void 0 === e . _timerSelection && ( e . _timerSelection = setInterval ( function ( ) { if ( ! ( new Date - e . _inInputKeyDown < 100 ) && e . _selectedItem ) { clearInterval ( e . _timerSelection ) , e . _timerSelection = void 0 ; var t = e . _input [ 0 ] , i = e . _selectedItem . get ( e . displayField ) , n = t . value ; e . rendered && ( document . selection ? document . selection . createRange ( ) . text = i : ( t . selectionStart || "0" == t . selectionStart ) && ( t . value = i , t . selectionStart = n . length , t . selectionEnd = i . length ) ) } } , 10 ) ) } } , onInputKeyDown : function ( t ) { this . _inInputKeyDown = new Date ; var e = this ; t . keyCode == Common . UI . Keys . ESC ? ( this . _input . val ( this . lastValue ) , setTimeout ( function ( ) { e . closeMenu ( ) , e . onAfterHideMenu ( t ) } , 10 ) ) : t . keyCode != Common . UI . Keys . RETURN && t . keyCode != Common . UI . Keys . CTRL && t . keyCode != Common . UI . Keys . SHIFT && t . keyCode != Common . UI . Keys . ALT ? ( this . isMenuOpen ( ) || t . ctrlKey || this . openMenu ( ) , t . keyCode == Common . UI . Keys . UP || t . keyCode == Common . UI . Keys . DOWN ? _ . delay ( function ( ) { var i = t . keyCode == Common . UI . Keys . DOWN ? e . cmpEl . find ( "ul li.selected" ) . nextAll ( "li:not(.divider)" ) : e . cmpEl . find ( "ul li.selected" ) . prevAll ( "li:not(.divider)" ) ; i = i . length > 0 ? i . eq ( 0 ) : t . keyCode == Common . UI . Keys . DOWN ? e . cmpEl . find ( "ul li:not(.divider):first" ) : e . cmpEl . find ( "ul li:not(.divider):last" ) , i = i . find ( "a" ) , e . _skipInputChange = ! 0 , i . fo
caption : "MAX" , value : "MAX" } , { caption : "COUNT" , value : "COUNT" } , { caption : "--" } , { caption : s . txtAdditional , value : "more" } ] } ) } ) , s . btnDecDecimal = new Common . UI . Button ( { id : "id-toolbar-btn-decdecimal" , cls : "btn-toolbar" , iconCls : "btn-decdecimal" , lock : [ a . editCell , a . selChart , a . selChartText , a . selShape , a . selShapeText , a . selImage , a . lostConnect , a . coAuth ] } ) , s . btnIncDecimal = new Common . UI . Button ( { id : "id-toolbar-btn-incdecimal" , cls : "btn-toolbar" , iconCls : "btn-incdecimal" , lock : [ a . editCell , a . selChart , a . selChartText , a . selShape , a . selShapeText , a . selImage , a . lostConnect , a . coAuth ] } ) ; var l = _ . template ( [ "<% _.each(items, function(item) { %>" , '<li id="<%= item.id %>" data-value="<%= item.value %>"><a tabindex="-1" type="menuitem">' , '<div style="position: relative;"><div style="position: absolute; left: 0; width: 100px;"><%= scope.getDisplayValue(item) %></div>' , '<div style="display: inline-block; width: 100%; max-width: 300px; overflow: hidden; text-overflow: ellipsis; text-align: right; vertical-align: bottom; padding-left: 100px; color: silver;"><%= item.exampleval ? item.exampleval : "" %></div>' , "</div></a></li>" , "<% }); %>" , '<li class="divider">' , '<li id="id-toolbar-mnu-item-more-formats" data-value="-1"><a tabindex="-1" type="menuitem">' + s . textMoreFormats + "</a></li>" ] . join ( "" ) ) ; s . cmbNumberFormat = new Common . UI . ComboBox ( { cls : "input-group-nr" , menuStyle : "min-width: 180px;" , hint : s . tipNumFormat , lock : [ a . editCell , a . selChart , a . selChartText , a . selShape , a . selShapeText , a . selImage , a . selRangeEdit , a . lostConnect , a . coAuth ] , itemsTemplate : l , editable : ! 1 , data : s . numFormatData } ) , s . btnEditChart = new Common . UI . Button ( { id : "id-toolbar-rtn-edit-chart" , cls : "btn-toolbar btn-text-value" , caption : s . tipEditChart , lock : [ a . lostConnect ] , style : "width: 120px;" } ) } else if ( t . isEditMailMerge ) s . $layout = $ ( _ . template ( i ) ( t ) ) , s . btnSearch = new Common . UI . Button ( { id : "id-toolbar-btn-search" , cls : "btn-toolbar" , iconCls : "btn-search" , lock : [ a . lostConnect ] } ) , s . btnSortDown = new Common . UI . Button ( { id : "id-toolbar-btn-sort-down" , cls : "btn-toolbar" , iconCls : "btn-sort-down" , lock : [ a . editCell , a . selChart , a . selChartText , a . selShape , a . selShapeText , a . selImage , a . lostConnect , a . coAuth , a . ruleFilter , a . editPivot ] } ) , s . btnSortUp = new Common . UI . Button ( { id : "id-toolbar-btn-sort-up" , cls : "btn-toolbar" , iconCls : "btn-sort-up" , lock : [ a . editCell , a . selChart , a . selChartText , a . selShape , a . selShapeText , a . selImage , a . lostConnect , a . coAuth , a . ruleFilter , a . editPivot ] } ) , s . btnSetAutofilter = new Common . UI . Button ( { id : "id-toolbar-btn-setautofilter" , cls : "btn-toolbar" , iconCls : "btn-autofilter" , lock : [ a . editCell , a . selChart , a . selChartText , a . selShape , a . selShapeText , a . selImage , a . lostConnect , a . coAuth , a . ruleFilter , a . editPivot ] , enableToggle : ! 0 } ) , s . btnClearAutofilter = new Common . UI . Button ( { id : "id-toolbar-btn-clearfilter" , cls : "btn-toolbar" , iconCls : "btn-clear-filter" , lock : [ a . editCell , a . selChart , a . selChartText , a . selShape , a . selShapeText , a . selImage , a . lostConnect , a . coAuth , a . ruleDelFilter , a . editPivot ] } ) ; else if ( t . isEdit ) { Common . UI . Mixtbar . prototype . initialize . call ( this , { template : _ . template ( e ) , tabs : [ { caption : s . textTabFile , action : "file" , extcls : "canedit" , haspanel : ! 1 } , { caption : s . textTabHome , action : "home" , extcls : "canedit" } , { caption : s . textTabInsert , action : "ins" , extcls : "canedit" } , { caption : s . textTabLayout , action : "layout" , extcls : "canedit" } , { caption : s . textTabFormula , action : "formula" , extcls : "canedit" } , { caption : s . textTabData , action : "data" , extcls : "canedit" } ] } ) , s . cmbFontSize = new Common . UI . ComboBox ( { cls : "input-group-nr" , menuStyle : "min-width: 55px;" , hint : s . tipFontSize , lock : [ a . selImage , a . editFormula , a . selRangeEdit , a . coAuth , a . coAuthText , a . lostConnect ] , data : [ { value : 8 , displayValue : "8" } , { value : 9 , displayValue : "9" } , { value : 10 , displayValue : "10" } , { value : 11 , displayValue : "11" } , { value : 12 , displayValue : "12" } , { value : 14 , displayValue : "14" } , { value : 16 , displayValue : "16" } , { value : 18 , displayValue : "18" } , { value : 20 , displayValue : "20" } , { value : 22 , displayValue : "22" } , { value : 24 , displayValue : "24" } , { value : 26 , displayValue : "26" } , { value : 28 , displayValue : "28" } , { value : 36 , displayValue : "36" } , { value : 48 , displayValue : "48" } , { value : 72 , displayValue : "72" } , { value : 96 , displayValue : "96" } ] } ) , s . cmbFontName = new Common . UI . ComboBoxFonts ( { cls : "input-group-nr" , men
i ( "#slot-btn-borders" , this . btnBorders ) , i ( "#slot-btn-align-left" , this . btnAlignLeft ) , i ( "#slot-btn-align-center" , this . btnAlignCenter ) , i ( "#slot-btn-align-right" , this . btnAlignRight ) , i ( "#slot-btn-align-just" , this . btnAlignJust ) , i ( "#slot-btn-merge" , this . btnMerge ) , i ( "#slot-btn-top" , this . btnAlignTop ) , i ( "#slot-btn-middle" , this . btnAlignMiddle ) , i ( "#slot-btn-bottom" , this . btnAlignBottom ) , i ( "#slot-btn-wrap" , this . btnWrap ) , i ( "#slot-btn-text-orient" , this . btnTextOrient ) , i ( "#slot-btn-insimage" , this . btnInsertImage ) , i ( "#slot-btn-instable" , this . btnInsertTable ) , i ( "#slot-btn-inshyperlink" , this . btnInsertHyperlink ) , i ( "#slot-btn-insshape" , this . btnInsertShape ) , i ( "#slot-btn-instext" , this . btnInsertText ) , i ( "#slot-btn-instextart" , this . btnInsertTextArt ) , i ( "#slot-btn-insequation" , this . btnInsertEquation ) , i ( "#slot-btn-sortdesc" , this . btnSortDown ) , i ( "#slot-btn-sortasc" , this . btnSortUp ) , i ( "#slot-btn-setfilter" , this . btnSetAutofilter ) , i ( "#slot-btn-clear-filter" , this . btnClearAutofilter ) , i ( "#slot-btn-table-tpl" , this . btnTableTemplate ) , i ( "#slot-btn-format" , this . cmbNumberFormat ) , i ( "#slot-btn-percents" , this . btnPercentStyle ) , i ( "#slot-btn-currency" , this . btnCurrencyStyle ) , i ( "#slot-btn-digit-dec" , this . btnDecDecimal ) , i ( "#slot-btn-digit-inc" , this . btnIncDecimal ) , i ( "#slot-btn-formula" , this . btnInsertFormula ) , i ( "#slot-btn-named-range" , this . btnNamedRange ) , i ( "#slot-btn-clear" , this . btnClearStyle ) , i ( "#slot-btn-copystyle" , this . btnCopyStyle ) , i ( "#slot-btn-cell-ins" , this . btnAddCell ) , i ( "#slot-btn-cell-del" , this . btnDeleteCell ) , i ( "#slot-btn-colorschemas" , this . btnColorSchemas ) , i ( "#slot-btn-search" , this . btnSearch ) , i ( "#slot-btn-inschart" , this . btnInsertChart ) , i ( "#slot-field-styles" , this . listStyles ) , i ( "#slot-btn-chart" , this . btnEditChart ) , i ( "#slot-btn-pageorient" , this . btnPageOrient ) , i ( "#slot-btn-pagemargins" , this . btnPageMargins ) , i ( "#slot-btn-pagesize" , this . btnPageSize ) , i ( "#slot-btn-printarea" , this . btnPrintArea ) , i ( "#slot-img-align" , this . btnImgAlign ) , i ( "#slot-img-group" , this . btnImgGroup ) , i ( "#slot-img-movefrwd" , this . btnImgForward ) , i ( "#slot-img-movebkwd" , this . btnImgBackward ) , i ( "#slot-btn-editheader" , this . btnEditHeader ) , e } , createDelayedElements : function ( ) { function t ( t , e ) { t && t . updateHint ( e ) } var e = this ; if ( t ( this . btnPrint , this . tipPrint + Common . Utils . String . platformKey ( "Ctrl+P" ) ) , t ( this . btnSave , this . btnSaveTip ) , t ( this . btnCopy , this . tipCopy + Common . Utils . String . platformKey ( "Ctrl+C" ) ) , t ( this . btnPaste , this . tipPaste + Common . Utils . String . platformKey ( "Ctrl+V" ) ) , t ( this . btnUndo , this . tipUndo + Common . Utils . String . platformKey ( "Ctrl+Z" ) ) , t ( this . btnRedo , this . tipRedo + Common . Utils . String . platformKey ( "Ctrl+Y" ) ) , t ( this . btnIncFontSize , this . tipIncFont + Common . Utils . String . platformKey ( "Ctrl+]" ) ) , t ( this . btnDecFontSize , this . tipDecFont + Common . Utils . String . platformKey ( "Ctrl+[" ) ) , t ( this . btnBold , this . textBold + Common . Utils . String . platformKey ( "Ctrl+B" ) ) , t ( this . btnItalic , this . textItalic + Common . Utils . String . platformKey ( "Ctrl+I" ) ) , t ( this . btnUnderline , this . textUnderline + Common . Utils . String . platformKey ( "Ctrl+U" ) ) , t ( this . btnStrikeout , this . textStrikeout ) , t ( this . btnSubscript , this . textSubSuperscript ) , t ( this . btnTextColor , this . tipFontColor ) , t ( this . btnBackColor , this . tipPrColor ) , t ( this . btnBorders , this . tipBorders ) , t ( this . btnAlignLeft , this . tipAlignLeft ) , t ( this . btnAlignCenter , this . tipAlignCenter ) , t ( this . btnAlignRight , this . tipAlignRight ) , t ( this . btnAlignJust , this . tipAlignJust ) , t ( this . btnMerge , this . tipMerge ) , t ( this . btnAlignTop , this . tipAlignTop ) , t ( this . btnAlignMiddle , this . tipAlignMiddle ) , t ( this . btnAlignBottom , this . tipAlignBottom ) , t ( this . btnWrap , this . tipWrap ) , t ( this . btnTextOrient , this . tipTextOrientation ) , t ( this . btnInsertTable , this . tipInsertTable ) , t ( this . btnInsertImage , this . tipInsertImage ) , t ( this . btnInsertChart , this . tipInsertChartSpark ) , t ( this . btnInsertText , this . tipInsertText ) , t ( this . btnInsertTextArt , this . tipInsertTextart ) , t ( this . btnInsertHyperlink , this . tipInsertHyperlink + Common . Utils . String . platformKey ( "Ctrl+K" ) ) , t ( this . btnInsertShape , this . tipInsertShape ) , t ( this . btnInsertEquation , this . tipInsertEquation ) , t ( this . btnSortDown , this . txtSortAZ ) , t ( this . btnSortUp , this . txtSortZA ) , t ( this . btnSetAutofilter , this . txtFilter + " (Ctrl+Shift+L)" ) , t ( this . btnClearAutofilter , this .
this . chColHeader . render ( this . $el . find ( "#slot-chk-header-column" ) ) , this . chRowBanded . render ( this . $el . find ( "#slot-chk-banded-row" ) ) , this . chColBanded . render ( this . $el . find ( "#slot-chk-banded-column" ) ) , this . btnAddPivot . render ( this . $el . find ( "#slot-btn-add-pivot" ) ) , this . btnRefreshPivot . render ( this . $el . find ( "#slot-btn-refresh-pivot" ) ) , this . btnSelectPivot . render ( this . $el . find ( "#slot-btn-select-pivot" ) ) , this . btnPivotLayout . render ( this . $el . find ( "#slot-btn-pivot-report-layout" ) ) , this . btnPivotBlankRows . render ( this . $el . find ( "#slot-btn-pivot-blank-rows" ) ) , this . btnPivotSubtotals . render ( this . $el . find ( "#slot-btn-pivot-subtotals" ) ) , this . btnPivotGrandTotals . render ( this . $el . find ( "#slot-btn-pivot-grand-totals" ) ) , this . pivotStyles . render ( this . $el . find ( "#slot-field-pivot-styles" ) ) , this . $el } , show : function ( ) { Common . UI . BaseView . prototype . show . call ( this ) , this . fireEvent ( "show" , this ) } , getButton : function ( t , e ) { } , SetDisabled : function ( t ) { this . lockedControls && this . lockedControls . forEach ( function ( e ) { e && e . setDisabled ( t ) } , this ) } , txtCreate : "Insert Table" , tipCreatePivot : "Insert Pivot Table" , textRowHeader : "Row Headers" , textColHeader : "Column Headers" , textRowBanded : "Banded Rows" , textColBanded : "Banded Columns" , capBlankRows : "Blank Rows" , mniInsertBlankLine : "Insert Blank Line after Each Item" , mniRemoveBlankLine : "Remove Blank Line after Each Item" , capGrandTotals : "Grand Totals" , mniOffTotals : "Off for Rows and Columns" , mniOnTotals : "On for Rows and Columns" , mniOnRowsTotals : "On for Rows Only" , mniOnColumnsTotals : "On for Columns Only" , capLayout : "Report Layout" , capSubtotals : "Subtotals" , mniLayoutCompact : "Show in Compact Form" , mniLayoutOutline : "Show in Outline Form" , mniLayoutTabular : "Show in Tabular Form" , mniLayoutRepeat : "Repeat All Item Labels" , mniLayoutNoRepeat : "Don't Repeat All Item Labels" , mniNoSubtotals : "Don't Show Subtotals" , mniBottomSubtotals : "Show all Subtotals at Bottom of Group" , mniTopSubtotals : "Show all Subtotals at Top of Group" , txtRefresh : "Refresh" , tipRefresh : "Update the information from data source" , tipGrandTotals : "Show or hide grand totals" , tipSubtotals : "Show or hide subtotals" , txtSelect : "Select" , tipSelect : "Select entire pivot table" } } ( ) , SSE . Views . PivotTable || { } ) ) } ) , define ( "spreadsheeteditor/main/app/controller/PivotTable" , [ "core" , "spreadsheeteditor/main/app/view/PivotTable" ] , function ( ) { "use strict" ; SSE . Controllers . PivotTable = Backbone . Controller . extend ( _ . extend ( { models : [ ] , views : [ "PivotTable" ] , sdkViewName : "#id_main" , initialize : function ( ) { this . addListeners ( { PivotTable : { "pivottable:rowscolumns" : _ . bind ( this . onCheckTemplateChange , this ) , "pivottable:create" : _ . bind ( this . onCreateClick , this ) , "pivottable:refresh" : _ . bind ( this . onRefreshClick , this ) , "pivottable:select" : _ . bind ( this . onSelectClick , this ) , "pivottable:style" : _ . bind ( this . onPivotStyleSelect , this ) , "pivottable:layout" : _ . bind ( this . onPivotLayout , this ) , "pivottable:blankrows" : _ . bind ( this . onPivotBlankRows , this ) , "pivottable:subtotals" : _ . bind ( this . onPivotSubtotals , this ) , "pivottable:grandtotals" : _ . bind ( this . onPivotGrandTotals , this ) } } ) } , onLaunch : function ( ) { this . _state = { TableName : "" , TemplateName : "" , RowHeader : void 0 , RowBanded : void 0 , ColHeader : void 0 , ColBanded : void 0 , DisabledControls : ! 1 } , this . _originalProps = null , this . view = this . createView ( "PivotTable" ) , Common . NotificationCenter . on ( "app:ready" , this . onAppReady . bind ( this ) ) , Common . NotificationCenter . on ( "api:disconnect" , _ . bind ( this . SetDisabled , this ) ) } , setConfig : function ( t , e ) { this . setApi ( e ) , t && ( this . sdkViewName = t . sdkviewname || this . sdkViewName ) } , setApi : function ( t ) { t && ( this . api = t , this . api . asc _registerCallback ( "asc_onCoAuthoringDisconnect" , _ . bind ( this . SetDisabled , this ) ) , this . api . asc _registerCallback ( "asc_onSendThemeColors" , _ . bind ( this . onSendThemeColors , this ) ) , this . api . asc _registerCallback ( "asc_onSelectionChanged" , _ . bind ( this . onSelectionChanged , this ) ) ) } , setMode : function ( t ) { return this . appConfig = t , this } , SetDisabled : function ( ) { this . view && this . view . SetDisabled ( ! 0 ) } , onCheckTemplateChange : function ( t , e ) { switch ( t ) { case 0 : this . _originalProps . asc _getStyleInfo ( ) . asc _setShowRowHeaders ( this . api , this . _originalProps , "checked" == e ) ; break ; case 1 : this . _originalProps . asc _getStyleInfo ( ) . asc _setShowColHeaders ( this . a
var e = this . cmbNegative . store . findWhere ( { value : t . format } ) ; e ? this . cmbNegative . selectRecord ( e ) : this . cmbNegative . setValue ( this . api . asc _getLocaleExample ( t . format ) ) } else if ( this . _state . hasType ) { var e = this . cmbType . store . findWhere ( { value : t . format } ) ; e ? this . cmbType . selectRecord ( e ) : t . formatInfo . asc _getType ( ) == Asc . c _oAscNumFormatType . Fraction ? this . cmbType . setValue ( this . txtCustom ) : t . formatInfo . asc _getType ( ) == Asc . c _oAscNumFormatType . Time ? this . cmbType . setValue ( this . api . asc _getLocaleExample ( t . format , 1.534 ) ) : this . cmbType . setValue ( this . api . asc _getLocaleExample ( t . format , 38822 ) ) } this . Format = t . format , this . lblExample . text ( this . api . asc _getLocaleExample ( this . Format ) ) } } , getSettings : function ( ) { return { format : this . Format } } , onDlgBtnClick : function ( t ) { var e = "object" == typeof t ? t . currentTarget . attributes . result . value : t ; "ok" == e && this . handler && this . handler . call ( this , e , "ok" == e ? this . getSettings ( ) : void 0 ) , this . close ( ) } , onPrimary : function ( ) { return this . onDlgBtnClick ( "ok" ) , ! 1 } , onNegativeSelect : function ( t , e ) { this . Format = e . value , this . lblExample . text ( this . api . asc _getLocaleExample ( this . Format ) ) } , onSymbolsSelect : function ( t , e ) { var i = this , n = new Asc . asc _CFormatCellsInfo ; n . asc _setType ( this . FormatType ) , n . asc _setDecimalPlaces ( this . spnDecimal . getNumberValue ( ) ) , n . asc _setSeparator ( ! 1 ) , n . asc _setSymbol ( e . value ) ; var o = this . api . asc _getFormatCells ( n ) , s = [ ] ; o . forEach ( function ( t ) { s . push ( { value : t , displayValue : i . api . asc _getLocaleExample ( t , - 1234.1234567890124 ) } ) } ) , this . cmbNegative . setData ( s ) , this . cmbNegative . selectRecord ( this . cmbNegative . store . at ( 0 ) ) , this . cmbNegative . cmpEl . find ( "li:nth-child(2) a, li:nth-child(4) a" ) . css ( { color : "#ff0000" } ) , this . Format = o [ 0 ] , this . lblExample . text ( this . api . asc _getLocaleExample ( this . Format ) ) } , onDecimalChange : function ( t , e , i , n ) { var o = this , s = new Asc . asc _CFormatCellsInfo ; s . asc _setType ( this . FormatType ) , s . asc _setDecimalPlaces ( t . getNumberValue ( ) ) , s . asc _setSeparator ( this . FormatType == Asc . c _oAscNumFormatType . Number && "checked" == this . chSeparator . getValue ( ) ) , s . asc _setSymbol ( ( this . FormatType == Asc . c _oAscNumFormatType . Currency || this . FormatType == Asc . c _oAscNumFormatType . Accounting ) && this . cmbSymbols . getValue ( ) ) ; var a = this . api . asc _getFormatCells ( s ) ; if ( this . FormatType == Asc . c _oAscNumFormatType . Number || this . FormatType == Asc . c _oAscNumFormatType . Currency || this . FormatType == Asc . c _oAscNumFormatType . Accounting ) { var l = [ ] ; a . forEach ( function ( t ) { l . push ( { value : t , displayValue : o . api . asc _getLocaleExample ( t , - 1234.1234567890124 ) } ) } ) , this . cmbNegative . setData ( l ) , this . cmbNegative . selectRecord ( this . cmbNegative . store . at ( 0 ) ) , this . cmbNegative . cmpEl . find ( "li:nth-child(2) a, li:nth-child(4) a" ) . css ( { color : "#ff0000" } ) , this . Format = a [ 0 ] } else this . Format = a [ 0 ] ; this . lblExample . text ( this . api . asc _getLocaleExample ( this . Format ) ) } , onSeparatorChange : function ( t , e , i , n ) { var o = this , s = new Asc . asc _CFormatCellsInfo ; s . asc _setType ( this . FormatType ) , s . asc _setDecimalPlaces ( this . spnDecimal . getNumberValue ( ) ) , s . asc _setSeparator ( "checked" == t . getValue ( ) ) ; var a = this . api . asc _getFormatCells ( s ) , l = [ ] ; a . forEach ( function ( t ) { l . push ( { value : t , displayValue : o . api . asc _getLocaleExample ( t , - 1234.1234567890124 ) } ) } ) , this . cmbNegative . setData ( l ) , this . cmbNegative . selectRecord ( this . cmbNegative . store . at ( 0 ) ) , this . cmbNegative . cmpEl . find ( "li:nth-child(2) a, li:nth-child(4) a" ) . css ( { color : "#ff0000" } ) , this . Format = a [ 0 ] , this . lblExample . text ( this . api . asc _getLocaleExample ( this . Format ) ) } , onTypeSelect : function ( t , e ) { this . Format = e . value , this . lblExample . text ( this . api . asc _getLocaleExample ( this . Format ) ) } , onCodeSelect : function ( t , e ) { this . Format = e . value , this . lblExample . text ( this . api . asc _getLocaleExample ( this . Format ) ) } , onFormatSelect : function ( t , e , i , n ) { if ( e ) { this . FormatType = e . value ; var o = e . value == Asc . c _oAscNumFormatType . Number || e . value == Asc . c _oAscNumFormatType . Scientific || e . value == Asc . c _oAscNumFormatType . Accounting || e . value == Asc . c _oAscNumFormatType . Currency || e . value == Asc . c _oAscNumFormatType . Percent , s = e . value == Asc . c _oAscNumFormatType . Number || e . value == Asc . c _oAscNumFormatType . Currency || e . value == Asc . c _oAscNumFormatType . Accounting , a = e . value == Asc . c _oAscNumFormatType . Number , l = e . value == Asc . c _oAscNumFormatType . Date || e . value == Asc . c _oAscNumFormatType . Time || e . value == Asc . c _oAscNumFormatT
; var t = this ; _ . delay ( function ( ) { t . onCanvasClick ( "#header-left-img" ) } , 500 ) } , _setDefaults : function ( t ) { var e = [ ] ; this . HFObject . getTextPresetsArr ( ) . forEach ( function ( t , i ) { e . push ( { displayValue : t , value : i } ) } ) , this . cmbPresetsH . setData ( e ) , this . cmbPresetsH . setValue ( this . textPresets ) , this . cmbPresetsF . setData ( e ) , this . cmbPresetsF . setValue ( this . textPresets ) , this . chOddPage . setValue ( this . HFObject . getDifferentOddEven ( ) ) , this . chFirstPage . setValue ( this . HFObject . getDifferentFirst ( ) ) , this . chAlign . setValue ( this . HFObject . getAlignWithMargins ( ) ) , this . chScale . setValue ( this . HFObject . getScaleWithDoc ( ) ) ; var i = "checked" == this . chOddPage . getValue ( ) ; this . btnOdd . setVisible ( i ) , this . btnEven . setVisible ( i ) , this . btnAll . setVisible ( ! i ) , i ? this . btnOdd . toggle ( ! 0 ) : this . btnAll . toggle ( ! 0 ) , i = "checked" == this . chFirstPage . getValue ( ) , this . btnFirst . setVisible ( i ) } , updateThemeColors : function ( ) { this . mnuTextColorPicker [ 0 ] . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) ) , this . mnuTextColorPicker [ 1 ] . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) ) } , getSettings : function ( ) { return { } } , onBtnClick : function ( t ) { this . _handleInput ( t . currentTarget . attributes . result . value ) } , onPrimary : function ( t ) { return this . _handleInput ( "ok" ) , ! 1 } , _handleInput : function ( t ) { if ( this . HFObject ) { var e = this . HFObject . destroy ( "ok" == t ) ; if ( e ) { var i = this ; return void this . showError ( function ( ) { _ . delay ( function ( ) { i . onCanvasClick ( e ) } , 50 ) } ) } this . HFObject = null } this . options . handler && this . options . handler . call ( this , this , t ) , this . close ( ) } , showError : function ( t ) { Common . UI . warning ( { title : this . notcriticalErrorTitle , msg : this . textMaxError , callback : t } ) } , scrollerUpdate : function ( ) { for ( var t in this . scrollers ) this . scrollers [ t ] && this . scrollers [ t ] . update ( ) } , scrollerScrollTop : function ( ) { for ( var t in this . scrollers ) this . scrollers [ t ] && this . scrollers [ t ] . scrollTop ( 0 ) } , onCanvasClick : function ( t , e ) { if ( this . HFObject ) { t = t || "#header-left-img" ; var i = this . currentCanvas !== t ; if ( i ) { this . currentCanvas = t , this . isFooter = "#footer-left-img" == t || "#footer-center-img" == t || "#footer-right-img" == t ; var n = this ; this . headerControls . forEach ( function ( t ) { t . setDisabled ( n . isFooter ) } ) , this . footerControls . forEach ( function ( t ) { t . setDisabled ( ! n . isFooter ) } ) } if ( e ) { var o = $ ( e . currentTarget ) . parent ( ) , s = o . offset ( ) ; this . HFObject . click ( t , e . pageX * Common . Utils . zoom ( ) - s . left , e . pageY * Common . Utils . zoom ( ) - s . top + o . scrollTop ( ) ) } else this . HFObject . click ( t ) ; i && this . scrollerUpdate ( ) } } , onApiResizeEditorHeight : function ( t ) { if ( this . editorCanvas ) { var e = this . editorCanvas . height ( ) ; e != this . editorCanvasHeight && ( this . editorCanvasHeight = e , this . scrollers [ this . currentCanvas ] && this . scrollers [ this . currentCanvas ] . update ( ) ) } } , onUpdateEditorCursorPosition : function ( t , e ) { if ( this . editorCanvas ) { var i = this . currentCanvas ; if ( this . scrollers [ i ] ) { var n = this . scrollers [ i ] . getScrollTop ( ) ; t + e > n + this . canvasBoxHeight ? this . scrollers [ i ] . scrollTop ( t + e - this . canvasBoxHeight ) : t < n && this . scrollers [ i ] . scrollTop ( t ) } } } , onPresetSelect : function ( t , e , i ) { e . setValue ( this . textPresets ) , this . HFObject && this . HFObject . applyPreset ( i . value , ! ! t ) , this . onCanvasClick ( t ? "#footer-left-img" : "#header-left-img" ) } , onObjectSelect : function ( t , e ) { t . setValue ( this . textInsert ) , this . HFObject && this . HFObject . addField ( e . value ) , this . onCanvasClick ( this . currentCanvas ) } , onFontSelect : function ( t , e ) { this . HFObject && this . HFObject . setFontName ( e . name ) , this . onCanvasClick ( this . currentCanvas ) } , onFontSizeSelect : function ( t , e ) { this . HFObject && this . HFObject . setFontSize ( e . value ) , this . onCanvasClick ( this . currentCanvas ) } , onFontSizeChanged : function ( t , e , i , n ) { var o ; if ( t ) { if ( ! e . store . findWhere ( { displayValue : i . value } ) && ! ( o = /^\+?(\d*\.?\d+)$|^\+?(\d+\.?\d*)$/ . exec ( i . value ) ) ) return o = e . getValue ( ) , e . setRawValue ( o ) , n . preventDefault ( ) , ! 1 } else o = parseFloat ( i . value ) , o = o > 409 ? 409 : o < 1 ? 1 : Math . floor ( 2 * ( o + . 4 ) ) / 2 , e . setRawValue ( o ) , this . HFObject && this . HFObject . setFontSize ( o ) } , onBoldClick : function ( t , e ) { this . HFObject && ( this . HFObject . setBold ( t . pressed ) , this . scrollerUpdate ( ) ) } , onItalicClick : function ( t , e ) { this . HFObject && ( this . HFObject . setItalic ( t . pressed ) , this . scrollerUpdate ( ) ) } , onUnderlineClick : function ( t , e ) { this . HFObject && ( this . H
} this . _state . angle = void 0 , this . api && this . api . asc _setCellAngle ( i ) } Common . NotificationCenter . trigger ( "edit:complete" , this . toolbar ) , Common . component . Analytics . trackEvent ( "ToolBar" , "Text orientation" ) } , onBtnInsertTableClick : function ( t , e ) { this . api && this . _setTableFormat ( this . api . asc _getDefaultTableStyle ( ) ) , Common . NotificationCenter . trigger ( "edit:complete" , this . toolbar ) , Common . component . Analytics . trackEvent ( "ToolBar" , "Table" ) } , onInsertImageMenu : function ( t , e , i ) { var n = this ; "file" === e . value ? ( this . toolbar . fireEvent ( "insertimage" , this . toolbar ) , this . api && this . api . asc _addImage ( ) , Common . NotificationCenter . trigger ( "edit:complete" , this . toolbar ) , Common . component . Analytics . trackEvent ( "ToolBar" , "Image" ) ) : "url" === e . value ? new Common . Views . ImageFromUrlDialog ( { handler : function ( t , e ) { if ( "ok" == t ) { if ( n . api ) { var i = e . replace ( /\s/g , "" ) ; _ . isEmpty ( i ) ? Common . UI . warning ( { msg : this . textEmptyImgUrl } ) : ( n . toolbar . fireEvent ( "insertimage" , n . toolbar ) , n . api . asc _addImageDrawingObject ( i ) , Common . component . Analytics . trackEvent ( "ToolBar" , "Image" ) ) } Common . NotificationCenter . trigger ( "edit:complete" , n . toolbar ) } } } ) . show ( ) : "storage" === e . value && ( this . toolbar . mode . canRequestInsertImage ? Common . Gateway . requestInsertImage ( ) : new Common . Views . SelectFileDlg ( { fileChoiceUrl : this . toolbar . mode . fileChoiceUrl . replace ( "{fileExt}" , "" ) . replace ( "{documentType}" , "ImagesOnly" ) } ) . on ( "selectfile" , function ( t , e ) { n . insertImage ( e ) } ) . show ( ) ) } , insertImage : function ( t ) { t && t . url && ( this . toolbar . fireEvent ( "insertimage" , this . toolbar ) , this . api . asc _addImageDrawingObject ( t . url , void 0 , t . token ) , Common . component . Analytics . trackEvent ( "ToolBar" , "Image" ) ) } , onHyperlink : function ( t ) { var e , i , n = this ; if ( n . api ) { for ( var o = n . api . asc _getWorksheetsCount ( ) , s = - 1 , a = [ ] ; ++ s < o ; ) this . api . asc _isWorksheetHidden ( s ) || a . push ( { displayValue : n . api . asc _getWorksheetName ( s ) , value : n . api . asc _getWorksheetName ( s ) } ) ; var l = function ( t , e ) { "ok" == e && ( i = t . getSettings ( ) , n . api . asc _insertHyperlink ( i ) ) , Common . NotificationCenter . trigger ( "edit:complete" , n . toolbar ) } , r = n . api . asc _getCellInfo ( ) , c = r . asc _getFlags ( ) . asc _getSelectionType ( ) ; i = r . asc _getHyperlink ( ) , e = new SSE . Views . HyperlinkSettingsDialog ( { api : n . api , handler : l } ) , e . show ( ) , e . setSettings ( { sheets : a , currentSheet : n . api . asc _getWorksheetName ( n . api . asc _getActiveWorksheetIndex ( ) ) , props : i , text : r . asc _getText ( ) , isLock : r . asc _getFlags ( ) . asc _getLockText ( ) , allowInternal : c !== Asc . c _oAscSelectionType . RangeImage && c !== Asc . c _oAscSelectionType . RangeShape && c !== Asc . c _oAscSelectionType . RangeShapeText && c !== Asc . c _oAscSelectionType . RangeChart && c !== Asc . c _oAscSelectionType . RangeChartText } ) } Common . component . Analytics . trackEvent ( "ToolBar" , "Add Hyperlink" ) } , onEditChart : function ( t ) { if ( this . editMode ) { var e = this , i = e . api . asc _getCellInfo ( ) ; if ( i . asc _getFlags ( ) . asc _getSelectionType ( ) != Asc . c _oAscSelectionType . RangeImage ) { var n ; if ( e . api ) { n = e . api . asc _getChartObject ( ) ; for ( var o = e . api . asc _getGraphicObjectProps ( ) , s = null , a = 0 ; a < o . length ; a ++ ) if ( o [ a ] . asc _getObjectType ( ) == Asc . c _oAscTypeSelectElement . Image ) { var l = o [ a ] . asc _getObjectValue ( ) ; l . asc _getChartProperties ( ) && ( s = l ) } if ( n ) { var r = e . toolbar . mode . isEditDiagram || i . asc _getFlags ( ) . asc _getSelectionType ( ) == Asc . c _oAscSelectionType . RangeChart || i . asc _getFlags ( ) . asc _getSelectionType ( ) == Asc . c _oAscSelectionType . RangeChartText ; new SSE . Views . ChartSettingsDlg ( { chartSettings : n , imageSettings : s , isChart : ! 0 , api : e . api , handler : function ( t , i ) { "ok" == t && e . api && ( r ? e . api . asc _editChartDrawingObject ( i . chartSettings ) : e . api . asc _addChartDrawingObject ( i . chartSettings ) , i . imageSettings && e . api . asc _setGraphicObjectProps ( i . imageSettings ) ) , Common . NotificationCenter . trigger ( "edit:complete" , e . toolbar ) } } ) . show ( ) } } } } } , onSelectChart : function ( t , e , i , n ) { if ( this . editMode && i ) { var o = this , s = o . api . asc _getCellInfo ( ) , a = s . asc _getFlags ( ) . asc _getSelectionType ( ) , l = i . get ( "group" ) , r = "menu-chart-group-sparkcolumn" == l || "menu-chart-group-sparkline" == l || "menu-chart-group-sparkwin" == l ; if ( a != Asc . c _oAscSelectionType . RangeImage && o . api ) { var c ; if ( ! r || a != Asc . c _oAscSelectionType . RangeCells && a != Asc . c _oAscSelectionType . RangeCol && a != Asc . c _oAscSelectionType . RangeRow && a != Asc . c _oAscSelectionType . RangeMax ) { if ( ! r ) { var h = a == Asc . c _oAscSelectionType . RangeChart || a == Asc . c _oAscSelectionType .
if ( r = t . asc _getHorAlign ( ) , this . _state . pralign !== r ) { this . _state . pralign = r ; var E , g = - 1 ; switch ( r ) { case AscCommon . align _Left : g = 0 , E = "btn-align-left" ; break ; case AscCommon . align _Center : g = 1 , E = "btn-align-center" ; break ; case AscCommon . align _Right : g = 2 , E = "btn-align-right" ; break ; case AscCommon . align _Justify : g = 3 , E = "btn-align-just" ; break ; default : g = - 255 , E = "btn-align-left" } g < 0 ? - 255 == g && ( s . btnAlignRight . toggle ( ! 1 , ! 0 ) , s . btnAlignLeft . toggle ( ! 1 , ! 0 ) , s . btnAlignCenter . toggle ( ! 1 , ! 0 ) , s . btnAlignJust . toggle ( ! 1 , ! 0 ) , s . btnHorizontalAlign . menu . clearAll ( ) ) : ( s . btnAlignRight . toggle ( 2 === g , ! 0 ) , s . btnAlignLeft . toggle ( 0 === g , ! 0 ) , s . btnAlignCenter . toggle ( 1 === g , ! 0 ) , s . btnAlignJust . toggle ( 3 === g , ! 0 ) , s . btnHorizontalAlign . menu . items [ g ] . setChecked ( ! 0 , ! 1 ) ) ; var P = this . toolbar . btnHorizontalAlign ; P . rendered && ( P . $icon . removeClass ( P . options . icls ) . addClass ( E ) , P . options . icls = E ) } if ( l = r == AscCommon . align _Justify || i == Asc . c _oAscSelectionType . RangeShapeText , s . btnTextOrient . menu . items [ 1 ] . setDisabled ( l ) , s . btnTextOrient . menu . items [ 2 ] . setDisabled ( l ) , r = t . asc _getVertAlign ( ) , this . _state . valign !== r ) { switch ( this . _state . valign = r , g = - 1 , E = "" , r ) { case Asc . c _oAscVAlign . Top : g = 0 , E = "btn-valign-top" ; break ; case Asc . c _oAscVAlign . Center : g = 1 , E = "btn-valign-middle" ; break ; case Asc . c _oAscVAlign . Bottom : g = 2 , E = "btn-valign-bottom" } if ( g > - 1 ) { s . btnAlignTop . toggle ( 0 === g , ! 0 ) , s . btnAlignMiddle . toggle ( 1 === g , ! 0 ) , s . btnAlignBottom . toggle ( 2 === g , ! 0 ) , s . btnVerticalAlign . menu . items [ g ] . setChecked ( ! 0 , ! 1 ) ; var M = this . toolbar . btnVerticalAlign ; M . rendered && ( M . $icon . removeClass ( M . options . icls ) . addClass ( E ) , M . options . icls = E ) } } l = this . _state . controlsdisabled . filters || null !== I || T && null === T . asc _getIsAutoFilter ( ) , s . lockToolbar ( SSE . enumLock . ruleMerge , l , { array : [ s . btnMerge , s . btnInsertTable ] } ) , e = t . asc _getFlags ( ) . asc _getMerge ( ) , this . _state . merge !== e && ( s . btnMerge . toggle ( e === Asc . c _oAscMergeOptions . Merge , ! 0 ) , this . _state . merge = e ) , s . btnWrap . isDisabled ( ) || ( e = t . asc _getFlags ( ) . asc _getWrapText ( ) , this . _state . wrap !== e && ( s . btnWrap . toggle ( ! 0 === e , ! 0 ) , this . _state . wrap = e ) ) } e = T ? T . asc _getIsAutoFilter ( ) : null , this . _state . filter !== e && ( s . btnsSetAutofilter . toggle ( ! 0 === e , ! 0 ) , this . _state . filter = e ) , l = this . _state . controlsdisabled . filters || null === e , s . lockToolbar ( SSE . enumLock . ruleFilter , l , { array : s . btnsSetAutofilter . concat ( s . btnsSortDown , s . btnsSortUp , s . btnTableTemplate , s . btnInsertTable ) } ) , e = I ? I . asc _getTableStyleName ( ) : null , this . _state . tablestylename !== e && this . toolbar . mnuTableTemplatePicker && ( e = this . toolbar . mnuTableTemplatePicker . store . findWhere ( { name : e } ) , e ? ( this . toolbar . mnuTableTemplatePicker . selectRecord ( e ) , this . _state . tablestylename = e . get ( "name" ) ) : ( s . mnuTableTemplatePicker . deselectAll ( ) , this . _state . tablestylename = null ) ) , l = this . _state . controlsdisabled . filters || ! T || ! 0 !== T . asc _getIsApplyAutoFilter ( ) , s . lockToolbar ( SSE . enumLock . ruleDelFilter , l , { array : s . btnsClearAutofilter } ) ; var D = this . _state . tablename ; this . _state . tablename = I ? I . asc _getTableName ( ) : void 0 ; var F = this . _state . filterapplied ; this . _state . filterapplied = this . _state . filter && T . asc _getIsApplyAutoFilter ( ) , this . _state . tablename === D && this . _state . filterapplied === F || this . getApplication ( ) . getController ( "Statusbar" ) . onApiFilterInfo ( ! l ) , this . _state . multiselect = t . asc _getFlags ( ) . asc _getMultiselect ( ) , s . lockToolbar ( SSE . enumLock . multiselect , this . _state . multiselect , { array : [ s . btnTableTemplate , s . btnInsertHyperlink , s . btnInsertTable ] } ) , this . _state . inpivot = ! ! t . asc _getPivotTableInfo ( ) , s . lockToolbar ( SSE . enumLock . editPivot , this . _state . inpivot , { array : s . btnsSetAutofilter . concat ( s . btnsClearAutofilter , s . btnsSortDown , s . btnsSortUp , s . btnMerge , s . btnInsertHyperlink , s . btnInsertTable ) } ) , l = ! this . appConfig . canModifyFilter , s . lockToolbar ( SSE . enumLock . cantModifyFilter , l , { array : s . btnsSetAutofilter . concat ( s . btnsSortDown , s . btnsSortUp , s . btnTableTemplate , s . btnClearStyle . menu . items [ 0 ] , s . btnClearStyle . menu . items [ 2 ] , s . btnInsertTable ) } ) } if ( e = t . asc _getNumFormatInfo ( ) , e && ( this . _state . numformat = t . asc _getNumFormat ( ) , this . _state . numformatinfo = e , e = e . asc _getType ( ) , this . _state . numformattype !== e && ( s . cmbNumberFormat . setValue ( e , s . txtCustom ) , this . _state . numformattype = e ) ) , i == Asc . c _oAscSelectionType . RangeShapeText ) for ( var U = this . api . asc _getGraphicObjectProps ( ) , A = 0 ; A < U . length ; ++ A ) U [ A ] . asc _get
textFontSizeErr : "The entered value is incorrect.<br>Please enter a numeric value between 1 and 409" , textCancel : "Cancel" , confirmAddFontName : "The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the device fonts, the saved font will be used when it is available.<br>Do you want to continue?" , textSymbols : "Symbols" , textFraction : "Fraction" , textScript : "Script" , textRadical : "Radical" , textIntegral : "Integral" , textLargeOperator : "Large Operator" , textBracket : "Bracket" , textFunction : "Function" , textAccent : "Accent" , textLimitAndLog : "Limit And Log" , textOperator : "Operator" , textMatrix : "Matrix" , txtSymbol _pm : "Plus Minus" , txtSymbol _infinity : "Infinity" , txtSymbol _equals : "Equal" , txtSymbol _neq : "Not Equal To" , txtSymbol _about : "Approximately" , txtSymbol _times : "Multiplication Sign" , txtSymbol _div : "Division Sign" , txtSymbol _factorial : "Factorial" , txtSymbol _propto : "Proportional To" , txtSymbol _less : "Less Than" , txtSymbol _ll : "Much Less Than" , txtSymbol _greater : "Greater Than" , txtSymbol _gg : "Much Greater Than" , txtSymbol _leq : "Less Than or Equal To" , txtSymbol _geq : "Greater Than or Equal To" , txtSymbol _mp : "Minus Plus" , txtSymbol _cong : "Approximately Equal To" , txtSymbol _approx : "Almost Equal To" , txtSymbol _equiv : "Identical To" , txtSymbol _forall : "For All" , txtSymbol _additional : "Complement" , txtSymbol _partial : "Partial Differential" , txtSymbol _sqrt : "Radical Sign" , txtSymbol _cbrt : "Cube Root" , txtSymbol _qdrt : "Fourth Root" , txtSymbol _cup : "Union" , txtSymbol _cap : "Intersection" , txtSymbol _emptyset : "Empty Set" , txtSymbol _percent : "Percentage" , txtSymbol _degree : "Degrees" , txtSymbol _fahrenheit : "Degrees Fahrenheit" , txtSymbol _celsius : "Degrees Celsius" , txtSymbol _inc : "Increment" , txtSymbol _nabla : "Nabla" , txtSymbol _exists : "There Exist" , txtSymbol _notexists : "There Does Not Exist" , txtSymbol _in : "Element Of" , txtSymbol _ni : "Contains as Member" , txtSymbol _leftarrow : "Left Arrow" , txtSymbol _uparrow : "Up Arrow" , txtSymbol _rightarrow : "Right Arrow" , txtSymbol _downarrow : "Down Arrow" , txtSymbol _leftrightarrow : "Left-Right Arrow" , txtSymbol _therefore : "Therefore" , txtSymbol _plus : "Plus" , txtSymbol _minus : "Minus" , txtSymbol _not : "Not Sign" , txtSymbol _ast : "Asterisk Operator" , txtSymbol _bullet : "Bulet Operator" , txtSymbol _vdots : "Vertical Ellipsis" , txtSymbol _cdots : "Midline Horizontal Ellipsis" , txtSymbol _rddots : "Up Right Diagonal Ellipsis" , txtSymbol _ddots : "Down Right Diagonal Ellipsis" , txtSymbol _aleph : "Alef" , txtSymbol _beth : "Bet" , txtSymbol _qed : "End of Proof" , txtSymbol _alpha : "Alpha" , txtSymbol _beta : "Beta" , txtSymbol _gamma : "Gamma" , txtSymbol _delta : "Delta" , txtSymbol _varepsilon : "Epsilon Variant" , txtSymbol _epsilon : "Epsilon" , txtSymbol _zeta : "Zeta" , txtSymbol _eta : "Eta" , txtSymbol _theta : "Theta" , txtSymbol _vartheta : "Theta Variant" , txtSymbol _iota : "Iota" , txtSymbol _kappa : "Kappa" , txtSymbol _lambda : "Lambda" , txtSymbol _mu : "Mu" , txtSymbol _nu : "Nu" , txtSymbol _xsi : "Xi" , txtSymbol _o : "Omicron" , txtSymbol _pi : "Pi" , txtSymbol _varpi : "Pi Variant" , txtSymbol _rho : "Rho" , txtSymbol _varrho : "Rho Variant" , txtSymbol _sigma : "Sigma" , txtSymbol _varsigma : "Sigma Variant" , txtSymbol _tau : "Tau" , txtSymbol _upsilon : "Upsilon" , txtSymbol _varphi : "Phi Variant" , txtSymbol _phi : "Phi" , txtSymbol _chi : "Chi" , txtSymbol _psi : "Psi" , txtSymbol _omega : "Omega" , txtFractionVertical : "Stacked Fraction" , txtFractionDiagonal : "Skewed Fraction" , txtFractionHorizontal : "Linear Fraction" , txtFractionSmall : "Small Fraction" , txtFractionDifferential _1 : "Differential" , txtFractionDifferential _2 : "Differential" , txtFractionDifferential _3 : "Differential" , txtFractionDifferential _4 : "Differential" , txtFractionPi _2 : "Pi Over 2" , txtScriptSup : "Superscript" , txtScriptSub : "Subscript" , txtScriptSubSup : "Subscript-Superscript" , txtScriptSubSupLeft : "Left Subscript-Superscript" , txtScriptCustom _1 : "Script" , txtScriptCustom _2 : "Script" , txtScriptCustom _3 : "Script" , txtScriptCustom _4 : "Script" , txtRadicalSqrt : "Square Root" , txtRadicalRoot _n : "Radical With Degree" , txtRadicalRoot _2 : "Square Root With Degree" , txtRadicalRoot _3 : "Cubic Root" , txtRadicalCustom _1 : "Radical" , txtRadicalCustom _2 : "Radical" , txtIntegral : "Integral" , txtIntegralSubSup : "Integral" , txtIntegralCenterSubSup : "Integral" , txtIntegralDouble : "Double Integral" , txtIntegra
this . tabBarScroll = void 0 ) , this . tabbar . isTabVisible ( l ) || this . tabbar . setTabVisible ( l ) , this . btnAddWorksheet . setDisabled ( t . mode . isDisconnected || t . api . asc _isWorkbookLocked ( ) ) , $ ( "#status-label-zoom" ) . text ( Common . Utils . String . format ( this . zoomText , Math . floor ( 100 * ( this . api . asc _getZoom ( ) + . 005 ) ) ) ) , t . fireEvent ( "sheet:changed" , [ t , l ] ) , t . fireEvent ( "sheet:updateColors" , [ ! 0 ] ) , Common . NotificationCenter . trigger ( "comments:updatefilter" , [ "doc" , "sheet" + t . api . asc _getActiveWorksheetId ( ) ] , ! 1 ) } } , setMathInfo : function ( t ) { t . count > 1 ? ( this . boxMath . is ( ":visible" ) || this . boxMath . show ( ) , this . labelCount . text ( this . textCount + ": " + t . count ) , this . labelMin . text ( t . min && t . min . length ? this . textMin + ": " + t . min : "" ) , this . labelMax . text ( t . max && t . max . length ? this . textMax + ": " + t . max : "" ) , this . labelSum . text ( t . sum && t . sum . length ? this . textSum + ": " + t . sum : "" ) , this . labelAverage . text ( t . average && t . average . length ? this . textAverage + ": " + t . average : "" ) ) : this . boxMath . is ( ":visible" ) && this . boxMath . hide ( ) ; var e = this ; _ . delay ( function ( ) { e . onTabInvisible ( void 0 , e . tabbar . checkInvisible ( ! 0 ) ) } , 30 ) } , setFilteredInfo : function ( t , e ) { if ( t > 0 && e > 0 ) this . boxFiltered . is ( ":visible" ) || this . boxFiltered . show ( ) , this . labelFiltered . text ( Common . Utils . String . format ( this . filteredRecordsText , t , e ) ) ; else if ( t ) this . boxFiltered . is ( ":visible" ) || this . boxFiltered . show ( ) , this . labelFiltered . text ( this . filteredText ) ; else if ( void 0 !== t && null !== t ) this . boxFiltered . is ( ":visible" ) && this . boxFiltered . hide ( ) ; else { var i = this . api . asc _getCellInfo ( ) . asc _getAutoFilterInfo ( ) , n = ! i || ! 0 !== i . asc _getIsApplyAutoFilter ( ) ; this . setFilteredInfo ( ! n ) } var o = this ; _ . delay ( function ( ) { o . onTabInvisible ( void 0 , o . tabbar . checkInvisible ( ! 0 ) ) } , 30 ) } , onSheetChanged : function ( t , e , i ) { this . api . asc _showWorksheet ( i . sheetindex ) , this . hasTabInvisible && ! this . tabbar . isTabVisible ( e ) && this . tabbar . setTabVisible ( e ) , this . fireEvent ( "sheet:changed" , [ this , i . sheetindex ] ) , this . fireEvent ( "sheet:updateColors" , [ ! 0 ] ) } , onTabMenu : function ( t , e , i ) { if ( this . mode . isEdit && ! this . isEditFormula && this . rangeSelectionMode !== Asc . c _oAscSelectionDialogType . Chart && this . rangeSelectionMode !== Asc . c _oAscSelectionDialogType . FormatTable && ! this . mode . isDisconnected && i && i . sheetindex >= 0 ) { var n = i . $el . get ( 0 ) . getBoundingClientRect ( ) , o = ( i . $el . offset ( ) , i . $el . parent ( ) . offset ( ) ) ; i . isActive ( ) || this . tabbar . setActive ( i ) ; var s = this . api . asc _isWorksheetLockedOrDeleted ( i . sheetindex ) , a = this . api . asc _isWorkbookLocked ( ) ; this . tabMenu . items [ 0 ] . setDisabled ( a ) , this . tabMenu . items [ 1 ] . setDisabled ( s ) , this . tabMenu . items [ 2 ] . setDisabled ( s ) , this . tabMenu . items [ 3 ] . setDisabled ( s ) , this . tabMenu . items [ 4 ] . setDisabled ( s ) , this . tabMenu . items [ 5 ] . setDisabled ( s ) , this . tabMenu . items [ 6 ] . setDisabled ( a ) , this . tabMenu . items [ 7 ] . setDisabled ( s ) , this . api . asc _closeCellEditor ( ) , this . api . asc _enableKeyEvents ( ! 1 ) , this . tabMenu . atposition = function ( ) { return { top : n . top , left : n . left - o . left - 2 } } ( ) , this . tabMenu . hide ( ) , this . tabMenu . show ( ) ; var l = this . tabMenu ; _ . defer ( function ( ) { l . cmpEl . focus ( ) } , 10 ) } } , onTabMenuAfterShow : function ( t ) { t . atposition && t . setOffset ( t . atposition . left ) , this . enableKeyEvents = ! 0 } , onTabMenuAfterHide : function ( ) { _ . isUndefined ( this . enableKeyEvents ) || ( this . api && this . api . asc _enableKeyEvents ( this . enableKeyEvents ) , this . enableKeyEvents = void 0 ) } , onTabMenuClick : function ( t , e ) { e && this . api && ( this . enableKeyEvents = "ins" === e . value || "hide" === e . value ) } , onTabInvisible : function ( t , e ) { this . btnScrollFirst . isDisabled ( ) !== ! e . first && ( this . btnScrollFirst . setDisabled ( ! e . first ) , this . btnScrollBack . setDisabled ( ! e . first ) ) , this . btnScrollNext . isDisabled ( ) !== ! e . last && ( this . btnScrollNext . setDisabled ( ! e . last ) , this . btnScrollLast . setDisabled ( ! e . last ) ) , this . hasTabInvisible = e . first || e . last } , onBtnTabScroll : function ( t , e ) { this . tabbar . setTabVisible ( t ) } , updateTabbarBorders : function ( ) { var t = parseInt ( this . boxZoom . css ( "width" ) ) , e = ! 1 ; this . boxMath . is ( ":visible" ) && ( t += parseInt ( this . boxMath . css ( "width" ) ) , e = ! 0 ) , this . boxFiltered . is ( ":visible" ) && ( t += parseInt ( this . boxFiltered . css ( "width" ) ) , e = ! 0 ) , this . boxZoom . find ( ".separator" ) . css ( "border-left-color" , e ? "" : "transparent" ) , this . tabBarBox . css ( "right" , t + "px" ) } , changeViewMode : function ( t ) { t ? this . tabBarBox . css ( "left" , "152px" ) : this . tabBarBox . css ( "left" , "" ) , this . tabbar . options . draggable = t
return '<div id="view-right-menu" class="tool-menu right">\n <div class="right-panel">\n <div id="id-table-settings" class="settings-panel">\n </div>\n <div id="id-shape-settings" class="settings-panel">\n </div>\n <div id="id-image-settings" class="settings-panel">\n </div>\n <div id="id-chart-settings" class="settings-panel">\n </div>\n <div id="id-paragraph-settings" class="settings-panel">\n </div>\n <div id="id-textart-settings" class="settings-panel">\n </div>\n <div id="id-pivot-settings" class="settings-panel">\n </div>\n <div id="id-signature-settings" class="settings-panel">\n </div>\n <div id="id-cell-settings" class="settings-panel">\n </div>\n </div>\n <div class="tool-menu-btns">\n <div class="ct-btn-category arrow-left" />\n <button id="id-right-menu-cell" class="btn btn-category arrow-left" content-target="id-cell-settings"><i class="icon img-toolbarmenu btn-menu-cell"> </i></button>\n <button id="id-right-menu-table" class="btn btn-category arrow-left" content-target="id-table-settings"><i class="icon img-toolbarmenu btn-menu-table"> </i></button>\n <button id="id-right-menu-shape" class="btn btn-category arrow-left" content-target="id-shape-settings"><i class="icon img-toolbarmenu btn-menu-shape"> </i></button>\n <button id="id-right-menu-image" class="btn btn-category arrow-left" content-target="id-image-settings"><i class="icon img-toolbarmenu btn-menu-image"> </i></button>\n <button id="id-right-menu-chart" class="btn btn-category arrow-left" content-target="id-chart-settings"><i class="icon img-toolbarmenu btn-menu-chart"> </i></button>\n <button id="id-right-menu-text" class="btn btn-category arrow-left" content-target="id-paragraph-settings"><i class="icon img-toolbarmenu btn-menu-text"> </i></button>\n <button id="id-right-menu-textart" class="btn btn-category arrow-left" content-target="id-textart-settings"><i class="icon img-toolbarmenu btn-menu-textart"> </i></button>\n <button id="id-right-menu-pivot" class="btn btn-category arrow-left hidden" content-target="id-pivot-settings"><i class="icon img-toolbarmenu btn-menu-pivot"> </i></button>\n <button id="id-right-menu-signature" class="btn btn-category arrow-left hidden" content-target="id-signature-settings"><i class="icon img-toolbarmenu btn-menu-signature"> </i></button>\n </div>\n</div>' } ) , define ( "text!spreadsheeteditor/main/app/template/ParagraphSettings.template" , [ ] , function ( ) { return '<table cols="2">\r\n <tr>\r\n <td colspan=2>\r\n <label class="header"><%= scope.strLineHeight %></label>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td class="padding-small" width="50%">\r\n <div id="paragraph-combo-line-rule" style="width: 85px;"></div>\r\n </td>\r\n <td class="padding-small" width="50%">\r\n <div id="paragraph-spin-line-height"></div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td colspan=2>\r\n <label class="header"><%= scope.strParagraphSpacing %></label>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td class="padding-small" width="50%">\r\n <label class="input-label"><%= scope.strSpacingBefore %></label>\r\n <div id="paragraph-spin-spacing-before"></div>\r\n </td>\r\n <td class="padding-small" width="50%">\r\n <label class="input-label"><%= scope.strSpacingAfter %></label>\r\n <div id="paragraph-spin-spacing-after"></div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td class="padding-small" colspan=2>\r\n <div class="separator horizontal"></div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td align="center" colspan=2>\r\n <label class="link" id="paragraph-advanced-link"><%= scope.textAdvanced %></label>\r\n </td>\r\n </tr>\r\n <tr class="finish-cell"></tr>\r\n</table>' } ) ; var c _paragrap
return ' < table cols = "3" id = "chart-panel-size" > \ r \ n < tr > \ r \ n < td colspan = 3 > \ r \ n < label class = "header" > < %= scope . textSize % > < / l a b e l > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " w i d t h = " 8 8 p x " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t W i d t h % > < / l a b e l > \ r \ n < d i v i d = " c h a r t - s p i n - w i d t h " > < / d i v > \ r \ n < / t d > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " w i d t h = " 2 8 p x " s t y l e = " v e r t i c a l - a l i g n : b o t t o m ; " > \ r \ n < d i v i d = " c h a r t - b u t t o n - r a t i o " > < / d i v > \ r \ n < / t d > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " w i d t h = " 8 8 p x " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t H e i g h t % > < / l a b e l > \ r \ n < d i v i d = " c h a r t - s p i n - h e i g h t " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < / t a b l e > \ r \ n < t a b l e c o l s = " 1 " i d = " c h a r t - p a n e l - t y p e s " > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < d i v c l a s s = " s e p a r a t o r h o r i z o n t a l " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . t e x t T y p e % > < / l a b e l > \ r \ n < d i v i d = " c h a r t - b u t t o n - t y p e " s t y l e = " " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " h e a d e r " s t y l e = " " > < % = s c o p e . t e x t S t y l e % > < / l a b e l > \ r \ n < d i v c l a s s = " " i d = " c h a r t - c o m b o - s t y l e " s t y l e = " w i d t h : 1 0 0 % ; " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < d i v c l a s s = " s e p a r a t o r h o r i z o n t a l " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . t e x t R a n g e s % > < / l a b e l > \ r \ n < b u t t o n t y p e = " b u t t o n " c l a s s = " b t n b t n - t e x t - d e f a u l t " i d = " c h a r t - b t n - s e l e c t - d a t a " s t y l e = " m i n - w i d t h : 1 0 0 p x ; w i d t h : a u t o ; d i s p l a y : b l o c k ; " > < % = s c o p e . t e x t S e l e c t D a t a % > < / b u t t o n > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < / t a b l e > \ r \ n < t a b l e c o l s = " 1 " i d = " s p a r k - p a n e l - t y p e s " > \ r \ n < t r > \ r \ n < t d > \ r \ n < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . t e x t T y p e % > < / l a b e l > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < d i v i d = " s p a r k - b u t t o n - t y p e " s t y l e = " " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < d i v c l a s s = " s e p a r a t o r h o r i z o n t a l " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d > \ r \ n < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . t e x t S t y l e % > < / l a b e l > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " " > < % = s c o p e . s t r T e m p l a t e % > < / l a b e l > \ r \ n < d i v c l a s s = " " i d = " s p a r k - c o m b o - s t y l e " s t y l e = " w i d t h : 1 0 0 % ; " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < d i v s t y l e = " d i s p l a y : i n l i n e - b l o c k ; v e r t i c a l - a l i g n : m i d d l e ; w i d t h : 5 5 p x ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " " > < % = s c o p e . s t r S p a r k C o l o r % > < / l a b e l > \ r \ n < d i v i d = " s p a r k - c o l o r - b t n " s t y l e = " " > < / d i v > \ r \ n < / d i v > \ r \ n < d i v s t y l e = " d i s p l a y : i n l i n e - b l o c k ; v e r t i c a l - a l i g n : m i d d l e ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " " > < % = s c o p e . s t r L i n e W e i g h t % > < / l a b e l > \ r \ n < d i v i d = " s p a r k - c o m b o - l i n e - t y p e " s t y l e = " w i d t h : 9 3 p x ; " > < / d i v > \ r \ n < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < d i v c l a s s = " s e p a r a t o r h o r i z o n t a l " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < / t a b l e > \ r \ n < t a b l e c o l s = " 1 " i d = " s p a r k - p a n e l - p o i n t s " > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " h e a d e r " s t y l e = " m a r g i n - b o t t o m : 4 p x ; " > < % = s c o p e . t e x t S h o w % > < / l a b e l > \ r \ n < d i v s t y l e = " w i d t h : 1 0 0 % ; h e i g h t : 2 5 p x ; m a r g i n - b o t t o m : 8 p x ; " > \ r \ n < d i v i d = " s p a r k - c h e c k b o x - h i g h " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; m a r g i n - t o p : 4 p x ; " > < / d i v > \ r \ n < d i v i d = " s p a r k - h i g h - c o l o r - b t n " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; f l o a t : r i g h t ; " > < / d i v > \ r \ n < / d i v > \ r \ n < d i v s t y l e = " w i d t h : 1 0 0 % ; h e i g h t : 2 5 p x ; m a r g i n - b o t t o m : 8 p x ; " > \ r \ n < d i v i d = " s p a r k - c h e c k b o x - l o w " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; m a r g i n - t o p : 4 p x ; " > < / d i v > \ r \ n
ChartType : Asc . c _oAscChartTypeSettings . barNormal , SparkType : - 1 } , this . _noApply = ! 0 , this . _changedProps = null , this . api = this . options . api , this . chartSettings = this . options . chartSettings , this . imageSettings = this . options . imageSettings , this . sparklineStyles = this . options . sparklineStyles , this . isChart = this . options . isChart , this . vertAxisProps = null , this . horAxisProps = null , this . currentAxisProps = null , this . dataRangeValid = "" , this . sparkDataRangeValid = "" , this . dataLocationRangeValid = "" , this . currentChartType = this . _state . ChartType , this . storageName = this . isChart ? "sse-chart-settings-adv-category" : "sse-spark-settings-adv-category" } , render : function ( ) { Common . Views . AdvancedSettingsWindow . prototype . render . call ( this ) ; var t = this ; this . getChild ( ) ; this . btnChartType = new Common . UI . Button ( { cls : "btn-large-dataview" , iconCls : "item-chartlist bar-normal" , menu : new Common . UI . Menu ( { style : "width: 435px; padding-top: 12px;" , additionalAlign : this . menuAddAlign , items : [ { template : _ . template ( '<div id="id-chart-dlg-menu-type" class="menu-insertchart" style="margin: 5px 5px 5px 10px;"></div>' ) } ] } ) } ) , this . btnChartType . on ( "render:after" , function ( e ) { t . mnuChartTypePicker = new Common . UI . DataView ( { el : $ ( "#id-chart-dlg-menu-type" ) , parentMenu : e . menu , restoreHeight : 421 , groups : new Common . UI . DataViewGroupStore ( [ { id : "menu-chart-group-bar" , caption : t . textColumn } , { id : "menu-chart-group-line" , caption : t . textLine } , { id : "menu-chart-group-pie" , caption : t . textPie } , { id : "menu-chart-group-hbar" , caption : t . textBar } , { id : "menu-chart-group-area" , caption : t . textArea , inline : ! 0 } , { id : "menu-chart-group-scatter" , caption : t . textPoint , inline : ! 0 } , { id : "menu-chart-group-stock" , caption : t . textStock , inline : ! 0 } ] ) , store : new Common . UI . DataViewStore ( [ { group : "menu-chart-group-bar" , type : Asc . c _oAscChartTypeSettings . barNormal , iconCls : "column-normal" , selected : ! 0 } , { group : "menu-chart-group-bar" , type : Asc . c _oAscChartTypeSettings . barStacked , iconCls : "column-stack" } , { group : "menu-chart-group-bar" , type : Asc . c _oAscChartTypeSettings . barStackedPer , iconCls : "column-pstack" } , { group : "menu-chart-group-bar" , type : Asc . c _oAscChartTypeSettings . barNormal3d , iconCls : "column-3d-normal" } , { group : "menu-chart-group-bar" , type : Asc . c _oAscChartTypeSettings . barStacked3d , iconCls : "column-3d-stack" } , { group : "menu-chart-group-bar" , type : Asc . c _oAscChartTypeSettings . barStackedPer3d , iconCls : "column-3d-pstack" } , { group : "menu-chart-group-bar" , type : Asc . c _oAscChartTypeSettings . barNormal3dPerspective , iconCls : "column-3d-normal-per" } , { group : "menu-chart-group-line" , type : Asc . c _oAscChartTypeSettings . lineNormal , iconCls : "line-normal" } , { group : "menu-chart-group-line" , type : Asc . c _oAscChartTypeSettings . lineStacked , iconCls : "line-stack" } , { group : "menu-chart-group-line" , type : Asc . c _oAscChartTypeSettings . lineStackedPer , iconCls : "line-pstack" } , { group : "menu-chart-group-line" , type : Asc . c _oAscChartTypeSettings . line3d , iconCls : "line-3d" } , { group : "menu-chart-group-pie" , type : Asc . c _oAscChartTypeSettings . pie , iconCls : "pie-normal" } , { group : "menu-chart-group-pie" , type : Asc . c _oAscChartTypeSettings . doughnut , iconCls : "pie-doughnut" } , { group : "menu-chart-group-pie" , type : Asc . c _oAscChartTypeSettings . pie3d , iconCls : "pie-3d-normal" } , { group : "menu-chart-group-hbar" , type : Asc . c _oAscChartTypeSettings . hBarNormal , iconCls : "bar-normal" } , { group : "menu-chart-group-hbar" , type : Asc . c _oAscChartTypeSettings . hBarStacked , iconCls : "bar-stack" } , { group : "menu-chart-group-hbar" , type : Asc . c _oAscChartTypeSettings . hBarStackedPer , iconCls : "bar-pstack" } , { group : "menu-chart-group-hbar" , type : Asc . c _oAscChartTypeSettings . hBarNormal3d , iconCls : "bar-3d-normal" } , { group : "menu-chart-group-hbar" , type : Asc . c _oAscChartTypeSettings . hBarStacked3d , iconCls : "bar-3d-stack" } , { group : "menu-chart-group-hbar" , type : Asc . c _oAscChartTypeSettings . hBarStackedPer3d , iconCls : "bar-3d-pstack" } , { group : "menu-chart-group-area" , type : Asc . c _oAscChartTypeSettings . areaNormal , iconCls : "area-normal" } , { group : "menu-chart-group-area" , type : Asc . c _oAscChartTypeSettings . areaStacked , iconCls : "area-stack" } , { group : "menu-chart-group-area" , type : Asc . c _oAscChartTypeSettings . areaStackedPer , iconCls : "area-pstack" } , { group : "menu-chart-group-scatter" , type : Asc . c _oAscChartTypeSettings . scatter , iconCls : "point-normal" } , { group : " menu - chart - group -
value : Asc . c _oAscChartDataLabelsPos . bestFit , displayValue : this . textFit } , { value : Asc . c _oAscChartDataLabelsPos . inEnd , displayValue : this . textInnerTop } , { value : Asc . c _oAscChartDataLabelsPos . outEnd , displayValue : this . textOuterTop } ) , this . cmbDataLabels . setData ( i ) } if ( void 0 !== e ) { this . cmbDataLabels . store . findWhere ( { value : e } ) || ( e = Asc . c _oAscChartDataLabelsPos . ctr ) } else e = Asc . c _oAscChartDataLabelsPos . none ; this . cmbDataLabels . setValue ( e ) , this . onSelectDataLabels ( this . cmbDataLabels , { value : e } ) } , onVCategoryClick : function ( ) { this . vertAxisProps . getAxisType ( ) == Asc . c _oAscAxisType . val ? this . fillVProps ( this . vertAxisProps ) : this . fillHProps ( this . vertAxisProps ) } , onHCategoryClick : function ( ) { this . horAxisProps . getAxisType ( ) == Asc . c _oAscAxisType . val ? this . fillVProps ( this . horAxisProps ) : this . fillHProps ( this . horAxisProps ) } , fillVProps : function ( t ) { if ( t . getAxisType ( ) === Asc . c _oAscAxisType . val ) { void 0 == this . _originalAxisVValues && ( this . _originalAxisVValues = { minAuto : null == t . getMinVal ( ) ? 0 : t . getMinVal ( ) , maxAuto : null == t . getMaxVal ( ) ? 10 : t . getMaxVal ( ) , crossesAuto : null == t . getCrosses ( ) ? 0 : t . getCrosses ( ) } ) , this . cmbMinType . setValue ( t . getMinValRule ( ) ) ; var e = t . getMinValRule ( ) == Asc . c _oAscValAxisRule . auto ? this . _originalAxisVValues . minAuto : t . getMinVal ( ) ; switch ( this . spnMinValue . setValue ( null == e ? "" : e , ! 0 ) , this . cmbMaxType . setValue ( t . getMaxValRule ( ) ) , e = t . getMaxValRule ( ) == Asc . c _oAscValAxisRule . auto ? this . _originalAxisVValues . maxAuto : t . getMaxVal ( ) , this . spnMaxValue . setValue ( null == e ? "" : e , ! 0 ) , e = t . getCrossesRule ( ) , this . cmbVCrossType . setValue ( e ) , e ) { case Asc . c _oAscCrossesRule . minValue : e = this . spnMinValue . getNumberValue ( ) ; break ; case Asc . c _oAscCrossesRule . maxValue : e = this . spnMaxValue . getNumberValue ( ) ; break ; case Asc . c _oAscCrossesRule . auto : e = this . _originalAxisVValues . crossesAuto ; break ; default : e = t . getCrosses ( ) } this . spnVAxisCrosses . setValue ( null == e ? "" : e , ! 0 ) , this . cmbUnits . setValue ( t . getDispUnitsRule ( ) ) , this . chVReverse . setValue ( t . getInvertValOrder ( ) , ! 0 ) , this . cmbVMajorType . setValue ( t . getMajorTickMark ( ) ) , this . cmbVMinorType . setValue ( t . getMinorTickMark ( ) ) , this . cmbVLabelPos . setValue ( t . getTickLabelsPos ( ) ) , this . currentAxisProps = t } } , fillHProps : function ( t ) { if ( t . getAxisType ( ) === Asc . c _oAscAxisType . cat ) { void 0 == this . _originalAxisHValues && ( this . _originalAxisHValues = { minAuto : null == t . getCrossMinVal ( ) ? 0 : t . getCrossMinVal ( ) , maxAuto : null == t . getCrossMaxVal ( ) ? 10 : t . getCrossMaxVal ( ) , crossesAuto : null == t . getCrosses ( ) ? 0 : t . getCrosses ( ) } ) ; var e = t . getCrossesRule ( ) ; switch ( this . cmbHCrossType . setValue ( e ) , e ) { case Asc . c _oAscCrossesRule . minValue : e = this . _originalAxisHValues . minAuto ; break ; case Asc . c _oAscCrossesRule . maxValue : e = this . _originalAxisHValues . maxAuto ; break ; case Asc . c _oAscCrossesRule . auto : e = this . _originalAxisHValues . crossesAuto ; break ; default : e = t . getCrosses ( ) } this . spnHAxisCrosses . setValue ( null == e ? "" : e , ! 0 ) , this . cmbAxisPos . setValue ( t . getLabelsPosition ( ) ) , this . chHReverse . setValue ( t . getInvertCatOrder ( ) , ! 0 ) , this . cmbHMajorType . setValue ( t . getMajorTickMark ( ) ) , this . cmbHMinorType . setValue ( t . getMinorTickMark ( ) ) , this . spnMarksInterval . setValue ( t . getIntervalBetweenTick ( ) , ! 0 ) , this . cmbHLabelPos . setValue ( t . getTickLabelsPos ( ) ) , this . spnLabelDist . setValue ( t . getLabelsAxisDistance ( ) , ! 0 ) , e = t . getIntervalBetweenLabelsRule ( ) , this . cmbLabelInterval . setValue ( e ) , this . spnLabelInterval . setValue ( e === Asc . c _oAscBetweenLabelsRule . manual ? t . getIntervalBetweenLabels ( ) : 1 , ! 0 ) , this . currentAxisProps = t } } , updateSparkStyles : function ( t ) { if ( t && t . length > 1 ) { var e = this . cmbSparkStyle . menuPicker , i = e . store ; if ( i . length == t . length - 1 ) for ( var n = i . models , o = 0 ; o < t . length - 1 ; o ++ ) n [ o ] . set ( "imageUrl" , t [ o ] ) ; else { for ( var s = [ ] , a = t [ t . length - 1 ] , o = 0 ; o < t . length - 1 ; o ++ ) s . push ( { imageUrl : t [ o ] , data : o } ) ; i . reset ( s , { silent : ! 1 } ) , this . cmbSparkStyle . fillComboView ( i . at ( a < 0 ? 0 : a ) , a > - 1 ) } } } , onSelectSparkType : function ( t , e , i , n ) { if ( ! this . _noApply ) { var o = { } ; if ( _ . isFunction ( n . toJSON ) ) { if ( ! n . get ( "selected" ) ) return ; o = n . toJSON ( ) } else o = n ; this . btnSparkType . setIconCls ( "item-chartlist " + o . iconCls ) , this . _changedProps && this . _changedProps . asc _setType ( o . type ) , this . _state . SparkType = o . type ; var s = ! 1 , a = this . cmbEmptyCells . getValue ( ) ; o . type !== Asc . c _oAscSparklineType . Line && this . _arrEmptyCells . length > 2 ? ( this . _arrEmptyCells . pop ( ) , s = ! 0 ) : o . type == Asc . c _o
this . lockedControls . push ( this . btnLowColor ) , this . colorsLow = new Common . UI . ThemeColorPalette ( { el : e ( "#spark-low-color-menu" ) } ) , this . colorsLow . on ( "select" , i . bind ( this . onColorsPointSelect , this , 1 , this . btnLowColor ) ) , this . btnLowColor . menu . items [ 1 ] . on ( "click" , i . bind ( this . addNewColor , this , this . colorsLow , this . btnLowColor ) ) , this . btnNegativeColor = new Common . UI . ColorButton ( { style : "width:45px;" , menu : new Common . UI . Menu ( { items : [ { template : i . template ( '<div id="spark-negative-color-menu" style="width: 169px; height: 220px; margin: 10px;"></div>' ) } , { template : i . template ( '<a id="spark-negative-color-new" style="padding-left:12px;">' + this . textNewColor + "</a>" ) } ] } ) } ) . render ( e ( "#spark-negative-color-btn" ) ) , this . btnNegativeColor . setColor ( this . defColor . color ) , this . lockedControls . push ( this . btnNegativeColor ) , this . colorsNegative = new Common . UI . ThemeColorPalette ( { el : e ( "#spark-negative-color-menu" ) } ) , this . colorsNegative . on ( "select" , i . bind ( this . onColorsPointSelect , this , 2 , this . btnNegativeColor ) ) , this . btnNegativeColor . menu . items [ 1 ] . on ( "click" , i . bind ( this . addNewColor , this , this . colorsNegative , this . btnNegativeColor ) ) , this . btnFirstColor = new Common . UI . ColorButton ( { style : "width:45px;" , menu : new Common . UI . Menu ( { items : [ { template : i . template ( '<div id="spark-first-color-menu" style="width: 169px; height: 220px; margin: 10px;"></div>' ) } , { template : i . template ( '<a id="spark-first-color-new" style="padding-left:12px;">' + this . textNewColor + "</a>" ) } ] } ) } ) . render ( e ( "#spark-first-color-btn" ) ) , this . lockedControls . push ( this . btnFirstColor ) , this . colorsFirst = new Common . UI . ThemeColorPalette ( { el : e ( "#spark-first-color-menu" ) } ) , this . colorsFirst . on ( "select" , i . bind ( this . onColorsPointSelect , this , 3 , this . btnFirstColor ) ) , this . btnFirstColor . setColor ( this . defColor . color ) , this . btnFirstColor . menu . items [ 1 ] . on ( "click" , i . bind ( this . addNewColor , this , this . colorsFirst , this . btnFirstColor ) ) , this . btnLastColor = new Common . UI . ColorButton ( { style : "width:45px;" , menu : new Common . UI . Menu ( { items : [ { template : i . template ( '<div id="spark-last-color-menu" style="width: 169px; height: 220px; margin: 10px;"></div>' ) } , { template : i . template ( '<a id="spark-last-color-new" style="padding-left:12px;">' + this . textNewColor + "</a>" ) } ] } ) } ) . render ( e ( "#spark-last-color-btn" ) ) , this . btnLastColor . setColor ( this . defColor . color ) , this . lockedControls . push ( this . btnLastColor ) , this . colorsLast = new Common . UI . ThemeColorPalette ( { el : e ( "#spark-last-color-menu" ) } ) , this . colorsLast . on ( "select" , i . bind ( this . onColorsPointSelect , this , 4 , this . btnLastColor ) ) , this . btnLastColor . menu . items [ 1 ] . on ( "click" , i . bind ( this . addNewColor , this , this . colorsLast , this . btnLastColor ) ) , this . btnMarkersColor = new Common . UI . ColorButton ( { style : "width:45px;" , menu : new Common . UI . Menu ( { items : [ { template : i . template ( '<div id="spark-markers-color-menu" style="width: 169px; height: 220px; margin: 10px;"></div>' ) } , { template : i . template ( '<a id="spark-markers-color-new" style="padding-left:12px;">' + this . textNewColor + "</a>" ) } ] } ) } ) . render ( e ( "#spark-markers-color-btn" ) ) , this . btnMarkersColor . setColor ( this . defColor . color ) , this . lockedControls . push ( this . btnMarkersColor ) , this . colorsMarkers = new Common . UI . ThemeColorPalette ( { el : e ( "#spark-markers-color-menu" ) } ) , this . colorsMarkers . on ( "select" , i . bind ( this . onColorsPointSelect , this , 5 , this . btnMarkersColor ) ) , this . btnMarkersColor . menu . items [ 1 ] . on ( "click" , i . bind ( this . addNewColor , this , this . colorsMarkers , this . btnMarkersColor ) ) ) , this . colorsSpark . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) ) , this . colorsHigh . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) , t ) , this . colorsLow . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) , t ) , this . colorsNegative . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) , t ) , this . colorsFirst . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) , t ) , this . colorsLast . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) , t ) , this . colorsMarkers . updateColors ( Common . Utils . ThemeColo
return ' < table cols = "1" > \ r \ n < tr > \ r \ n < td > \ r \ n < label class = "header" > < %= scope . strFill % > < / l a b e l > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < d i v i d = " s h a p e - c o m b o - f i l l - s r c " s t y l e = " w i d t h : 1 0 0 % ; " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d > \ r \ n < d i v i d = " s h a p e - p a n e l - c o l o r - f i l l " c l a s s = " p a d d i n g - s m a l l " s t y l e = " w i d t h : 1 0 0 % ; " > \ r \ n < d i v i d = " s h a p e - b a c k - c o l o r - b t n " s t y l e = " " > < / d i v > \ r \ n < / d i v > \ r \ n < d i v i d = " s h a p e - p a n e l - i m a g e - f i l l " c l a s s = " s e t t i n g s - h i d d e n p a d d i n g - s m a l l " s t y l e = " w i d t h : 1 0 0 % ; " > \ r \ n < t a b l e c o l s = " 2 " s t y l e = " w i d t h : 1 0 0 % ; " > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " w i d t h = " 5 0 % " > \ r \ n < b u t t o n t y p e = " b u t t o n " c l a s s = " b t n b t n - t e x t - d e f a u l t " i d = " s h a p e - b u t t o n - f r o m - f i l e " s t y l e = " w i d t h : 9 0 p x ; " > < % = s c o p e . t e x t F r o m F i l e % > < / b u t t o n > \ r \ n < / t d > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " w i d t h = " 5 0 % " > \ r \ n < b u t t o n t y p e = " b u t t o n " c l a s s = " b t n b t n - t e x t - d e f a u l t " i d = " s h a p e - b u t t o n - f r o m - u r l " s t y l e = " w i d t h : 9 0 p x ; f l o a t : r i g h t ; " > < % = s c o p e . t e x t F r o m U r l % > < / b u t t o n > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d s t y l e = " v e r t i c a l - a l i g n : t o p " > \ r \ n < d i v i d = " s h a p e - c o m b o - f i l l - t y p e " s t y l e = " w i d t h : 9 0 p x ; " > < / d i v > \ r \ n < / t d > \ r \ n < t d r o w s p a n = " 2 " > \ r \ n < d i v s t y l e = " w i d t h : 9 0 p x ; h e i g h t : 8 0 p x ; p a d d i n g : 1 4 p x 2 0 p x ; b o r d e r : 1 p x s o l i d # A F A F A F ; b o r d e r - r a d i u s : 2 p x ; b a c k g r o u n d : # f f f f f f ; f l o a t : r i g h t ; " > \ r \ n < d i v i d = " s h a p e - t e x t u r e - i m g " s t y l e = " w i d t h : 5 0 p x ; h e i g h t : 5 0 p x ; " > < / d i v > \ r \ n < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d s t y l e = " v e r t i c a l - a l i g n : b o t t o m " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " " > < % = s c o p e . t e x t T e x t u r e % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - c o m b o - f i l l - t e x t u r e " s t y l e = " w i d t h : 9 0 p x ; " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < / t a b l e > \ r \ n < / d i v > \ r \ n < d i v i d = " s h a p e - p a n e l - p a t t e r n - f i l l " c l a s s = " s e t t i n g s - h i d d e n p a d d i n g - s m a l l " s t y l e = " w i d t h : 1 0 0 % ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " m a r g i n - t o p : 3 p x ; " > < % = s c o p e . s t r P a t t e r n % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - c o m b o - p a t t e r n " s t y l e = " w i d t h : 1 0 0 % ; h e i g h t : 4 2 p x ; m a r g i n - b o t t o m : 8 p x ; " > < / d i v > \ r \ n < d i v s t y l e = " w i d t h : 1 0 0 % ; h e i g h t : 2 5 p x ; m a r g i n - b o t t o m : 8 p x ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " m a r g i n - t o p : 3 p x ; " > < % = s c o p e . s t r F o r e g r o u n d % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - f o r e g r o u n d - c o l o r - b t n " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; f l o a t : r i g h t ; " > < / d i v > \ r \ n < / d i v > \ r \ n < d i v s t y l e = " w i d t h : 1 0 0 % ; h e i g h t : 2 5 p x ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " m a r g i n - t o p : 3 p x ; " > < % = s c o p e . s t r B a c k g r o u n d % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - b a c k g r o u n d - c o l o r - b t n " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; f l o a t : r i g h t ; " > < / d i v > \ r \ n < / d i v > \ r \ n < / d i v > \ r \ n < d i v i d = " s h a p e - p a n e l - g r a d i e n t - f i l l " c l a s s = " s e t t i n g s - h i d d e n p a d d i n g - s m a l l " s t y l e = " w i d t h : 1 0 0 % ; " > \ r \ n < d i v s t y l e = " h e i g h t : 8 0 p x ; " > \ r \ n < d i v s t y l e = " d i s p l a y : i n l i n e - b l o c k ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " " > < % = s c o p e . t e x t S t y l e % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - c o m b o - g r a d - t y p e " s t y l e = " w i d t h : 9 0 p x ; " > < / d i v > \ r \ n < / d i v > \ r \ n < d i v s t y l e = " d i s p l a y : i n l i n e - b l o c k ; f l o a t : r i g h t ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " " > < % = s c o p e . t e x t D i r e c t i o n % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - b u t t o n - d i r e c t i o n " s t y l e = " " > < / d i v > \ r \ n < / d i v > \ r \ n < / d i v > \ r \ n < l a b e l c l a s s = " h e a d e r " s t y l e = " d i s p l a y : b l o c k ; m a r g i n - b o t t o m : 5 p x ; " > < % = s c o p e . t e x t G r a d i e n t % > < / l a b e l > \ r \ n < d i v s t y l e = " d i s p l a y : i n l i n e - b l o c k ; m a r g i n - t o p : 3 p
return ' < div id = "id-adv-shape-width" class = "settings-panel active" > \ r \ n < div class = "inner-content" > \ r \ n < table cols = "3" > \ r \ n < tr > \ r \ n < td width = "108px" > \ r \ n < label class = "input-label" > < %= scope . textWidth % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - s p i n - w i d t h " > < / d i v > \ r \ n < / t d > \ r \ n < t d w i d t h = " 2 8 p x " s t y l e = " v e r t i c a l - a l i g n : b o t t o m ; " > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - b u t t o n - r a t i o " > < / d i v > \ r \ n < / t d > \ r \ n < t d w i d t h = " 1 0 8 p x " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t H e i g h t % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - s p i n - h e i g h t " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < / t a b l e > \ r \ n < / d i v > \ r \ n < / d i v > \ r \ n < d i v i d = " i d - a d v - s h a p e - r o t a t e " c l a s s = " s e t t i n g s - p a n e l a c t i v e " > \ r \ n < d i v c l a s s = " i n n e r - c o n t e n t p a d d i n g - l a r g e " > \ r \ n < d i v s t y l e = " w i d t h : 1 0 0 % ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t A n g l e % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - s p i n - a n g l e " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; m a r g i n - l e f t : 5 p x ; " > < / d i v > \ r \ n < / d i v > \ r \ n < / d i v > \ r \ n < d i v c l a s s = " s e p a r a t o r h o r i z o n t a l p a d d i n g - l a r g e " > < / d i v > \ r \ n < d i v c l a s s = " i n n e r - c o n t e n t p a d d i n g - l a r g e " > \ r \ n < t a b l e c o l s = " 2 " > \ r \ n < t r > \ r \ n < t d r o w s p a n = " 2 " c l a s s = " p a d d i n g - s m a l l " s t y l e = " v e r t i c a l - a l i g n : t o p ; " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " s t y l e = " m a r g i n - r i g h t : 1 5 p x ; v e r t i c a l - a l i g n : t o p ; " > < % = s c o p e . t e x t F l i p p e d % > < / l a b e l > \ r \ n < / t d > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - c h e c k b o x - h o r " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - c h e c k b o x - v e r t " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < / t a b l e > \ r \ n < / d i v > \ r \ n < / d i v > \ r \ n < d i v i d = " i d - a d v - s h a p e - s h a p e " c l a s s = " s e t t i n g s - p a n e l " > \ r \ n < d i v c l a s s = " i n n e r - c o n t e n t " > \ r \ n < t a b l e c o l s = " 2 " s t y l e = " w i d t h : 1 0 0 % ; " > \ r \ n < t r > \ r \ n < t d c o l s p a n = 2 c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . t e x t L i n e S t y l e % > < / l a b e l > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - l a r g e " w i d t h = " 1 2 5 p x " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t C a p T y p e % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - c a p - t y p e " s t y l e = " w i d t h : 1 0 0 p x ; " > < / d i v > \ r \ n < / t d > \ r \ n < t d c l a s s = " p a d d i n g - l a r g e " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t J o i n T y p e % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - j o i n - t y p e " s t y l e = " w i d t h : 1 0 0 p x ; " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < / t a b l e > \ r \ n < / d i v > \ r \ n < d i v c l a s s = " s e p a r a t o r h o r i z o n t a l p a d d i n g - l a r g e " > < / d i v > \ r \ n < d i v c l a s s = " i n n e r - c o n t e n t " > \ r \ n < t a b l e c o l s = " 2 " s t y l e = " w i d t h : 1 0 0 % ; " > \ r \ n < t r > \ r \ n < t d c o l s p a n = 2 c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . t e x t A r r o w s % > < / l a b e l > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " w i d t h = " 1 2 5 p x " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t B e g i n S t y l e % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - b e g i n - s t y l e " s t y l e = " w i d t h : 1 0 0 p x ; " > < / d i v > \ r \ n < / t d > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t E n d S t y l e % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - e n d - s t y l e " s t y l e = " w i d t h : 1 0 0 p x ; " > < / d i v > \ r \ n < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t B e g i n S i z e % > < / l a b e l > \ r \ n < d i v i d = " s h a p e - a d v a n c e d - b e g i n - s i z e " s t y l e = " w i d t h : 1 0 0 p x ; " > < / d i v > \ r \ n < / t d > \ r \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ r \ n < l a b e l c l a s s = " i n p u t - l a b e l " > < % = s c o p e . t e x t E n d S i z e % > < / l a b e l > \ r \ n
this . _noApply = ! 0 , this . imgprops = null , this . _sendUndoPoint = ! 0 , this . _sliderChanged = ! 1 , this . txtPt = Common . Utils . Metric . getMetricName ( Common . Utils . Metric . c _MetricUnits . pt ) , this . _state = { Transparency : null , FillType : Asc . c _oAscFill . FILL _TYPE _SOLID , ShapeColor : "transparent" , BlipFillType : Asc . c _oAscFillBlipType . STRETCH , StrokeType : Asc . c _oAscStrokeType . STROKE _COLOR , StrokeWidth : this . _pt2mm ( 1 ) , StrokeColor : "000000" , StrokeBorderType : Asc . c _oDashType . solid , FGColor : "000000" , BGColor : "ffffff" , GradColor : "000000" , GradFillType : Asc . c _oAscFillGradType . GRAD _LINEAR , DisabledFillPanels : ! 1 , DisabledControls : ! 1 , HideShapeOnlySettings : ! 1 , HideChangeTypeSettings : ! 1 } , this . lockedControls = [ ] , this . _locked = ! 1 , this . OriginalFillType = Asc . c _oAscFill . FILL _TYPE _SOLID , this . ShapeColor = { Value : 1 , Color : "transparent" } , this . BlipFillType = Asc . c _oAscFillBlipType . STRETCH , this . GradFillType = Asc . c _oAscFillGradType . GRAD _LINEAR , this . GradColor = { values : [ 0 , 100 ] , colors : [ "000000" , "ffffff" ] , currentIdx : 0 } , this . GradRadialDirectionIdx = 0 , this . GradLinearDirectionType = 0 , this . PatternFillType = 0 , this . FGColor = { Value : 1 , Color : "000000" } , this . BGColor = { Value : 1 , Color : "ffffff" } , this . BorderColor = { Value : 1 , Color : "transparent" } , this . BorderSize = 0 , this . BorderType = Asc . c _oDashType . solid , this . textureNames = [ this . txtCanvas , this . txtCarton , this . txtDarkFabric , this . txtGrain , this . txtGranite , this . txtGreyPaper , this . txtKnit , this . txtLeather , this . txtBrownPaper , this . txtPapyrus , this . txtWood ] , this . fillControls = [ ] , this . render ( ) , this . FillColorContainer = e ( "#shape-panel-color-fill" ) , this . FillImageContainer = e ( "#shape-panel-image-fill" ) , this . FillPatternContainer = e ( "#shape-panel-pattern-fill" ) , this . FillGradientContainer = e ( "#shape-panel-gradient-fill" ) , this . TransparencyContainer = e ( "#shape-panel-transparent-fill" ) , this . ShapeOnlySettings = e ( ".shape-only" ) , this . CanChangeType = e ( ".change-type" ) } , render : function ( ) { e ( this . el ) . html ( this . template ( { scope : this } ) ) } , setApi : function ( t ) { return this . api = t , this . api && ( this . api . asc _setInterfaceDrawImagePlaceShape ( "shape-texture-img" ) , this . api . asc _registerCallback ( "asc_onInitStandartTextures" , i . bind ( this . onInitStandartTextures , this ) ) ) , this } , onFillSrcSelect : function ( t , e ) { switch ( this . ShowHideElem ( e . value ) , e . value ) { case Asc . c _oAscFill . FILL _TYPE _SOLID : if ( this . _state . FillType = Asc . c _oAscFill . FILL _TYPE _SOLID , ! this . _noApply ) { var i = new Asc . asc _CShapeProperty , n = new Asc . asc _CShapeFill ; n . asc _putType ( Asc . c _oAscFill . FILL _TYPE _SOLID ) , n . asc _putFill ( new Asc . asc _CFillSolid ) , n . asc _getFill ( ) . asc _putColor ( Common . Utils . ThemeColor . getRgbColor ( "transparent" == this . ShapeColor . Color ? { color : "4f81bd" , effectId : 24 } : this . ShapeColor . Color ) ) , i . asc _putFill ( n ) , this . imgprops . asc _putShapeProperties ( i ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } break ; case Asc . c _oAscFill . FILL _TYPE _GRAD : if ( this . _state . FillType = Asc . c _oAscFill . FILL _TYPE _GRAD , ! this . _noApply ) { var i = new Asc . asc _CShapeProperty , n = new Asc . asc _CShapeFill ; if ( n . asc _putType ( Asc . c _oAscFill . FILL _TYPE _GRAD ) , n . asc _putFill ( new Asc . asc _CFillGrad ) , n . asc _getFill ( ) . asc _putGradType ( this . GradFillType ) , this . GradFillType == Asc . c _oAscFillGradType . GRAD _LINEAR && ( n . asc _getFill ( ) . asc _putLinearAngle ( 6e4 * this . GradLinearDirectionType ) , n . asc _getFill ( ) . asc _putLinearScale ( ! 0 ) ) , this . OriginalFillType !== Asc . c _oAscFill . FILL _TYPE _GRAD ) { this . GradColor . values = [ 0 , 100 ] , this . GradColor . colors = [ this . GradColor . colors [ 0 ] , this . GradColor . colors [ this . GradColor . colors . length - 1 ] ] , this . GradColor . currentIdx = 0 ; var o = Common . Utils . ThemeColor . getRgbColor ( this . GradColor . colors [ 0 ] ) . get _color ( ) . get _hex ( ) , s = Common . Utils . ThemeColor . getRgbColor ( this . GradColor . colors [ 1 ] ) . get _color ( ) . get _hex ( ) ; o = "ffffff" === o && "ffffff" === s ? { color : "4f81bd" , effectId : 24 } : this . GradColor . colors [ 0 ] , n . asc _getFill ( ) . asc _putPositions ( [ 1e3 * this . GradColor . values [ 0 ] , 1e3 * this . GradColor . values [ 1 ] ] ) , n . asc _getFill ( ) . asc _putColors ( [ Common . Utils . ThemeColor . getRgbColor ( o ) , Common . Utils . ThemeColor . getRgbColor ( this . GradColor . colors [ 1 ] ) ] ) } i . asc _putFill ( n ) , this . imgprops . asc _putShapeProperties ( i ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } break ; case Asc . c _oAscFill . FILL _TYPE _BLIP : this . _state . FillType = Asc . c _oAscFill . FILL _TYPE _BLIP ; break ; case Asc . c _oAscFill . FILL _TYPE _PATT : if ( this . _state
displayValue : this . textStretch , value : Asc . c _oAscFillBlipType . STRETCH } , { displayValue : this . textTile , value : Asc . c _oAscFillBlipType . TILE } ] , this . cmbFillType = new Common . UI . ComboBox ( { el : e ( "#shape-combo-fill-type" ) , cls : "input-group-nr" , menuStyle : "min-width: 90px;" , editable : ! 1 , data : this . _arrFillType } ) , this . cmbFillType . setValue ( this . _arrFillType [ 0 ] . value ) , this . cmbFillType . on ( "selected" , i . bind ( this . onFillTypeSelect , this ) ) , this . fillControls . push ( this . cmbFillType ) , this . numTransparency = new Common . UI . MetricSpinner ( { el : e ( "#shape-spin-transparency" ) , step : 1 , width : 62 , value : "100 %" , defaultUnit : "%" , maxValue : 100 , minValue : 0 } ) , this . numTransparency . on ( "change" , i . bind ( this . onNumTransparencyChange , this ) ) , this . fillControls . push ( this . numTransparency ) , this . sldrTransparency = new Common . UI . SingleSlider ( { el : e ( "#shape-slider-transparency" ) , width : 75 , minValue : 0 , maxValue : 100 , value : 100 } ) , this . sldrTransparency . on ( "change" , i . bind ( this . onTransparencyChange , this ) ) , this . sldrTransparency . on ( "changecomplete" , i . bind ( this . onTransparencyChangeComplete , this ) ) , this . fillControls . push ( this . sldrTransparency ) , this . lblTransparencyStart = e ( this . el ) . find ( "#shape-lbl-transparency-start" ) , this . lblTransparencyEnd = e ( this . el ) . find ( "#shape-lbl-transparency-end" ) , this . _arrGradType = [ { displayValue : this . textLinear , value : Asc . c _oAscFillGradType . GRAD _LINEAR } , { displayValue : this . textRadial , value : Asc . c _oAscFillGradType . GRAD _PATH } ] , this . cmbGradType = new Common . UI . ComboBox ( { el : e ( "#shape-combo-grad-type" ) , cls : "input-group-nr" , menuStyle : "min-width: 90px;" , editable : ! 1 , data : this . _arrGradType } ) , this . cmbGradType . setValue ( this . _arrGradType [ 0 ] . value ) , this . cmbGradType . on ( "selected" , i . bind ( this . onGradTypeSelect , this ) ) , this . fillControls . push ( this . cmbGradType ) , this . _viewDataLinear = [ { offsetx : 0 , offsety : 0 , type : 45 , subtype : - 1 , iconcls : "gradient-left-top" } , { offsetx : 50 , offsety : 0 , type : 90 , subtype : 4 , iconcls : "gradient-top" } , { offsetx : 100 , offsety : 0 , type : 135 , subtype : 5 , iconcls : "gradient-right-top" } , { offsetx : 0 , offsety : 50 , type : 0 , subtype : 6 , iconcls : "gradient-left" , cls : "item-gradient-separator" , selected : ! 0 } , { offsetx : 100 , offsety : 50 , type : 180 , subtype : 1 , iconcls : "gradient-right" } , { offsetx : 0 , offsety : 100 , type : 315 , subtype : 2 , iconcls : "gradient-left-bottom" } , { offsetx : 50 , offsety : 100 , type : 270 , subtype : 3 , iconcls : "gradient-bottom" } , { offsetx : 100 , offsety : 100 , type : 225 , subtype : 7 , iconcls : "gradient-right-bottom" } ] , this . _viewDataRadial = [ { offsetx : 100 , offsety : 150 , type : 2 , subtype : 5 , iconcls : "gradient-radial-center" } ] , this . btnDirection = new Common . UI . Button ( { cls : "btn-large-dataview" , iconCls : "item-gradient gradient-left" , menu : new Common . UI . Menu ( { style : "min-width: 60px;" , menuAlign : "tr-br" , items : [ { template : i . template ( '<div id="id-shape-menu-direction" style="width: 175px; margin: 0 5px;"></div>' ) } ] } ) } ) , this . btnDirection . on ( "render:after" , function ( n ) { t . mnuDirectionPicker = new Common . UI . DataView ( { el : e ( "#id-shape-menu-direction" ) , parentMenu : n . menu , restoreHeight : 174 , store : new Common . UI . DataViewStore ( t . _viewDataLinear ) , itemTemplate : i . template ( '<div id="<%= id %>" class="item-gradient" style="background-position: -<%= offsetx %>px -<%= offsety %>px;"></div>' ) } ) } ) , this . btnDirection . render ( e ( "#shape-button-direction" ) ) , this . mnuDirectionPicker . on ( "item:click" , i . bind ( this . onSelectGradient , this , this . btnDirection ) ) , this . fillControls . push ( this . btnDirection ) , this . sldrGradient = new Common . UI . MultiSliderGradient ( { el : e ( "#shape-slider-gradient" ) , width : 125 , minValue : 0 , maxValue : 100 , values : [ 0 , 100 ] } ) , this . sldrGradient . on ( "change" , i . bind ( this . onGradientChange , this ) ) , this . sldrGradient . on ( "changecomplete" , i . bind ( this . onGradientChangeComplete , this ) ) , this . sldrGradient . on ( "thumbclick" , function ( e , i ) { t . GradColor . currentIdx = i ; var n = t . GradColor . colors [ t . GradColor . currentIdx ] ; t . btnGradColor . setColor ( n ) , t . colorsGrad . select ( n , ! 1 ) } ) , this . sldrGradient . on ( "thumbdblclick" , function ( e ) { t . btnGradColor . cmpEl . find ( "button" ) . dropdown ( "toggle" ) } ) , this . sldrGradient . on ( "sortthumbs" , function ( e , n ) { var o , s = [ ] ; i . each ( n , function ( e , i ) { s . push ( t . GradColor . colors [ e ] ) , t . GradColor . currentIdx == e && ( o = i ) } ) , t . OriginalFillType = null , t . GradColor . colors = s , t . GradColor . currentIdx = o } ) , this . fillControls . push ( this . sldrGradient ) , this . cmbB
n . asc _getFill ( ) . asc _putColor ( Common . Utils . ThemeColor . getRgbColor ( this . ShapeColor . Color ) ) ) , i . asc _putFill ( n ) , this . shapeprops . put _TextArtProperties ( i ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } Common . NotificationCenter . trigger ( "edit:complete" , this ) } , addNewColor : function ( t , e ) { t . addNewColor ( "object" == typeof e . color ? e . color . color : e . color ) } , onPatternSelect : function ( t , e ) { if ( this . api && ! this . _noApply ) { this . PatternFillType = e . get ( "type" ) ; var i = new Asc . asc _TextArtProperties , n = new Asc . asc _CShapeFill ; n . asc _putType ( Asc . c _oAscFill . FILL _TYPE _PATT ) , n . asc _putFill ( new Asc . asc _CFillHatch ) , n . asc _getFill ( ) . asc _putPatternType ( this . PatternFillType ) , this . OriginalFillType !== Asc . c _oAscFill . FILL _TYPE _PATT && ( n . asc _getFill ( ) . asc _putColorFg ( Common . Utils . ThemeColor . getRgbColor ( this . FGColor . Color ) ) , n . asc _getFill ( ) . asc _putColorBg ( Common . Utils . ThemeColor . getRgbColor ( this . BGColor . Color ) ) ) , i . asc _putFill ( n ) , this . shapeprops . put _TextArtProperties ( i ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } Common . NotificationCenter . trigger ( "edit:complete" , this ) } , onColorsFGSelect : function ( t , e ) { if ( this . btnFGColor . setColor ( e ) , this . FGColor = { Value : 1 , Color : e } , this . api && ! this . _noApply ) { var i = new Asc . asc _TextArtProperties , n = new Asc . asc _CShapeFill ; n . asc _putType ( Asc . c _oAscFill . FILL _TYPE _PATT ) , n . asc _putFill ( new Asc . asc _CFillHatch ) , n . asc _getFill ( ) . asc _putColorFg ( Common . Utils . ThemeColor . getRgbColor ( this . FGColor . Color ) ) , this . OriginalFillType !== Asc . c _oAscFill . FILL _TYPE _PATT && ( n . asc _getFill ( ) . asc _putPatternType ( this . PatternFillType ) , n . asc _getFill ( ) . asc _putColorBg ( Common . Utils . ThemeColor . getRgbColor ( this . BGColor . Color ) ) ) , i . asc _putFill ( n ) , this . shapeprops . put _TextArtProperties ( i ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } Common . NotificationCenter . trigger ( "edit:complete" , this ) } , onColorsBGSelect : function ( t , e ) { if ( this . btnBGColor . setColor ( e ) , this . BGColor = { Value : 1 , Color : e } , this . api && ! this . _noApply ) { var i = new Asc . asc _TextArtProperties , n = new Asc . asc _CShapeFill ; n . asc _putType ( Asc . c _oAscFill . FILL _TYPE _PATT ) , n . asc _putFill ( new Asc . asc _CFillHatch ) , this . OriginalFillType !== Asc . c _oAscFill . FILL _TYPE _PATT && ( n . asc _getFill ( ) . asc _putPatternType ( this . PatternFillType ) , n . asc _getFill ( ) . asc _putColorFg ( Common . Utils . ThemeColor . getRgbColor ( this . FGColor . Color ) ) ) , n . asc _getFill ( ) . asc _putColorBg ( Common . Utils . ThemeColor . getRgbColor ( this . BGColor . Color ) ) , i . asc _putFill ( n ) , this . shapeprops . put _TextArtProperties ( i ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } Common . NotificationCenter . trigger ( "edit:complete" , this ) } , onFillTypeSelect : function ( t , e ) { if ( this . BlipFillType = e . value , this . api && ! 0 !== this . _fromTextureCmb && this . OriginalFillType == Asc . c _oAscFill . FILL _TYPE _BLIP ) { var i = new Asc . asc _TextArtProperties , n = new Asc . asc _CShapeFill ; n . asc _putType ( Asc . c _oAscFill . FILL _TYPE _BLIP ) , n . asc _putFill ( new Asc . asc _CFillBlip ) , n . asc _getFill ( ) . asc _putType ( this . BlipFillType ) , i . asc _putFill ( n ) , this . shapeprops . put _TextArtProperties ( i ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } Common . NotificationCenter . trigger ( "edit:complete" , this ) } , onNumTransparencyChange : function ( t , e , i , n ) { if ( this . sldrTransparency . setValue ( t . getNumberValue ( ) , ! 0 ) , this . api ) { var o = t . getNumberValue ( ) , s = new Asc . asc _TextArtProperties , a = new Asc . asc _CShapeFill ; a . asc _putTransparent ( 2.55 * o ) , s . asc _putFill ( a ) , this . shapeprops . put _TextArtProperties ( s ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } Common . NotificationCenter . trigger ( "edit:complete" , this ) } , onTransparencyChange : function ( t , e , n ) { this . _sliderChanged = e , this . numTransparency . setValue ( e , ! 0 ) , this . _sendUndoPoint && ( this . api . setStartPointHistory ( ) , this . _sendUndoPoint = ! 1 , this . updateslider = setInterval ( i . bind ( this . _transparencyApplyFunc , this ) , 100 ) ) } , onTransparencyChangeComplete : function ( t , e , i ) { clearInterval ( this . updateslider ) , this . _sliderChanged = e , this . _sendUndoPoint || ( this . api . setEndPointHistory ( ) , this . _transparencyApplyFunc ( ) ) , this . _sendUndoPoint = ! 0 } , _transparencyApplyFunc : function ( ) { if ( void 0 !== this . _sliderChanged ) { var t = new Asc . asc _TextArtProperties , e = new Asc . asc _CShapeFill ; e . asc _putTransparent ( 2.55 * this . _sliderChanged ) , t . asc _putFill ( e ) , this . shapeprops . put _TextArtProperties ( t ) , this . api . asc _setGraphicObjectProps ( this . i
this . PatternFillType = this . patternViewData [ 0 ] . type ) , this . UpdateThemeColors ( ) , this . fillTransform ( this . api . asc _getPropertyEditorTextArts ( ) ) , this . _initSettings = ! 1 } , onInitStandartTextures : function ( t ) { var n = this ; if ( t && t . length > 0 ) { this . btnTexture = new Common . UI . ComboBox ( { el : e ( "#textart-combo-fill-texture" ) , template : i . template ( [ '<div class="input-group combobox combo-dataview-menu input-group-nr dropdown-toggle" tabindex="0" data-toggle="dropdown">' , '<div class="form-control text" style="width: 90px;">' + this . textSelectTexture + "</div>" , '<div style="display: table-cell;"></div>' , '<button type="button" class="btn btn-default"><span class="caret img-commonctrl"></span></button>' , "</div>" ] . join ( "" ) ) } ) , this . textureMenu = new Common . UI . Menu ( { items : [ { template : i . template ( '<div id="id-textart-menu-texture" style="width: 233px; margin: 0 5px;"></div>' ) } ] } ) , this . textureMenu . render ( e ( "#textart-combo-fill-texture" ) ) , this . lockedControls . push ( this . btnTexture ) ; var o = [ ] ; i . each ( t , function ( t ) { o . push ( { imageUrl : t . get _image ( ) , name : n . textureNames [ t . get _id ( ) ] , type : t . get _id ( ) , selected : ! 1 } ) } ) ; new Common . UI . DataView ( { el : e ( "#id-textart-menu-texture" ) , restoreHeight : 174 , parentMenu : n . textureMenu , showLast : ! 1 , store : new Common . UI . DataViewStore ( o ) , itemTemplate : i . template ( '<div><img src="<%= imageUrl %>" id="<%= id %>"></div>' ) } ) . on ( "item:click" , i . bind ( this . onSelectTexture , this ) ) } } , onSelectTexture : function ( t , i , n ) { if ( this . _fromTextureCmb = ! 0 , this . cmbFillType . setValue ( this . _arrFillType [ 1 ] . value ) , this . _fromTextureCmb = ! 1 , this . api ) { var o = new Asc . asc _TextArtProperties , s = new Asc . asc _CShapeFill ; s . asc _putType ( Asc . c _oAscFill . FILL _TYPE _BLIP ) , s . asc _putFill ( new Asc . asc _CFillBlip ) , s . asc _getFill ( ) . asc _putType ( Asc . c _oAscFillBlipType . TILE ) , s . asc _getFill ( ) . asc _putTextureId ( n . get ( "type" ) ) , o . asc _putFill ( s ) , this . shapeprops . put _TextArtProperties ( o ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } e ( this . btnTexture . el ) . find ( ".form-control" ) . prop ( "innerHTML" , n . get ( "name" ) ) , Common . NotificationCenter . trigger ( "edit:complete" , this ) } , fillTextArt : function ( ) { var t = this ; this . cmbTextArt || ( this . cmbTextArt = new Common . UI . ComboDataView ( { itemWidth : 50 , itemHeight : 50 , menuMaxHeight : 300 , enableKeyEvents : ! 0 , showLast : ! 1 , cls : "combo-textart" } ) , this . cmbTextArt . render ( e ( "#textart-combo-template" ) ) , this . cmbTextArt . openButton . menu . cmpEl . css ( { "min-width" : 178 , "max-width" : 178 } ) , this . cmbTextArt . on ( "click" , i . bind ( this . onTextArtSelect , this ) ) , this . cmbTextArt . openButton . menu . on ( "show:after" , function ( ) { t . cmbTextArt . menuPicker . scroller . update ( { alwaysVisibleY : ! 0 } ) } ) , this . lockedControls . push ( this . cmbTextArt ) ) ; var n = this . application . getCollection ( "Common.Collections.TextArt" ) . models , o = this . cmbTextArt . menuPicker . store . length ; if ( o > 0 && o == n . length ) { var s = this . cmbTextArt . menuPicker . store . models ; i . each ( n , function ( t , e ) { s [ e ] . set ( "imageUrl" , t . get ( "imageUrl" ) ) } ) } else this . cmbTextArt . menuPicker . store . reset ( n ) , this . cmbTextArt . menuPicker . store . length > 0 && this . cmbTextArt . fillComboView ( this . cmbTextArt . menuPicker . store . at ( 0 ) ) } , onTextArtSelect : function ( t , e ) { if ( this . api && ! this . _noApply ) { var i = new Asc . asc _TextArtProperties ; i . asc _putStyle ( e . get ( "data" ) ) , this . shapeprops . put _TextArtProperties ( i ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } Common . NotificationCenter . trigger ( "edit:complete" , this ) } , fillTransform : function ( t ) { if ( t && t . length > 1 && t [ 1 ] ) { for ( var e = [ ] , n = t [ 1 ] , o = 0 ; o < n . length ; o ++ ) { var s = n [ o ] ; s && s . length > 0 && i . each ( s , function ( t ) { e . push ( { imageUrl : t . Image , type : t . Type , selected : ! 1 } ) } ) } this . cmbTransform . menuPicker . store . add ( e ) , this . cmbTransform . menuPicker . store . length > 0 && this . cmbTransform . fillComboView ( this . cmbTransform . menuPicker . store . at ( 0 ) , ! 0 ) } } , onTransformSelect : function ( t , e ) { if ( this . api && ! this . _noApply ) { var i = new Asc . asc _TextArtProperties ; i . asc _putForm ( e . get ( "type" ) ) , this . shapeprops . put _TextArtProperties ( i ) , this . api . asc _setGraphicObjectProps ( this . imgprops ) } Common . NotificationCenter . trigger ( "edit:complete" , this ) } , UpdateThemeColors : function ( ) { this . btnBackColor || ( this . btnBorderColor = new Common . UI . ColorButton ( { style : "width:45px;" , menu : new Common . UI . Menu ( { items : [ { template : i . template ( ' < div id = "textart-border-color-menu" style = " width : 169 px ; height : 220 p
return '<table cols="2">\n <tr>\n <td colspan=2>\n <label class="header"><%= scope.textFields %></label>\n </td>\n </tr>\n <tr>\n <td colspan=2 class="padding-large">\n <div id="pivot-list-fields" class="pivot-check-listview"></div>\n </td>\n </tr>\n <tr>\n <td width="50%">\n <label class="header"><%= scope.textFilters %></label>\n </td>\n <td width="50%">\n <label class="header"><%= scope.textColumns %></label>\n </td>\n </tr>\n <tr>\n <td class="padding-small">\n <div id="pivot-list-filters" class="pivot-listview"></div>\n </td>\n <td class="padding-small">\n <div id="pivot-list-columns" class="pivot-listview" style="margin-left: 3px;"></div>\n </td>\n </tr>\n <tr>\n <td width="50%">\n <label class="header"><%= scope.textRows %></label>\n </td>\n <td width="50%">\n <label class="header"><%= scope.textValues %></label>\n </td>\n </tr>\n <tr>\n <td class="padding-large">\n <div id="pivot-list-rows" class="pivot-listview"></div>\n </td>\n <td class="padding-large">\n <div id="pivot-list-values" class="pivot-listview" style="margin-left: 3px;"></div>\n </td>\n </tr>\n <tr>\n <td class="padding-small" colspan=2>\n <div class="separator horizontal"></div>\n </td>\n </tr>\n <tr>\n <td align="center" colspan=2>\n <label class="link" id="pivot-advanced-link"><%= scope.textAdvanced %></label>\n </td>\n </tr>\n <tr class="finish-cell"></tr>\n</table>' } ) , define ( "text!spreadsheeteditor/main/app/template/FieldSettingsDialog.template" , [ ] , function ( ) { return ' < div id = "id-pivot-field-settings-layout" class = "settings-panel active" > \ n < div class = "inner-content" > \ n < table cols = "1" style = "width: 100%;" > \ n < tr > \ n < td class = "padding-small" style = "white-space: nowrap;" > \ n < label class = "header" style = "vertical-align: middle; margin-right: 4px;" > < %= scope . txtSourceName % > < / l a b e l > \ n < l a b e l i d = " f i e l d - s e t t i n g s - s o u r c e " s t y l e = " v e r t i c a l - a l i g n : m i d d l e ; m a x - w i d t h : 2 2 0 p x ; o v e r f l o w : h i d d e n ; t e x t - o v e r f l o w : e l l i p s i s ; " > < / l a b e l > \ n < / t d > \ n < / t r > \ n < t r > \ n < t d c l a s s = " p a d d i n g - l a r g e " > \ n < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . t x t C u s t o m N a m e % > < / l a b e l > \ n < d i v i d = " f i e l d - s e t t i n g s - c u s t o m " s t y l e = " w i d t h : 2 6 4 p x ; " > < / d i v > \ n < / t d > \ n < / t r > \ n < t r > \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ n < l a b e l c l a s s = " h e a d e r " > < % = s c o p e . t e x t R e p o r t % > < / l a b e l > \ n < / t d > \ n < / t r > \ n < t r > \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ n < d i v i d = " f i e l d - s e t t i n g s - r a d i o - t a b " > < / d i v > \ n < / t d > \ n < / t r > \ n < t r > \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ n < d i v i d = " f i e l d - s e t t i n g s - r a d i o - o u t l i n e " > < / d i v > \ n < / t d > \ n < / t r > \ n < t r > \ n < t d c l a s s = " p a d d i n g - l a r g e " > \ n < d i v i d = " f i e l d - s e t t i n g s - c h k - c o m p a c t " s t y l e = " m a r g i n - l e f t : 2 0 p x ; " > < / d i v > \ n < / t d > \ n < / t r > \ n < t r > \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ n < d i v i d = " f i e l d - s e t t i n g s - c h k - r e p e a t " > < / d i v > \ n < / t d > \ n < / t r > \ n < t r > \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ n < d i v i d = " f i e l d - s e t t i n g s - c h k - b l a n k " > < / d i v > \ n < / t d > \ n < / t r > \ n < t r > \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ n < d i v i d = " f i e l d - s e t t i n g s - c h k - s u b t o t a l s " > < / d i v > \ n < / t d > \ n < / t r > \ n < t r > \ n < t d c l a s s = " p a d d i n g - s m a l l " > \ n < d i v i d = " f i e l d - s e t t i n g s - r a d i o - t o p " s t y l e = " m a r g i n - l e f t : 2 0 p x ; " > < / d i v > \ n < / t d > \ n < / t r > \ n < t r > \ n
; var t = i . template ( [ '<div id="<%= id %>" class="list-item" style="display:inline-block;">' , '<div style=""><%= Common.Utils.String.htmlEncode(value) %></div>' , '<div class="listitem-icon img-commonctrl"></div>' , "</div>" ] . join ( "" ) ) ; this . columnsList = new Common . UI . ListView ( { el : e ( "#pivot-list-columns" ) , store : new Common . UI . DataViewStore , simpleAddMode : ! 0 , template : i . template ( [ '<div class="listview inner" style=""></div>' ] . join ( "" ) ) , itemTemplate : t } ) , this . columnsList . on ( "item:click" , i . bind ( this . onColumnsSelect , this , 0 ) ) , this . lockedControls . push ( this . columnsList ) , this . rowsList = new Common . UI . ListView ( { el : e ( "#pivot-list-rows" ) , store : new Common . UI . DataViewStore , simpleAddMode : ! 0 , template : i . template ( [ '<div class="listview inner" style=""></div>' ] . join ( "" ) ) , itemTemplate : t } ) , this . rowsList . on ( "item:click" , i . bind ( this . onColumnsSelect , this , 1 ) ) , this . lockedControls . push ( this . rowsList ) , this . valuesList = new Common . UI . ListView ( { el : e ( "#pivot-list-values" ) , store : new Common . UI . DataViewStore , simpleAddMode : ! 0 , template : i . template ( [ '<div class="listview inner" style=""></div>' ] . join ( "" ) ) , itemTemplate : t } ) , this . valuesList . on ( "item:click" , i . bind ( this . onColumnsSelect , this , 2 ) ) , this . lockedControls . push ( this . valuesList ) , this . filtersList = new Common . UI . ListView ( { el : e ( "#pivot-list-filters" ) , store : new Common . UI . DataViewStore , simpleAddMode : ! 0 , template : i . template ( [ '<div class="listview inner" style=""></div>' ] . join ( "" ) ) , itemTemplate : t } ) , this . filtersList . on ( "item:click" , i . bind ( this . onColumnsSelect , this , 3 ) ) , this . lockedControls . push ( this . filtersList ) , e ( this . el ) . on ( "click" , "#pivot-advanced-link" , i . bind ( this . openAdvancedSettings , this ) ) , this . _initSettings = ! 1 } , openAdvancedSettings : function ( t ) { if ( ! this . linkAdvanced . hasClass ( "disabled" ) ) { var e = this ; e . api && ! this . _locked && new SSE . Views . PivotSettingsAdvanced ( { props : e . _originalProps , api : e . api , handler : function ( t , i ) { "ok" == t && e . api && i && e . _originalProps . asc _set ( e . api , i ) , Common . NotificationCenter . trigger ( "edit:complete" , e ) } } ) . show ( ) } } , ChangeSettings : function ( t ) { if ( this . _initSettings && this . createDelayedControls ( ) , this . disableControls ( this . _locked ) , t ) { this . _originalProps = t , this . _state . TableName = t . asc _getName ( ) ; var e = this , i = t . asc _getCacheFields ( ) , n = t . asc _getPivotFields ( ) ; this . _state . names = [ ] , n . forEach ( function ( t , n ) { e . _state . names [ n ] = t . asc _getName ( ) || i [ n ] . asc _getName ( ) } ) ; var o = [ ] , s = [ ] , a = t . asc _getColumnFields ( ) ; a && a . forEach ( function ( t , i ) { var n = t . asc _getIndex ( ) ; if ( n > - 1 || - 2 == n ) { var a = n > - 1 ? e . _state . names [ n ] : e . textValues ; o . push ( new Common . UI . DataViewModel ( { selected : ! 1 , allowSelected : ! 1 , pivotIndex : n , index : i , value : a , tip : a . length > 10 ? a : "" } ) ) , s [ a ] = ! 0 } } ) , this . columnsList . store . reset ( o ) , this . columnsList . scroller . update ( { minScrollbarLength : 40 , alwaysVisibleY : ! 0 , suppressScrollX : ! 0 } ) , o = [ ] , a = t . asc _getRowFields ( ) , a && a . forEach ( function ( t , i ) { var n = t . asc _getIndex ( ) ; if ( n > - 1 || - 2 == n ) { var a = n > - 1 ? e . _state . names [ n ] : e . textValues ; o . push ( new Common . UI . DataViewModel ( { selected : ! 1 , allowSelected : ! 1 , pivotIndex : n , index : i , value : a , tip : a . length > 10 ? a : "" } ) ) , s [ a ] = ! 0 } } ) , this . rowsList . store . reset ( o ) , this . rowsList . scroller . update ( { minScrollbarLength : 40 , alwaysVisibleY : ! 0 , suppressScrollX : ! 0 } ) , o = [ ] , a = t . asc _getDataFields ( ) , a && a . forEach ( function ( t , i ) { var n = t . asc _getIndex ( ) ; if ( n > - 1 ) { var a = t . asc _getName ( ) ; o . push ( new Common . UI . DataViewModel ( { selected : ! 1 , allowSelected : ! 1 , pivotIndex : n , index : i , value : a , tip : a . length > 10 ? a : "" } ) ) , s [ e . _state . names [ n ] ] = ! 0 } } ) , this . valuesList . store . reset ( o ) , this . valuesList . scroller . update ( { minScrollbarLength : 40 , alwaysVisibleY : ! 0 , suppressScrollX : ! 0 } ) , o = [ ] , a = t . asc _getPageFields ( ) , a && a . forEach ( function ( t , i ) { var n = t . asc _getIndex ( ) ; if ( n > - 1 ) { var a = e . _state . names [ n ] ; o . push ( new Common . UI . DataViewModel ( { selected : ! 1 , allowSelected : ! 1 , pivotIndex : n , index : i , value : a , tip : a . length > 10 ? a : "" } ) ) , s [ a ] = ! 0 } } ) , this . filtersList . store . reset ( o ) , this . filtersList . scroller . update ( { minScrollbarLength : 40 , alwaysVisibleY : ! 0 , suppressScrollX : ! 0 } ) , o = [ ] , e . _state . names . forEach ( function ( t , e ) { o . push ( new Common . UI . DataViewModel ( { selected : ! 1 , allowSelected : ! 1 , value : t , index : e , tip : t . length > 25 ? t : "" , check : s [ t ] } ) ) } ) , this . fieldsList . store . reset ( o ) , this . fieldsList . scroller . update ( { minScrollbarLength : 40 , alwaysVisibleY : ! 0 , su
this . colorsBack . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) ) , this . borderColor . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) ) , this . btnBorderColor . setColor ( this . borderColor . getColor ( ) ) } , onApiEditCell : function ( t ) { this . isEditCell = t != Asc . c _oAscCellEditorState . editEnd , t != Asc . c _oAscCellEditorState . editStart && t != Asc . c _oAscCellEditorState . editEnd || this . disableControls ( this . _locked ) } , setLocked : function ( t ) { this . _locked = t } , disableControls : function ( t ) { this . _initSettings || ( t = t || this . isEditCell , this . _state . DisabledControls !== t && ( this . _state . DisabledControls = t , i . each ( this . lockedControls , function ( e ) { e . setDisabled ( t ) } ) ) ) } , textBorders : "Border's Style" , textBorderColor : "Color" , textBackColor : "Background color" , textSelectBorders : "Select borders that you want to change" , textNewColor : "Add New Custom Color" , tipTop : "Set Outer Top Border Only" , tipLeft : "Set Outer Left Border Only" , tipBottom : "Set Outer Bottom Border Only" , tipRight : "Set Outer Right Border Only" , tipAll : "Set Outer Border and All Inner Lines" , tipNone : "Set No Borders" , tipInner : "Set Inner Lines Only" , tipInnerVert : "Set Vertical Inner Lines Only" , tipInnerHor : "Set Horizontal Inner Lines Only" , tipOuter : "Set Outer Border Only" , tipDiagU : "Set Diagonal Up Border" , tipDiagD : "Set Diagonal Down Border" , textOrientation : "Text Orientation" , textAngle : "Angle" } , SSE . Views . CellSettings || { } ) ) } ) ; var SCALE _MIN = 40 , MENU _SCALE _PART = 260 ; if ( define ( "spreadsheeteditor/main/app/view/RightMenu" , [ "text!spreadsheeteditor/main/app/template/RightMenu.template" , "jquery" , "underscore" , "backbone" , "common/main/lib/component/Button" , "common/main/lib/component/MetricSpinner" , "common/main/lib/component/CheckBox" , "spreadsheeteditor/main/app/view/ParagraphSettings" , "spreadsheeteditor/main/app/view/ImageSettings" , "spreadsheeteditor/main/app/view/ChartSettings" , "spreadsheeteditor/main/app/view/ShapeSettings" , "spreadsheeteditor/main/app/view/TextArtSettings" , "spreadsheeteditor/main/app/view/TableSettings" , "spreadsheeteditor/main/app/view/PivotSettings" , "spreadsheeteditor/main/app/view/SignatureSettings" , "spreadsheeteditor/main/app/view/CellSettings" , "common/main/lib/component/Scroller" ] , function ( t , e , i , n ) { "use strict" ; SSE . Views . RightMenu = n . View . extend ( i . extend ( { el : "#right-menu" , template : i . template ( t ) , events : { } , initialize : function ( ) { return this . minimizedMode = ! 0 , this . btnText = new Common . UI . Button ( { hint : this . txtParagraphSettings , asctype : Common . Utils . documentSettingsType . Paragraph , enableToggle : ! 0 , disabled : ! 0 , toggleGroup : "tabpanelbtnsGroup" , allowMouseEventsOnDisabled : ! 0 } ) , this . btnImage = new Common . UI . Button ( { hint : this . txtImageSettings , asctype : Common . Utils . documentSettingsType . Image , enableToggle : ! 0 , disabled : ! 0 , toggleGroup : "tabpanelbtnsGroup" , allowMouseEventsOnDisabled : ! 0 } ) , this . btnChart = new Common . UI . Button ( { hint : this . txtChartSettings , asctype : Common . Utils . documentSettingsType . Chart , enableToggle : ! 0 , disabled : ! 0 , toggleGroup : "tabpanelbtnsGroup" , allowMouseEventsOnDisabled : ! 0 } ) , this . btnShape = new Common . UI . Button ( { hint : this . txtShapeSettings , asctype : Common . Utils . documentSettingsType . Shape , enableToggle : ! 0 , disabled : ! 0 , toggleGroup : "tabpanelbtnsGroup" , allowMouseEventsOnDisabled : ! 0 } ) , this . btnTextArt = new Common . UI . Button ( { hint : this . txtTextArtSettings , asctype : Common . Utils . documentSettingsType . TextArt , enableToggle : ! 0 , disabled : ! 0 , toggleGroup : "tabpanelbtnsGroup" , allowMouseEventsOnDisabled : ! 0 } ) , this . btnTable = new Common . UI . Button ( { hint : this . txtTableSettings , asctype : Common . Utils . documentSettingsType . Table , enableToggle : ! 0 , disabled : ! 0 , toggleGroup : "tabpanelbtnsGroup" , allowMouseEventsOnDisabled : ! 0 } ) , this . btnPivot = new Common . UI . Button ( { hint : this . txtPivotSettings , asctype : Common . Utils . documentSettingsType . Pivot , enableToggle : ! 0 , disabled : ! 0 , toggleGroup : "tabpanelbtnsGroup" , allowMouseEventsOnDisabled : ! 0 } ) , this . btnCell = new Common . UI . Button ( { hint : this . txtCellSettings , asctype : Common . Utils . documentSettingsType . Cell , enableToggle : ! 0 , disabled : ! 0 , toggleGroup : "tabpanelbtnsGroup" , allowMouseEventsOnDisabled : ! 0 } ) , this . _settings = [ ] , this . _settings [ Common . Utils . documentSettingsType . Par
return '<% if (!hide) { %>\r\n <div id="<%= id %>" class="user-comment-item">\r\n\r\n \x3c!-- comment block --\x3e\r\n\r\n <div class="user-name">\r\n <div class="color" style="display: inline-block; background-color: <% if (usercolor!==null) { %><%=usercolor%><% } else { %> #cfcfcf <% } %>; " ></div><%= scope.getUserName(username) %>\r\n </div>\r\n <div class="user-date"><%=date%></div>\r\n <% if (quote!==null && quote!==\'\' ) { % > \ r \ n < div class = "user-quote" > < %= scope . getFixedQuote ( quote ) % > < / d i v > \ r \ n < % } % > \ r \ n < % i f ( ! e d i t T e x t | | s c o p e . v i e w m o d e ) { % > \ r \ n < d i v c l a s s = " u s e r - m e s s a g e " d a t a - c a n - c o p y = " t r u e " > < % = s c o p e . p i c k L i n k ( c o m m e n t ) % > < / d i v > \ r \ n < % } e l s e { % > \ r \ n < d i v c l a s s = " i n n e r - e d i t - c t " > \ r \ n < t e x t a r e a c l a s s = " m s g - r e p l y u s e r - s e l e c t " m a x l e n g t h = " m a x C o m m L e n g t h " > < % = c o m m e n t % > < / t e x t a r e a > \ r \ n < b u t t o n c l a s s = " b t n n o r m a l d l g - b t n p r i m a r y b t n - i n n e r - e d i t " i d = " i d - c o m m e n t s - c h a n g e " > t e x t E d i t < / b u t t o n > \ r \ n < b u t t o n c l a s s = " b t n n o r m a l d l g - b t n b t n - i n n e r - c l o s e " > t e x t C a n c e l < / b u t t o n > \ r \ n < / d i v > \ r \ n < % } % > \ r \ n \ r \ n \ x 3 c ! - - r e p l y s e l e m e n t s - - \ x 3 e \ r \ n \ r \ n < % i f ( r e p l y s . l e n g t h ) { % > \ r \ n < d i v c l a s s = " r e p l y - a r r o w i m g - c o m m o n c t r l " > < / d i v > \ r \ n < % _ . e a c h ( r e p l y s , f u n c t i o n ( i t e m , i n d e x ) { % > \ r \ n < d i v c l a s s = " r e p l y - i t e m - c t " < % i f ( s c o p e . v i e w m o d e & & i n d e x = = r e p l y s . l e n g t h - 1 ) { % > s t y l e = " p a d d i n g - b o t t o m : 0 ; " < % } % > ; > \ r \ n < d i v c l a s s = " u s e r - n a m e " > \ r \ n < d i v c l a s s = " c o l o r " s t y l e = " d i s p l a y : i n l i n e - b l o c k ; b a c k g r o u n d - c o l o r : < % i f ( i t e m . g e t ( " u s e r c o l o r " ) ! = = n u l l ) { % > < % = i t e m . g e t ( " u s e r c o l o r " ) % > < % } e l s e { % > # c f c f c f < % } % > ; " > < / d i v > < % = s c o p e . g e t U s e r N a m e ( i t e m . g e t ( " u s e r n a m e " ) ) % > \ r \ n < / d i v > \ r \ n < d i v c l a s s = " u s e r - d a t e " > < % = i t e m . g e t ( " d a t e " ) % > < / d i v > \ r \ n < % i f ( ! i t e m . g e t ( " e d i t T e x t " ) ) { % > \ r \ n < d i v c l a s s = " u s e r - m e s s a g e " d a t a - c a n - c o p y = " t r u e " > < % = s c o p e . p i c k L i n k ( i t e m . g e t ( " r e p l y " ) ) % > < / d i v > \ r \ n < % i f ( ! s c o p e . v i e w m o d e ) { % > \ r \ n < d i v c l a s s = " b t n s - r e p l y - c t " > \ r \ n < % i f ( i t e m . g e t ( " e d i t a b l e " ) ) { % > \ r \ n < d i v c l a s s = " b t n - e d i t i m g - c o m m o n c t r l " d a t a - v a l u e = " < % = i t e m . g e t ( " i d " ) % > " > < / d i v > \ r \ n < d i v c l a s s = " b t n - d e l e t e i m g - c o m m o n c t r l " d a t a - v a l u e = " < % = i t e m . g e t ( " i d " ) % > " > < / d i v > \ r \ n < % } % > \ r \ n < / d i v > \ r \ n < % } % > \ r \ n < % } e l s e { % > \ r \ n < d i v c l a s s = " i n n e r - e d i t - c t " > \ r \ n < t e x t a r e a c l a s s = " m s g - r e p l y t e x t a r e a - f i x u s e r - s e l e c t " m a x l e n g t h = " m a x C o m m L e n g t h " > < % = i t e m . g e t ( " r e p l y " ) % > < / t e x t a r e a > \ r \ n < b u t t o n c l a s s = " b t n n o r m a l d l g - b t n p r i m a r y b t n - i n n e r - e d i t b t n - f i x " i d = " i d - c o m m e n t s - c h a n g e " > t e x t E d i t < / b u t t o n > \ r \ n < b u t t o n c l a s s = " b t n n o r m a l d l g - b t n b t n - i n n e r - c l o s e " > t e x t C l o s e < / b u t t o n > \ r \ n < / d i v > \ r \ n < % } % > \ r \ n < / d i v > \ r \ n < % } ) ; % > \ r \ n < % } % > \ r \ n \ r \ n \ x 3 c ! - - a d d r e p l y b u t t o n - - \ x 3 e \ r \ n \ r \ n < % i f ( ! s h o w R e p l y & & ! s c o p e . v i e w m o d e ) { % > \ r \ n < % i f ( r e p l y s . l e n g t h ) { % > \ r \ n < l a b e l c l a s s = " u s e r - r e p l y " s t y l e = " m a r g i n - l e f t : 2 0 p x ; m a r g i n - t o p : 5 p x ; " r o l e = " p r e s e n t a t i o n " t a b i n d e x = " - 1 " > t e x t A d d R e p l y < / l a b e l > \ r \ n < % } e l s e { % > \ r \ n < l a b e l c l a s s = " u s e r - r e p l y " r o l e = " p r e s e n t a t i o n " t a b i n d e x = " - 1 " > t e x t A d d R e p l y < / l a b e l > \ r \ n < % } % > \ r \ n < % } % > \ r \ n \ r \ n \ x 3 c ! - - e d i t b u t t o n s - - \ x 3 e \ r \ n \ r \ n < % i f ( ! e d i t T e x t & & ! l o c k & & ! s c o p e . v i e w m o d e ) { % > \ r \ n < d i v c l a s s = " e d i t - c t " > \ r \ n < % i f ( e d i t a b l e ) { % > \ r \ n < d i v c l a s s = " b t n - e d i t i m g - c o m m o n c t r l " > < / d i v > \ r \ n < d i v c l a s s = " b t n - d e l e t e i m g - c o m m o n c t r l " > < / d i v > \ r \ n < % } % > \ r \ n < % i f ( r e s o l v e d ) { % > \ r \ n < d i v c l a s s = " b t n -
textsearch : this . txtSearch . val ( ) , textreplace : this . txtReplace . val ( ) , matchcase : this . miMatchCase . checked , matchword : this . miMatchWord . checked , highlight : this . miHighlight . checked } ; this . fireEvent ( "search:" + t , [ this , i ] ) } } , setMode : function ( t ) { this . mode = t ; var e = this . $window . find ( ".input-row" ) ; "no-replace" === t ? ( this . setTitle ( this . textTitle2 ) , e . eq ( 1 ) . hide ( ) , e . eq ( 2 ) . hide ( ) , this . $window . find ( ".btn[result=replace]" ) . hide ( ) , this . $window . find ( ".btn[result=replaceall]" ) . hide ( ) , this . options . matchcase || this . options . matchword || this . options . markresult || ( this . txtSearch . addClass ( "clear" ) , this . btnOptions . hide ( ) ) , this . menuLookin && this . menuLookin . menu . items [ 1 ] . setDisabled ( ! 1 ) , this . setHeight ( 170 ) ) : ( this . txtSearch . removeClass ( "clear" ) , this . setTitle ( this . textTitle ) , "search" === t ? ( e . eq ( 2 ) . show ( ) , this . lblReplace . text ( this . txtBtnReplace ) , e . eq ( 1 ) . hide ( ) , this . $window . find ( ".btn[result=replace]" ) . hide ( ) , this . $window . find ( ".btn[result=replaceall]" ) . hide ( ) , this . menuLookin && this . menuLookin . menu . items [ 1 ] . setDisabled ( ! 1 ) , this . setHeight ( 200 ) ) : ( e . eq ( 2 ) . show ( ) , this . lblReplace . text ( this . txtBtnHideReplace ) , e . eq ( 1 ) . show ( ) , this . $window . find ( ".btn[result=replace]" ) . show ( ) , this . $window . find ( ".btn[result=replaceall]" ) . show ( ) , this . menuLookin && ( this . menuLookin . menu . items [ 0 ] . setChecked ( ! 0 ) , this . menuLookin . menu . items [ 1 ] . setDisabled ( ! 0 ) ) , this . setHeight ( 230 ) ) ) } , setSearchText : function ( t ) { this . txtSearch && this . txtSearch . val ( t ) } , onShowReplace : function ( t ) { this . setMode ( "replace" == this . mode ? "search" : "replace" ) ; var e = this ; _ . defer ( function ( ) { "replace" == e . mode ? e . txtReplace . focus ( ) : e . txtSearch . focus ( ) } , 300 ) } , onHighlight : function ( t , e ) { this . fireEvent ( "search:highlight" , [ this , e ] ) } , getSettings : function ( ) { return { textsearch : this . txtSearch . val ( ) , matchcase : this . miMatchCase . checked , matchword : this . miMatchWord . checked } } , textTitle : "Search & Replace" , textTitle2 : "Search" , txtBtnReplace : "Replace" , txtBtnReplaceAll : "Replace All" , textMatchCase : "Case sensitive" , textWholeWords : "Whole words only" , textHighlight : "Highlight results" , textReplaceDef : "Enter the replacement text" , textSearchStart : "Enter text for search" , txtBtnHideReplace : "Hide Replace" } , Common . UI . SearchDialog || { } ) ) } ) , void 0 === Common ) var Common = { } ; if ( Common . Views = Common . Views || { } , define ( "common/main/lib/view/Plugins" , [ "common/main/lib/util/utils" , "common/main/lib/component/BaseView" , "common/main/lib/component/Layout" , "common/main/lib/component/Window" ] , function ( t ) { "use strict" ; Common . Views . Plugins = Common . UI . BaseView . extend ( _ . extend ( { el : "#left-panel-plugins" , storePlugins : void 0 , template : _ . template ( [ '<div id="plugins-box" class="layout-ct vbox">' , '<label id="plugins-header"><%= scope.strPlugins %></label>' , '<div id="plugins-list" class="">' , "</div>" , "</div>" , '<div id="current-plugin-box" class="layout-ct vbox hidden">' , '<div id="current-plugin-header">' , "<label></label>" , '<div id="id-plugin-close" class="plugin-close img-commonctrl"></div>' , "</div>" , '<div id="current-plugin-frame" class="">' , "</div>" , "</div>" , '<div id="plugins-mask" style="display: none;">' ] . join ( "" ) ) , initialize : function ( t ) { _ . extend ( this , t ) , this . _locked = ! 1 , this . _state = { DisabledControls : ! 1 } , this . lockedControls = [ ] , Common . UI . BaseView . prototype . initialize . call ( this , arguments ) , Common . NotificationCenter . on ( "app:ready" , function ( t ) { Common . Utils . asyncCall ( this . _onAppReady , this , t ) } . bind ( this ) ) } , render : function ( t ) { return t && ( this . $el = $ ( t ) ) , this . $el . html ( this . template ( { scope : this } ) ) , this . viewPluginsList = new Common . UI . DataView ( { el : $ ( "#plugins-list" ) , store : this . storePlugins , enableKeyEvents : ! 1 , itemTemplate : _ . template ( [ '<div id="<%= id %>" class="item-plugins" style="display: <% if (visible) {%> block; <%} else {%> none; <% } %>">' , '<div class="plugin-icon" style="background-image: url(<%= baseUrl %><%= variations[currentVariation].get("icons")[((window.devicePixelRatio > 1) ? 1 : 0) + (variations[currentVariation].get("icons").length>2 ? 2 : 0)] %>);"></div>' , "<% if (variations.length>1) { %>" , '<div class="plugin-caret img-commonctrl"></div>' , "<% } %>" , "<%= name %>" , "</div>" ] . join ( "" ) ) } ) , this . lockedControls . push ( this . viewPluginsList ) , this . viewPluginsList . cmpEl . off ( "click" ) , this . pluginName = $ ( " # current - plu
f1 : _ . bind ( this . onShortcut , this , "help" ) } } ) , Common . util . Shortcuts . suspendEvents ( ) ; var t = this ; this . leftMenu . $el . find ( "button" ) . each ( function ( ) { $ ( this ) . on ( "keydown" , function ( e ) { Common . UI . Keys . RETURN !== e . keyCode && Common . UI . Keys . SPACE !== e . keyCode || ( t . leftMenu . btnAbout . toggle ( ! 1 ) , this . blur ( ) , e . preventDefault ( ) , t . api . asc _enableKeyEvents ( ! 0 ) ) } ) } ) } , setApi : function ( t ) { if ( this . api = t , this . api . asc _registerCallback ( "asc_onRenameCellTextEnd" , _ . bind ( this . onRenameText , this ) ) , this . api . asc _registerCallback ( "asc_onCoAuthoringDisconnect" , _ . bind ( this . onApiServerDisconnect , this ) ) , Common . NotificationCenter . on ( "api:disconnect" , _ . bind ( this . onApiServerDisconnect , this ) ) , this . api . asc _registerCallback ( "asc_onDownloadUrl" , _ . bind ( this . onDownloadUrl , this ) ) , Common . NotificationCenter . on ( "download:cancel" , _ . bind ( this . onDownloadCancel , this ) ) , this . mode . canCoAuthoring && ( this . mode . canChat && this . api . asc _registerCallback ( "asc_onCoAuthoringChatReceiveMessage" , _ . bind ( this . onApiChatMessage , this ) ) , this . mode . canComments ) ) { this . api . asc _registerCallback ( "asc_onAddComment" , _ . bind ( this . onApiAddComment , this ) ) , this . api . asc _registerCallback ( "asc_onAddComments" , _ . bind ( this . onApiAddComments , this ) ) ; var e = this . getApplication ( ) . getController ( "Common.Controllers.Comments" ) . groupCollection ; for ( var i in e ) for ( var n = e [ i ] , o = Common . Utils . InternalSettings . get ( "sse-settings-resolvedcomment" ) , s = 0 ; s < n . length ; ++ s ) if ( n . at ( s ) . get ( "userid" ) !== this . mode . user . id && ( o || ! n . at ( s ) . get ( "resolved" ) ) ) { this . leftMenu . markCoauthOptions ( "comments" , ! 0 ) ; break } } return this . mode . isEditMailMerge || this . mode . isEditDiagram || this . api . asc _registerCallback ( "asc_onEditCell" , _ . bind ( this . onApiEditCell , this ) ) , this . leftMenu . getMenu ( "file" ) . setApi ( t ) , this } , setMode : function ( t ) { return this . mode = t , this . leftMenu . setMode ( t ) , this . leftMenu . getMenu ( "file" ) . setMode ( t ) , t . isEdit || Common . util . Shortcuts . removeShortcuts ( { shortcuts : { "command+shift+s,ctrl+shift+s" : _ . bind ( this . onShortcut , this , "save" ) , "alt+f" : _ . bind ( this . onShortcut , this , "file" ) } } ) , this } , createDelayedElements : function ( ) { return this . mode . canCoAuthoring ? ( this . leftMenu . btnComments [ this . mode . canViewComments && ! this . mode . isLightVersion ? "show" : "hide" ] ( ) , this . mode . canViewComments && this . leftMenu . setOptionsPanel ( "comment" , this . getApplication ( ) . getController ( "Common.Controllers.Comments" ) . getView ( "Common.Views.Comments" ) ) , this . leftMenu . btnChat [ this . mode . canChat && ! this . mode . isLightVersion ? "show" : "hide" ] ( ) , this . mode . canChat && this . leftMenu . setOptionsPanel ( "chat" , this . getApplication ( ) . getController ( "Common.Controllers.Chat" ) . getView ( "Common.Views.Chat" ) ) ) : ( this . leftMenu . btnChat . hide ( ) , this . leftMenu . btnComments . hide ( ) ) , this . mode . isEdit && ( this . leftMenu . btnSpellcheck . show ( ) , this . leftMenu . setOptionsPanel ( "spellcheck" , this . getApplication ( ) . getController ( "Spellcheck" ) . getView ( "Spellcheck" ) ) ) , this . mode . trialMode && this . leftMenu . setDeveloperMode ( this . mode . trialMode ) , Common . util . Shortcuts . resumeEvents ( ) , this . mode . isEditMailMerge || this . mode . isEditDiagram || Common . NotificationCenter . on ( "cells:range" , _ . bind ( this . onCellsRange , this ) ) , this } , enablePlugins : function ( ) { this . mode . canPlugins ? this . leftMenu . setOptionsPanel ( "plugins" , this . getApplication ( ) . getController ( "Common.Controllers.Plugins" ) . getView ( "Common.Views.Plugins" ) ) : this . leftMenu . btnPlugins . hide ( ) , this . mode . trialMode && this . leftMenu . setDeveloperMode ( this . mode . trialMode ) } , clickMenuFileItem : function ( t , e , i ) { var n = ! 0 ; switch ( e ) { case "back" : break ; case "save" : this . api . asc _Save ( ) ; break ; case "save-desktop" : this . api . asc _DownloadAs ( ) ; break ; case "print" : Common . NotificationCenter . trigger ( "print" , this . leftMenu ) ; break ; case "exit" : Common . NotificationCenter . trigger ( "goback" ) ; break ; case "edit" : Common . Gateway . requestEditRights ( ) ; break ; case "new" : i ? n = ! 1 : this . onCreateNew ( void 0 , "blank" ) ; break ; case "rename" : var o = this , s = o . api . asc _getDocumentName ( ) ; new Common . Views . RenameDialog ( { filename : s , handler : function ( t , e ) { "ok" != t || _ . isEmpty ( e . trim ( ) ) || s === e . trim ( ) || Common . Gateway . requestRename ( e ) , Common . NotificationCenter . trigger ( "edit:complete" , o ) } } ) . show ( ) ; break ; default : n = ! 1 } n && t . hide ( ) } , clickSaveAsFormat : function ( t , e ) { e == Asc . c _oAscFileType . CSV ? Common . UI . warning ( { title : this . textWarning , msg :
99 : [ "ps" , "پښتو" ] , 1123 : [ "ps-AF" , "پښتو (افغانستان) " , "Pashto (Afghanistan)" ] , 41 : [ "fa" , "فارسى" ] , 1065 : [ "fa-IR" , "فارسى (ایران) " , "Persian (Iran)" ] , 21 : [ "pl" , "Polski" ] , 1045 : [ "pl-PL" , "Polski (Polska)" , "Polish (Poland)" ] , 22 : [ "pt" , "Português" ] , 1046 : [ "pt-BR" , "Português (Brasil)" , "Portuguese (Brazil)" ] , 2070 : [ "pt-PT" , "Português (Portugal)" , "Portuguese (Portugal)" ] , 70 : [ "pa" , "ਪੰਜਾਬੀ" ] , 1094 : [ "pa-IN" , "ਪੰਜਾਬੀ (ਭਾਰਤ)" , "Punjabi (India)" ] , 107 : [ "quz" , "Runasimi" ] , 1131 : [ "quz-BO" , "Runasimi (Qullasuyu)" , "Quechua (Bolivia)" ] , 2155 : [ "quz-EC" , "Runasimi (Ecuador)" , "Quechua (Ecuador)" ] , 3179 : [ "quz-PE" , "Runasimi (Piruw)" , "Quechua (Peru)" ] , 24 : [ "ro" , "Română" ] , 1048 : [ "ro-RO" , "Română (România)" , "Romanian (Romania)" ] , 2072 : [ "ro-MD" , "Română (Moldova)" , "Romanian (Republic of Moldova)" ] , 23 : [ "rm" , "Rumantsch" ] , 1047 : [ "rm-CH" , "Rumantsch (Svizra)" , "Romansh (Switzerland)" ] , 25 : [ "ru" , "Русский" ] , 1049 : [ "ru-RU" , "Русский (Россия)" , "Russian (Russia)" ] , 2073 : [ "ru-MD" , "Русский (Молдавия)" , "Russian (Republic of Moldova)" ] , 28731 : [ "smn" , "Sämikielâ" ] , 9275 : [ "smn-FI" , "Sämikielâ (Suomâ)" , "Sami (Inari) (Finland)" ] , 31803 : [ "smj" , "Julevusámegiella" ] , 4155 : [ "smj-NO" , "Julevusámegiella (Vuodna)" , "Sami (Lule) (Norway)" ] , 5179 : [ "smj-SE" , "Julevusámegiella (Svierik)" , "Sami (Lule) (Sweden)" ] , 59 : [ "se" , "Davvisámegiella" ] , 3131 : [ "se-FI" , "Davvisámegiella (Suopma)" , "Sami (Northern) (Finland)" ] , 1083 : [ "se-NO" , "Davvisámegiella (Norga)" , "Sami (Northern) (Norway)" ] , 2107 : [ "se-SE" , "Davvisámegiella (Ruoŧŧa)" , "Sami (Northern) (Sweden)" ] , 29755 : [ "sms" , "Sääm´ ǩiõll" ] , 8251 : [ "sms-FI" , "Sääm´ ǩiõll (Lää´ ddjânnam)" , "Sami (Skolt) (Finland)" ] , 30779 : [ "sma" , "åarjelsaemiengiele" ] , 6203 : [ "sma-NO" , "åarjelsaemiengiele (Nöörje)" , "Sami (Southern) (Norway)" ] , 7227 : [ "sma-SE" , "åarjelsaemiengiele (Sveerje)" , "Sami (Southern) (Sweden)" ] , 79 : [ "sa" , "संस्कृत" ] , 1103 : [ "sa-IN" , "संस्कृत (भारतम्)" , "Sanskrit (India)" ] , 145 : [ "gd" , "Gàidhlig" ] , 1169 : [ "gd-GB" , "Gàidhlig (An Rìoghachd Aonaichte)" , "Scottish Gaelic (United Kingdom)" ] , 31770 : [ "sr" , "Srpski" ] , 27674 : [ "sr-Cyrl" , "Српски (Ћирилица)" ] , 7194 : [ "sr-Cyrl-BA" , "Српски (Босна и Херцеговина)" , "Serbian (Cyrillic) (Bosnia and Herzegovina)" ] , 12314 : [ "sr-Cyrl-ME" , "Српски (Црна Гора)" , "Serbian (Cyrillic, Montenegro)" ] , 3098 : [ "sr-Cyrl-CS" , "Српски (Србија и Црна Гора (Претходно))" , "Serbian (Cyrillic, Serbia and Montenegro (Former))" ] , 10266 : [ "sr-Cyrl-RS" , "Српски (Србија)" , "Serbian (Cyrillic, Serbia)" ] , 28698 : [ "sr-Latn" , "Srpski (Latinica)" ] , 6170 : [ "sr-Latn-BA" , "Srpski (Bosna i Hercegovina)" , "Serbian (Latin, Bosnia and Herzegovina)" ] , 11290 : [ "sr-Latn-ME" , "Srpski (Crna Gora)" , "Serbian (Latin, Montenegro)" ] , 2074 : [ "sr-Latn-CS" , "Srpski (Srbija i Crna Gora (Prethodno))" , "Serbian (Latin, Serbia and Montenegro (Former))" ] , 9242 : [ "sr-Latn-RS" , "Srpski (Srbija, Latinica)" , "Serbian (Latin, Serbia)" ] , 108 : [ "nso" , "Sesotho sa Leboa" ] , 1132 : [ "nso-ZA" , "Sesotho sa Leboa (Afrika Borwa)" , "Sesotho sa Leboa (South Africa)" ] , 50 : [ "tn" , "Setswana" ] , 1074 : [ "tn-ZA" , "Setswana (Aforika Borwa)" , "Setswana (South Africa)" ] , 91 : [ "si" , "සිංහ" ] , 1115 : [ "si-LK" , "සිංහ (ශ්රී ලංකා)" , "Sinhala (Sri Lanka)" ] , 27 : [ "sk" , "Slovenčina" ] , 1051 : [ "sk-SK" , "Slovenčina (Slovenská republika)" , "Slovak (Slovakia)" ] , 36 : [ "sl" , "Slovenski" ] , 1060 : [ "sl-SI" , "Slovenski (Slovenija)" , "Slovenian (Slovenia)" ] , 10 : [ "es" , "Español" ] , 11274 : [ "es-AR" , "Español (Argentina)" , "Spanish (Argentina)" ] , 16394 : [ "es-BO" , "Español (Bolivia)" , "Spanish (Bolivia)" ] , 13322 : [ "es-CL" , "Español (Chile)" , "Spanish (Chile)" ] , 9226 : [ "es-CO" , "Español (Colombia)" , "Spanish (Colombia)" ] , 5130 : [ "es-CR" , "Español (Costa Rica)" , "Spanish (Costa Rica)" ] , 7178 : [ "es-DO" , "Español (República Dominicana)" , "Spanish (Dominican Republic)" ] , 12298 : [ "es-EC" , "Español (Ecuador)" , "Spanish (Ecuador)" ] , 17418 : [ "es-SV" , "Español (El Salvador)" , "Spanish (El Salvador)" ] , 4106 : [ "es-GT" , "Español (Guatemala)" , "Spanish (Guatemala)" ] , 18442 : [ " es
this . formulas . $window && this . formulas . fillFormulasGroups ( ) ) , this . formulas . show ( t ) ) } , hideDialog : function ( ) { this . formulas && this . formulas . isVisible ( ) && this . formulas . hide ( ) } , updateLast10Formulas : function ( t ) { var e = Common . Utils . InternalSettings . get ( "sse-settings-func-last" ) || "SUM;AVERAGE;IF;HYPERLINK;COUNT;MAX;SIN;SUMIF;PMT;STDEV" ; e = e . split ( ";" ) ; var i = _ . indexOf ( e , t ) ; e . splice ( i < 0 ? e . length - 1 : i , 1 ) , e . unshift ( t ) ; var n = e . join ( ";" ) ; if ( Common . localStorage . setItem ( "sse-settings-func-last" , n ) , Common . Utils . InternalSettings . set ( "sse-settings-func-last" , n ) , this . formulasGroups ) { var o = this . formulasGroups . findWhere ( { name : "Last10" } ) ; o && o . set ( "functions" , this . loadingLast10Formulas ( this . getDescription ( Common . Utils . InternalSettings . get ( "sse-settings-func-locale" ) ) ) ) , this . formulaTab && this . formulaTab . updateRecent ( ) } } , loadingLast10Formulas : function ( t ) { for ( var e = ( Common . Utils . InternalSettings . get ( "sse-settings-func-last" ) || "SUM;AVERAGE;IF;HYPERLINK;COUNT;MAX;SIN;SUMIF;PMT;STDEV" ) . split ( ";" ) , i = this . api . asc _getFunctionArgumentSeparator ( ) , n = [ ] , o = 0 ; o < e . length ; o ++ ) { var s = e [ o ] ; n . push ( new SSE . Models . FormulaModel ( { index : o , group : "Last10" , name : this . api . asc _getFormulaLocaleName ( s ) , origin : s , args : ( t && t [ s ] ? t [ s ] . a : "" ) . replace ( /[,;]/g , i ) , desc : t && t [ s ] ? t [ s ] . d : "" } ) ) } return n } , loadingFormulas : function ( t , e ) { var i , n , o , s = 0 , a = 0 , l = this . formulasGroups , r = null , c = 0 , h = 0 , d = null , p = [ ] , m = null , u = null , g = this . api . asc _getFunctionArgumentSeparator ( ) ; if ( l && ( i = "Last10" , u = new SSE . Models . FormulaGroup ( { name : i , index : c , store : l , caption : this [ "sCategory" + i ] || i } ) , u && ( u . set ( "functions" , this . loadingLast10Formulas ( t ) ) , l . push ( u ) , c += 1 ) , i = "All" , m = new SSE . Models . FormulaGroup ( { name : i , index : c , store : l , caption : this [ "sCategory" + i ] || i } ) , m && ( l . push ( m ) , c += 1 ) , m ) ) { for ( d = this . api . asc _getFormulasInfo ( ) , s = 0 ; s < d . length ; s += 1 ) { for ( i = d [ s ] . asc _getGroupName ( ) , n = d [ s ] . asc _getFormulasArray ( ) , r = new SSE . Models . FormulaGroup ( { name : i , index : c , store : l , caption : this [ "sCategory" + i ] || i } ) , c += 1 , o = [ ] , a = 0 ; a < n . length ; a += 1 ) { var b = n [ a ] . asc _getName ( ) , f = new SSE . Models . FormulaModel ( { index : h , group : i , name : n [ a ] . asc _getLocaleName ( ) , origin : b , args : ( t && t [ b ] ? t [ b ] . a : "" ) . replace ( /[,;]/g , g ) , desc : t && t [ b ] ? t [ b ] . d : "" } ) ; h += 1 , o . push ( f ) , p . push ( f ) } r . set ( "functions" , _ . sortBy ( o , function ( t ) { return t . get ( "name" ) } ) ) , l . push ( r ) } m . set ( "functions" , _ . sortBy ( p , function ( t ) { return t . get ( "name" ) } ) ) } ( ! e || this . _formulasInited ) && this . formulaTab && this . formulaTab . fillFunctions ( ) } , onTabActive : function ( t ) { "formula" == t && ! this . _formulasInited && this . formulaTab && ( this . formulaTab . fillFunctions ( ) , this . _formulasInited = ! 0 ) } , sCategoryAll : "All" , sCategoryLast10 : "10 last used" , sCategoryLogical : "Logical" , sCategoryCube : "Cube" , sCategoryDatabase : "Database" , sCategoryDateAndTime : "Date and time" , sCategoryEngineering : "Engineering" , sCategoryFinancial : "Financial" , sCategoryInformation : "Information" , sCategoryLookupAndReference : "Lookup and reference" , sCategoryMathematic : "Math and trigonometry" , sCategoryStatistical : "Statistical" , sCategoryTextAndData : "Text and data" } , SSE . Controllers . FormulaDialog || { } ) ) } ) , define ( "spreadsheeteditor/main/app/controller/Main" , [ "core" , "irregularstack" , "common/main/lib/component/Window" , "common/main/lib/component/LoadMask" , "common/main/lib/component/Tooltip" , "common/main/lib/controller/Fonts" , "common/main/lib/collection/TextArt" , "common/main/lib/view/OpenDialog" , "common/main/lib/util/LanguageInfo" , "common/main/lib/util/LocalStorage" , "spreadsheeteditor/main/app/collection/ShapeGroups" , "spreadsheeteditor/main/app/collection/TableTemplates" , "spreadsheeteditor/main/app/collection/EquationGroups" , "spreadsheeteditor/main/app/controller/FormulaDialog" ] , function ( ) { "use strict" ; SSE . Controllers . Main = Backbone . Controller . extend ( _ . extend ( function ( ) { var t = { about : "button#left-btn-about" , feedback : "button#left-btn-support" , goback : "#fm-btn-back > a, #header-back > div" } , e = { toolbar : "#viewport #toolbar" , leftMenu : "#viewport #left-menu, #viewport #id-toolbar-full-placeholder-btn-settings, #viewport #id-toolbar-short-placeholder-btn-settings" , rightMenu : "#viewport #right-menu" , statusBar : "#statusbar" } ; return Common . localStorage . setId ( "table" ) , Common . localStorage . setKeysFilter ( "sse-,asc.table" ) , Common . localStora
( this . appOptions . isEditMailMerge || this . appOptions . isEditDiagram ) && ( i . hide ( ) , t . getController ( "LeftMenu" ) . getView ( "LeftMenu" ) . hide ( ) , $ ( window ) . mouseup ( function ( t ) { Common . Gateway . internalMessage ( "processMouse" , { event : "mouse:up" } ) } ) . mousemove ( $ . proxy ( function ( t ) { this . isDiagramDrag && Common . Gateway . internalMessage ( "processMouse" , { event : "mouse:move" , pagex : t . pageX * Common . Utils . zoom ( ) , pagey : t . pageY * Common . Utils . zoom ( ) } ) } , this ) ) ) , ! this . appOptions . isEditMailMerge && ! this . appOptions . isEditDiagram ) { this . api . asc _registerCallback ( "asc_onSendThemeColors" , _ . bind ( this . onSendThemeColors , this ) ) , this . api . asc _registerCallback ( "asc_onDownloadUrl" , _ . bind ( this . onDownloadUrl , this ) ) , this . api . asc _registerCallback ( "asc_onDocumentModifiedChanged" , _ . bind ( this . onDocumentModifiedChanged , this ) ) ; var n = t . getController ( "Print" ) ; n && this . api && n . setApi ( this . api ) } var o = this . getApplication ( ) . getController ( "CellEditor" ) ; o && o . setApi ( this . api ) . setMode ( this . appOptions ) } , applyModeEditorElements : function ( t ) { var e = this . getApplication ( ) . getController ( "Common.Controllers.Comments" ) ; if ( e && ( e . setMode ( this . appOptions ) , e . setConfig ( { config : this . editorConfig , sdkviewname : "#ws-canvas-outer" , hintmode : ! 0 } , this . api ) ) , this . appOptions . isEdit ) { var i = this , n = this . getApplication ( ) , o = n . getController ( "Toolbar" ) , s = n . getController ( "Statusbar" ) , a = n . getController ( "RightMenu" ) , l = n . getController ( "Common.Controllers.Fonts" ) , r = n . getController ( "Common.Controllers.ReviewChanges" ) ; l && l . setApi ( i . api ) , o && o . setApi ( i . api ) , a && a . setApi ( i . api ) , r . setMode ( i . appOptions ) . setConfig ( { config : i . editorConfig } , i . api ) , i . appOptions . canProtect && n . getController ( "Common.Controllers.Protection" ) . setMode ( i . appOptions ) . setConfig ( { config : i . editorConfig } , i . api ) , s && s . getView ( "Statusbar" ) . changeViewMode ( ! 0 ) , i . appOptions . isEditMailMerge || i . appOptions . isEditDiagram || i . appOptions . isOffline || n . getController ( "PivotTable" ) . setMode ( i . appOptions ) . setConfig ( { config : i . editorConfig } , i . api ) ; this . getApplication ( ) . getController ( "Viewport" ) . getView ( "Viewport" ) . applyEditorMode ( ) , a . getView ( "RightMenu" ) . setMode ( i . appOptions ) . setApi ( i . api ) , this . toolbarView = o . getView ( "Toolbar" ) ; var c = Common . localStorage . getItem ( "sse-settings-unit" ) ; if ( c = null !== c ? parseInt ( c ) : Common . Utils . Metric . getDefaultMetric ( ) , Common . Utils . Metric . setCurrentMetric ( c ) , Common . Utils . InternalSettings . set ( "sse-settings-unit" , c ) , i . appOptions . isEditMailMerge || i . appOptions . isEditDiagram ) a . getView ( "RightMenu" ) . hide ( ) ; else { var h = { } ; JSON . parse ( Common . localStorage . getItem ( "sse-hidden-formula" ) ) && ( h . formula = ! 0 ) , n . getController ( "Toolbar" ) . hideElements ( h ) } i . api . asc _registerCallback ( "asc_onAuthParticipantsChanged" , _ . bind ( i . onAuthParticipantsChanged , i ) ) , i . api . asc _registerCallback ( "asc_onParticipantsChanged" , _ . bind ( i . onAuthParticipantsChanged , i ) ) , i . appOptions . isEditDiagram && i . api . asc _registerCallback ( "asc_onSelectionChanged" , _ . bind ( i . onSelectionChanged , i ) ) , i . api . asc _setFilteringMode && i . api . asc _setFilteringMode ( i . appOptions . canModifyFilter ) , i . stackLongActions . exist ( { id : - 255 , type : Asc . c _oAscAsyncActionType . BlockInteraction } ) ? i . onLongActionEnd ( Asc . c _oAscAsyncActionType . BlockInteraction , - 255 ) : this . _isDocReady || ( Common . NotificationCenter . trigger ( "app:face" , this . appOptions ) , i . hidePreloader ( ) , i . onLongActionBegin ( Asc . c _oAscAsyncActionType . BlockInteraction , - 256 ) ) , window . onbeforeunload = _ . bind ( i . onBeforeUnload , i ) , window . onunload = _ . bind ( i . onUnload , i ) } } , onExternalMessage : function ( t ) { t && t . msg && ( t . msg = t . msg . toString ( ) , this . showTips ( [ t . msg . charAt ( 0 ) . toUpperCase ( ) + t . msg . substring ( 1 ) ] ) , Common . component . Analytics . trackEvent ( "External Error" ) ) } , onError : function ( t , e , i ) { if ( t == Asc . c _oAscError . ID . LoadingScriptError ) return this . showTips ( [ this . scriptLoadError ] ) , void ( this . tooltip && this . tooltip . getBSTip ( ) . $tip . css ( "z-index" , 1e4 ) ) ; this . hidePreloader ( ) , this . onLongActionEnd ( Asc . c _oAscAsyncActionType . BlockInteraction , - 256 ) ; var n = { closable : ! 0 } ; switch ( t ) { case Asc . c _oAscError . ID . Unknown : n . msg = this . unknownErrorText ; break ; case Asc . c _oAscError . ID . ConvertationTimeout : n . msg = this . convertationTimeoutText ; break ; case Asc . c _oAscError . ID . ConvertationOpenError : n . msg = this . openErrorText ; break ; case Asc . c _oAscError . ID . ConvertationSaveError : n . msg = thi
confirmPutMergeRange : "The source data contains merged cells.<br>They will be unmerged before they are pasted into the table." , errorViewerDisconnect : "Connection is lost. You can still view the document,<br>but will not be able to download or print until the connection is restored." , warnLicenseExp : "Your license has expired.<br>Please update your license and refresh the page." , titleLicenseExp : "License expired" , openErrorText : "An error has occurred while opening the file" , saveErrorText : "An error has occurred while saving the file" , errorCopyMultiselectArea : "This command cannot be used with multiple selections.<br>Select a single range and try again." , errorPrintMaxPagesCount : "Unfortunately, it’ s not possible to print more than 1500 pages at once in the current version of the program.<br>This restriction will be eliminated in upcoming releases." , errorToken : "The document security token is not correctly formed.<br>Please contact your Document Server administrator." , errorTokenExpire : "The document security token has expired.<br>Please contact your Document Server administrator." , errorSessionAbsolute : "The document editing session has expired. Please reload the page." , errorSessionIdle : "The document has not been edited for quite a long time. Please reload the page." , errorSessionToken : "The connection to the server has been interrupted. Please reload the page." , errorAccessDeny : "You are trying to perform an action you do not have rights for.<br>Please contact your Document Server administrator." , titleServerVersion : "Editor updated" , errorServerVersion : "The editor version has been updated. The page will be reloaded to apply the changes." , errorLockedCellPivot : "You cannot change data inside a pivot table." , txtAccent : "Accent" , txtStyle _Normal : "Normal" , txtStyle _Heading _1 : "Heading 1" , txtStyle _Heading _2 : "Heading 2" , txtStyle _Heading _3 : "Heading 3" , txtStyle _Heading _4 : "Heading 4" , txtStyle _Title : "Title" , txtStyle _Neutral : "Neutral" , txtStyle _Bad : "Bad" , txtStyle _Good : "Good" , txtStyle _Input : "Input" , txtStyle _Output : "Output" , txtStyle _Calculation : "Calculation" , txtStyle _Check _Cell : "Check Cell" , txtStyle _Explanatory _Text : "Explanatory Text" , txtStyle _Note : "Note" , txtStyle _Linked _Cell : "Linked Cell" , txtStyle _Warning _Text : "Warning Text" , txtStyle _Total : "Total" , txtStyle _Currency : "Currency" , txtStyle _Percent : "Percent" , txtStyle _Comma : "Comma" , errorForceSave : "An error occurred while saving the file. Please use the 'Download as' option to save the file to your computer hard drive or try again later." , errorMaxPoints : "The maximum number of points in series per chart is 4096." , warnNoLicense : "This version of %1 editors has certain limitations for concurrent connections to the document server.<br>If you need more please consider purchasing a commercial license." , warnNoLicenseUsers : "This version of %1 Editors has certain limitations for concurrent users.<br>If you need more please consider purchasing a commercial license." , warnLicenseExceeded : "The number of concurrent connections to the document server has been exceeded and the document will be opened for viewing only.<br>Please contact your administrator for more information." , warnLicenseUsersExceeded : "The number of concurrent users has been exceeded and the document will be opened for viewing only.<br>Please contact your administrator for more information." , errorDataEncrypted : "Encrypted changes have been received, they cannot be deciphered." , textClose : "Close" , textPaidFeature : "Paid feature" , scriptLoadError : "The connection is too slow, some of the components could not be loaded. Please reload the page." , errorEditingSaveas : "An error occurred during the work with the document.<br>Use the 'Save as...' option to save the file backup copy to your computer hard drive." , errorEditingDownloadas : "An error occurred during the work with the document.<br>Use the 'Download as...' option to save the file backup copy to your computer hard drive." , txtShape _textRect : "Text Box" , txtShape _rect : "Rectangle" , txtShape _ellipse : "Ellipse" , txtShape _triangle : "Triangle" , txtShape _rtTriangle : "Right Triangle" , txtShape _parallelogram : "Parallelogram" , txtShape _trapezoid
style : "width: 160px;" , editable : ! 1 , cls : "input-group-nr" , data : [ { value : Common . Utils . Metric . c _MetricUnits . cm , displayValue : this . txtCm } , { value : Common . Utils . Metric . c _MetricUnits . pt , displayValue : this . txtPt } , { value : Common . Utils . Metric . c _MetricUnits . inch , displayValue : this . txtInch } ] } ) , this . cmbFuncLocale = new Common . UI . ComboBox ( { el : $ ( "#fms-cmb-func-locale" ) , style : "width: 160px;" , editable : ! 1 , cls : "input-group-nr" , data : [ { value : "en" , displayValue : this . txtEn , exampleValue : this . txtExampleEn } , { value : "de" , displayValue : this . txtDe , exampleValue : this . txtExampleDe } , { value : "es" , displayValue : this . txtEs , exampleValue : this . txtExampleEs } , { value : "fr" , displayValue : this . txtFr , exampleValue : this . txtExampleFr } , { value : "it" , displayValue : this . txtIt , exampleValue : this . txtExampleIt } , { value : "ru" , displayValue : this . txtRu , exampleValue : this . txtExampleRu } , { value : "pl" , displayValue : this . txtPl , exampleValue : this . txtExamplePl } ] } ) . on ( "selected" , _ . bind ( function ( t , e ) { this . updateFuncExample ( e . exampleValue ) } , this ) ) ; var t = [ { value : 1068 } , { value : 1026 } , { value : 1029 } , { value : 1031 } , { value : 2055 } , { value : 1032 } , { value : 3081 } , { value : 2057 } , { value : 1033 } , { value : 3082 } , { value : 2058 } , { value : 1035 } , { value : 1036 } , { value : 1040 } , { value : 1041 } , { value : 1042 } , { value : 1062 } , { value : 1043 } , { value : 1045 } , { value : 1046 } , { value : 2070 } , { value : 1049 } , { value : 1051 } , { value : 1060 } , { value : 2077 } , { value : 1053 } , { value : 1055 } , { value : 1058 } , { value : 1066 } , { value : 2052 } ] ; return t . forEach ( function ( t ) { var e = Common . util . LanguageInfo . getLocalLanguageName ( t . value ) ; t . displayValue = e [ 1 ] , t . langName = e [ 0 ] } ) , this . cmbRegSettings = new Common . UI . ComboBox ( { el : $ ( "#fms-cmb-reg-settings" ) , style : "width: 160px;" , menuStyle : "max-height: 185px;" , editable : ! 1 , cls : "input-group-nr" , data : t , template : _ . template ( [ '<span class="input-group combobox <%= cls %> combo-langs" id="<%= id %>" style="<%= style %>">' , '<input type="text" class="form-control" style="padding-left: 25px !important;">' , '<span class="icon input-icon lang-flag"></span>' , '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret img-commonctrl"></span></button>' , '<ul class="dropdown-menu <%= menuCls %>" style="<%= menuStyle %>" role="menu">' , "<% _.each(items, function(item) { %>" , '<li id="<%= item.id %>" data-value="<%= item.value %>">' , '<a tabindex="-1" type="menuitem" style="padding-left: 26px !important;">' , '<i class="icon lang-flag <%= item.langName %>" style="position: absolute;margin-left:-21px;"></i>' , "<%= scope.getDisplayValue(item) %>" , "</a>" , "</li>" , "<% }); %>" , "</ul>" , "</span>" ] . join ( "" ) ) } ) . on ( "selected" , _ . bind ( function ( t , e ) { this . updateRegionalExample ( e . value ) } , this ) ) , this . cmbRegSettings . scroller && this . cmbRegSettings . scroller . update ( { alwaysVisibleY : ! 0 } ) , this . btnApply = new Common . UI . Button ( { el : "#fms-btn-apply" } ) , this . btnApply . on ( "click" , _ . bind ( this . applySettings , this ) ) , _ . isUndefined ( this . scroller ) && ( this . scroller = new Common . UI . Scroller ( { el : $ ( this . el ) , suppressScrollX : ! 0 } ) ) , this } , show : function ( ) { Common . UI . BaseView . prototype . show . call ( this , arguments ) , this . updateSettings ( ) } , setMode : function ( t ) { this . mode = t , $ ( "tr.edit" , this . el ) [ t . isEdit ? "show" : "hide" ] ( ) , $ ( "tr.autosave" , this . el ) [ t . isEdit ? "show" : "hide" ] ( ) , this . mode . isDesktopApp && this . mode . isOffline && ( this . chAutosave . setCaption ( this . strAutoRecover ) , this . lblAutosave . text ( this . textAutoRecover ) ) , $ ( "tr.forcesave" , this . el ) [ t . canForcesave ? "show" : "hide" ] ( ) , $ ( "tr.comments" , this . el ) [ t . canCoAuthoring ? "show" : "hide" ] ( ) , $ ( "tr.coauth.changes" , this . el ) [ t . isEdit && ! t . isOffline && t . canCoAuthoring ? "show" : "hide" ] ( ) } , setApi : function ( t ) { this . api = t } , updateSettings : function ( ) { var t = Common . Utils . InternalSettings . get ( "sse-settings-zoom" ) ; t = null !== t ? parseInt ( t ) : this . mode . customization && this . mode . customization . zoom ? parseInt ( this . mode . customization . zoom ) : 100 ; var e = this . cmbZoom . store . findWhere ( { value : t } ) ; this . cmbZoom . setValue ( e ? parseInt ( e . get ( "value" ) ) : t > 0 ? t + "%" : 100 ) , this . chLiveComment . setValue ( Common . Utils . InternalSettings . get ( "sse-settings-livecomment" ) ) , this . chResolvedComment . setValue ( Common . Utils . InternalSettings . get ( "sse-settings-resolvedcomment" ) ) , this . chR1C1Style . setValue ( Common . Utils . InternalSettings . get ( "sse-settings-r1c1" ) ) ; var i = Common .
this . btnChangePwd . render ( this . $el . find ( "#fms-btn-change-pwd" ) ) , this . btnChangePwd . on ( "click" , _ . bind ( this . closeMenu , this ) ) , this . btnDeletePwd = t . getButton ( "del-password" ) , this . btnDeletePwd . render ( this . $el . find ( "#fms-btn-delete-pwd" ) ) , this . btnDeletePwd . on ( "click" , _ . bind ( this . closeMenu , this ) ) , this . cntPassword = $ ( "#id-fms-password" ) , this . cntPasswordView = $ ( "#id-fms-view-pwd" ) , this . btnAddInvisibleSign = t . getButton ( "signature" ) , this . btnAddInvisibleSign . render ( this . $el . find ( "#fms-btn-invisible-sign" ) ) , this . btnAddInvisibleSign . on ( "click" , _ . bind ( this . closeMenu , this ) ) , this . cntSignature = $ ( "#id-fms-signature" ) , this . cntSignatureView = $ ( "#id-fms-signature-view" ) , _ . isUndefined ( this . scroller ) && ( this . scroller = new Common . UI . Scroller ( { el : $ ( this . el ) , suppressScrollX : ! 0 } ) ) , this . $el . on ( "click" , ".signature-edit-link" , _ . bind ( this . onEdit , this ) ) , this . $el . on ( "click" , ".signature-view-link" , _ . bind ( this . onView , this ) ) , this } , show : function ( ) { Common . UI . BaseView . prototype . show . call ( this , arguments ) , this . updateSignatures ( ) , this . updateEncrypt ( ) } , setMode : function ( t ) { this . mode = t , this . cntSignature . toggleClass ( "hidden" , ! this . mode . isSignatureSupport ) , this . cntPassword . toggleClass ( "hidden" , ! this . mode . isPasswordSupport ) } , setApi : function ( t ) { return this . api = t , this } , closeMenu : function ( ) { this . menu && this . menu . hide ( ) } , onEdit : function ( ) { this . menu && this . menu . hide ( ) ; var t = this ; Common . UI . warning ( { title : this . notcriticalErrorTitle , msg : this . txtEditWarning , buttons : [ "ok" , "cancel" ] , primary : "ok" , callback : function ( e ) { "ok" == e && t . api . asc _RemoveAllSignatures ( ) } } ) } , onView : function ( ) { this . menu && this . menu . hide ( ) , SSE . getController ( "RightMenu" ) . rightmenu . SetActivePane ( Common . Utils . documentSettingsType . Signature , ! 0 ) } , updateSignatures : function ( ) { var t = this . api . asc _getRequestSignatures ( ) , e = this . api . asc _getSignatures ( ) , i = t && t . length > 0 , n = ! 1 , o = ! 1 ; _ . each ( e , function ( t , e ) { 0 == t . asc _getValid ( ) ? n = ! 0 : o = ! 0 } ) ; var s = o ? this . txtSignedInvalid : n ? this . txtSigned : "" ; i && ( s = this . txtRequestedSignatures + ( "" != s ? "<br><br>" : "" ) + s ) , this . cntSignatureView . html ( this . templateSignature ( { tipText : s , hasSigned : n || o , hasRequested : i } ) ) } , updateEncrypt : function ( ) { this . cntPasswordView . toggleClass ( "hidden" , this . btnAddPwd . isVisible ( ) ) } , strProtect : "Protect Workbook" , strSignature : "With Signature" , txtView : "View signatures" , txtEdit : "Edit workbook" , txtSigned : "Valid signatures has been added to the workbook. The workbook is protected from editing." , txtSignedInvalid : "Some of the digital signatures in workbook are invalid or could not be verified. The workbook is protected from editing." , txtRequestedSignatures : "This workbook needs to be signed." , notcriticalErrorTitle : "Warning" , txtEditWarning : "Editing will remove the signatures from the workbook.<br>Are you sure you want to continue?" , strEncrypt : "With Password" , txtEncrypted : "This workbook has been protected by password" } , SSE . Views . FileMenuPanels . ProtectDoc || { } ) ) } ) , define ( "text!spreadsheeteditor/main/app/template/PrintSettings.template" , [ ] , function ( ) { return ' < div class = "settings-panel active" > \ r \ n < div class = "padding-large inner-content" > \ r \ n < div id = "printadv-dlg-combo-range" class = "input-group-nr" / > \ r \ n < div id = "printadv-dlg-chb-ignore" style = "margin-top: 5px;" / > \ r \ n < /div>\r\n <div class="padding-small"/ > \ r \ n < div class = "padding-large inner-content" > \ r \ n < div id = "printadv-dlg-combo-sheets" class = "input-group-nr" / > \ r \ n < /div>\r\n <div class="padding-large inner-content" >\r\n <div id="printadv-dlg-combo-pages" class="input-group-nr" / > \ r \ n < /div>\r\n <div class="padding-large inner-content" >\r\n <span id="printadv-dlg-combo-orient" / > \ r \ n < /div>\r\n <div class="padding-large inner-content" >\r\n <span id="printadv-dlg-combo-layout" / > \ r \ n < / d i v > \ r \ n < d i v i d = " p r i n t a d v - d l g - c o n t e n t - t o - h i d e " > \ r \ n < d i v c l a s s = " p a d d i n g - l a r g e i n n e r - c o n t e n t " > \ r \ n < t a b l e c o l s = " 2 " c l a s s = " n o - p a d d i n g " > \ r \ n < t r > \ r \ n < t d > < l a b e l > < % = s c o p e . s t r T o p % > < / l a b e l > < / t d > \ r \ n < t d > < l a b e l > < % = s c o p e . s t r B o t t o m % > < / l a b e l > < / t d > \ r \ n < / t r > \ r \ n < t r > \ r \ n < t d c l a s s = " p a d d i n g - s m a
"rows" == this . options . props ? this . radioRows . setValue ( ! 0 ) : this . radioColumns . setValue ( ! 0 ) , this . getChild ( ) . find ( ".dlg-btn" ) . on ( "click" , _ . bind ( this . onBtnClick , this ) ) } , _handleInput : function ( t ) { this . options . handler && this . options . handler . call ( this , this , t ) , this . close ( ) } , onBtnClick : function ( t ) { this . _handleInput ( t . currentTarget . attributes . result . value ) } , getSettings : function ( ) { return this . radioRows . getValue ( ) } , onPrimary : function ( ) { return this . _handleInput ( "ok" ) , ! 1 } , cancelButtonText : "Cancel" , okButtonText : "Ok" , textRows : "Rows" , textColumns : "Columns" } , SSE . Views . GroupDialog || { } ) ) } ) , define ( "spreadsheeteditor/main/app/controller/DataTab" , [ "core" , "spreadsheeteditor/main/app/view/DataTab" , "spreadsheeteditor/main/app/view/GroupDialog" ] , function ( ) { "use strict" ; SSE . Controllers . DataTab = Backbone . Controller . extend ( _ . extend ( { models : [ ] , collections : [ ] , views : [ "DataTab" ] , sdkViewName : "#id_main" , initialize : function ( ) { this . _state = { CSVOptions : new Asc . asc _CTextOptions ( 0 , 4 , "" ) } } , onLaunch : function ( ) { } , setApi : function ( t ) { return t && ( this . api = t , this . api . asc _registerCallback ( "asc_onSelectionChanged" , _ . bind ( this . onSelectionChanged , this ) ) , this . api . asc _registerCallback ( "asc_onWorksheetLocked" , _ . bind ( this . onWorksheetLocked , this ) ) , this . api . asc _registerCallback ( "asc_onCoAuthoringDisconnect" , _ . bind ( this . onCoAuthoringDisconnect , this ) ) , Common . NotificationCenter . on ( "api:disconnect" , _ . bind ( this . onCoAuthoringDisconnect , this ) ) ) , this } , setConfig : function ( t ) { this . toolbar = t . toolbar , this . view = this . createView ( "DataTab" , { toolbar : this . toolbar . toolbar } ) , this . addListeners ( { DataTab : { "data:group" : this . onGroup , "data:ungroup" : this . onUngroup , "data:tocolumns" : this . onTextToColumn , "data:show" : this . onShowClick , "data:hide" : this . onHideClick , "data:groupsettings" : this . onGroupSettings } , Statusbar : { "sheet:changed" : this . onApiSheetChanged } } ) } , SetDisabled : function ( t ) { this . view && this . view . SetDisabled ( t ) } , getView : function ( t ) { return ! t && this . view ? this . view : Backbone . Controller . prototype . getView . call ( this , t ) } , onCoAuthoringDisconnect : function ( ) { this . SetDisabled ( ! 0 ) } , onSelectionChanged : function ( t ) { this . toolbar . editMode && this . view && ( Common . Utils . lockControls ( SSE . enumLock . multiselectCols , t . asc _getSelectedColsCount ( ) > 1 , { array : [ this . view . btnTextToColumns ] } ) , Common . Utils . lockControls ( SSE . enumLock . multiselect , t . asc _getFlags ( ) . asc _getMultiselect ( ) , { array : [ this . view . btnTextToColumns ] } ) ) } , onUngroup : function ( t ) { var e = this ; if ( "rows" == t ) void 0 !== e . api . asc _checkAddGroup ( ! 0 ) && e . api . asc _ungroup ( ! 0 ) ; else if ( "columns" == t ) void 0 !== e . api . asc _checkAddGroup ( ! 0 ) && e . api . asc _ungroup ( ! 1 ) ; else if ( "clear" == t ) e . api . asc _clearOutline ( ) ; else { var i = e . api . asc _checkAddGroup ( ! 0 ) ; null === i ? new SSE . Views . GroupDialog ( { title : e . view . capBtnUngroup , props : "rows" , handler : function ( t , i ) { "ok" == i && e . api . asc _ungroup ( t . getSettings ( ) ) , Common . NotificationCenter . trigger ( "edit:complete" , e . toolbar ) } } ) . show ( ) : void 0 !== i && e . api . asc _ungroup ( i ) } Common . NotificationCenter . trigger ( "edit:complete" , e . toolbar ) } , onGroup : function ( t , e ) { if ( "rows" == t ) void 0 !== this . api . asc _checkAddGroup ( ) && this . api . asc _group ( ! 0 ) ; else if ( "columns" == t ) void 0 !== this . api . asc _checkAddGroup ( ) && this . api . asc _group ( ! 1 ) ; else if ( "below" == t ) this . api . asc _setGroupSummary ( e , ! 1 ) ; else if ( "right" == t ) this . api . asc _setGroupSummary ( e , ! 0 ) ; else { var i = this , n = i . api . asc _checkAddGroup ( ) ; null === n ? new SSE . Views . GroupDialog ( { title : i . view . capBtnGroup , props : "rows" , handler : function ( t , e ) { "ok" == e && i . api . asc _group ( t . getSettings ( ) ) , Common . NotificationCenter . trigger ( "edit:complete" , i . toolbar ) } } ) . show ( ) : void 0 !== n && i . api . asc _group ( n ) } Common . NotificationCenter . trigger ( "edit:complete" , this . toolbar ) } , onGroupSettings : function ( t ) { var e = this . api . asc _getGroupSummaryBelow ( ) ; t . items [ 3 ] . setChecked ( ! ! e , ! 0 ) , e = this . api . asc _getGroupSummaryRight ( ) , t . items [ 4 ] . setChecked ( ! ! e , ! 0 ) } , onTextToColumn : function ( ) { this . api . asc _TextImport ( this . _state . CSVOptions , _ . bind ( this . onTextToColumnCallback , this ) , ! 1 ) } , onTextToColumnCallback : function ( t ) { if ( t && t . length ) { var e = this ; new Common . Views . OpenDialog ( { title : e . textWizard , closable : ! 0 , type : Common . Utils . importTextType . Columns , preview : ! 0 , previewData : t , settings : e . _state . CSVOptions , api : e . api , handler : function ( t , i , n , o ) { "ok" == t && e &
n [ 0 ] . selectionStart = n [ 0 ] . selectionEnd = e + t . length + 1 } , 10 ) } , textAddReply : "Add Reply" , textAdd : "Add" , textCancel : "Cancel" , textEdit : "Edit" , textReply : "Reply" , textClose : "Close" , textResolve : "Resolve" , textOpenAgain : "Open Again" , textFollowMove : "Follow Move" , textMention : "+mention will provide access to the document and send an email" } , Common . Views . ReviewPopover || { } ) ) } ) , void 0 === Common ) var Common = { } ; if ( Common . Controllers = Common . Controllers || { } , define ( "common/main/lib/controller/Comments" , [ "core" , "common/main/lib/model/Comment" , "common/main/lib/collection/Comments" , "common/main/lib/view/Comments" , "common/main/lib/view/ReviewPopover" ] , function ( ) { "use strict" ; function t ( ) { return void 0 !== Asc . asc _CCommentDataWord ? new Asc . asc _CCommentDataWord ( null ) : new Asc . asc _CCommentData ( null ) } Common . Controllers . Comments = Backbone . Controller . extend ( _ . extend ( { models : [ ] , collections : [ "Common.Collections.Comments" ] , views : [ "Common.Views.Comments" , "Common.Views.ReviewPopover" ] , sdkViewName : "#id_main" , subEditStrings : { } , filter : void 0 , hintmode : ! 1 , viewmode : ! 1 , isSelectedComment : ! 1 , uids : [ ] , oldUids : [ ] , isDummyComment : ! 1 , initialize : function ( ) { this . addListeners ( { "Common.Views.Comments" : { "comment:add" : _ . bind ( this . onCreateComment , this ) , "comment:change" : _ . bind ( this . onChangeComment , this ) , "comment:remove" : _ . bind ( this . onRemoveComment , this ) , "comment:resolve" : _ . bind ( this . onResolveComment , this ) , "comment:show" : _ . bind ( this . onShowComment , this ) , "comment:addReply" : _ . bind ( this . onAddReplyComment , this ) , "comment:changeReply" : _ . bind ( this . onChangeReplyComment , this ) , "comment:removeReply" : _ . bind ( this . onRemoveReplyComment , this ) , "comment:editReply" : _ . bind ( this . onShowEditReplyComment , this ) , "comment:closeEditing" : _ . bind ( this . closeEditing , this ) } , "Common.Views.ReviewPopover" : { "comment:change" : _ . bind ( this . onChangeComment , this ) , "comment:remove" : _ . bind ( this . onRemoveComment , this ) , "comment:resolve" : _ . bind ( this . onResolveComment , this ) , "comment:show" : _ . bind ( this . onShowComment , this ) , "comment:addReply" : _ . bind ( this . onAddReplyComment , this ) , "comment:changeReply" : _ . bind ( this . onChangeReplyComment , this ) , "comment:removeReply" : _ . bind ( this . onRemoveReplyComment , this ) , "comment:editReply" : _ . bind ( this . onShowEditReplyComment , this ) , "comment:closeEditing" : _ . bind ( this . closeEditing , this ) , "comment:disableHint" : _ . bind ( this . disableHint , this ) , "comment:addDummyComment" : _ . bind ( this . onAddDummyComment , this ) } } ) , Common . NotificationCenter . on ( "comments:updatefilter" , _ . bind ( this . onUpdateFilter , this ) ) , Common . NotificationCenter . on ( "app:comment:add" , _ . bind ( this . onAppAddComment , this ) ) , Common . NotificationCenter . on ( "layout:changed" , function ( t ) { Common . Utils . asyncCall ( function ( t ) { "toolbar" != t && "status" != t || ! this . view . $el . is ( ":visible" ) || this . onAfterShow ( ) } , this , t ) } . bind ( this ) ) } , onLaunch : function ( ) { this . collection = this . getApplication ( ) . getCollection ( "Common.Collections.Comments" ) , this . collection && ( this . collection . comparator = function ( t ) { return - t . get ( "time" ) } ) , this . popoverComments = new Common . Collections . Comments , this . popoverComments && ( this . popoverComments . comparator = function ( t ) { return t . get ( "time" ) } ) , this . groupCollection = [ ] , this . view = this . createView ( "Common.Views.Comments" , { store : this . collection } ) , this . view . render ( ) , this . userCollection = this . getApplication ( ) . getCollection ( "Common.Collections.Users" ) , this . userCollection . on ( "reset" , _ . bind ( this . onUpdateUsers , this ) ) , this . userCollection . on ( "add" , _ . bind ( this . onUpdateUsers , this ) ) , this . bindViewEvents ( this . view , this . events ) } , setConfig : function ( t , e ) { this . setApi ( e ) , t && ( this . currentUserId = t . config . user . id , this . currentUserName = t . config . user . fullname , this . sdkViewName = t . sdkviewname || this . sdkViewName , this . hintmode = t . hintmode || ! 1 , this . viewmode = t . viewmode || ! 1 ) } , setApi : function ( t ) { t && ( this . api = t , this . api . asc _registerCallback ( "asc_onAddComment" , _ . bind ( this . onApiAddComment , this ) ) , this . api . asc _registerCallback ( "asc_onAddComments" , _ . bind ( this . onApiAddComments , this ) ) , this . api . asc _registerCallback ( "asc_onRemoveComment" , _ . bind ( this . onApiRemoveComment , this ) ) , this . api . asc _registerCallback ( "asc_onChangeComments" , _ . bind ( this . onChangeComments , this ) ) , this . api . asc _registerCallback ( "asc_onRemoveComments" , _ . bind ( this . onRemoveComments ,
this . mode . isEditDiagram || this . mode . isEditMailMerge || ( this . api . asc _registerCallback ( "asc_onAuthParticipantsChanged" , _ . bind ( this . onUsersChanged , this ) ) , this . api . asc _registerCallback ( "asc_onConnectionStateChanged" , _ . bind ( this . onUserConnection , this ) ) , this . api . asc _coAuthoringGetUsers ( ) ) , this . mode . canCoAuthoring && this . mode . canChat && this . api . asc _coAuthoringChatGetMessages ( ) ) , this } , setApi : function ( t ) { return this . api = t , this } , onUsersChanged : function ( t , e ) { if ( ! this . mode . canLicense || ! this . mode . canCoAuthoring ) { var i = 0 ; for ( o in t ) void 0 !== o && i ++ ; if ( i > 1 && void 0 == this . _isCoAuthoringStopped ) return this . _isCoAuthoringStopped = ! 0 , this . api . asc _coAuthoringDisconnect ( ) , void Common . NotificationCenter . trigger ( "api:disconnect" ) } var n = this . getApplication ( ) . getCollection ( "Common.Collections.Users" ) ; if ( n ) { var o , s , a = [ ] ; for ( o in t ) if ( void 0 !== o && ( s = t [ o ] ) ) { var l = new Common . Models . User ( { id : s . asc _getId ( ) , idOriginal : s . asc _getIdOriginal ( ) , username : s . asc _getUserName ( ) , online : ! 0 , color : s . asc _getColor ( ) , view : s . asc _getView ( ) } ) ; a [ s . asc _getId ( ) == e ? "unshift" : "push" ] ( l ) } n [ n . size ( ) > 0 ? "add" : "reset" ] ( a ) } } , onUserConnection : function ( t ) { var e = this . getApplication ( ) . getCollection ( "Common.Collections.Users" ) ; if ( e ) { var i = e . findUser ( t . asc _getId ( ) ) ; i ? i . set ( { online : t . asc _getState ( ) } ) : e . add ( new Common . Models . User ( { id : t . asc _getId ( ) , idOriginal : t . asc _getIdOriginal ( ) , username : t . asc _getUserName ( ) , online : t . asc _getState ( ) , color : t . asc _getColor ( ) , view : t . asc _getView ( ) } ) ) } } , onReceiveMessage : function ( t , e ) { var i = this . getApplication ( ) . getCollection ( "Common.Collections.ChatMessages" ) ; if ( i ) { var n = [ ] ; t . forEach ( function ( t ) { n . push ( new Common . Models . ChatMessage ( { userid : t . useridoriginal , message : t . message , username : t . username } ) ) } ) , i [ i . size ( ) < 1 || e ? "reset" : "add" ] ( n ) } } , onSendMessage : function ( t , e ) { if ( e . length > 0 ) { var i = this ; ( function ( t , e ) { for ( var i = [ ] ; t ; ) { if ( t . length < e ) { i . push ( t ) ; break } i . push ( t . substr ( 0 , e ) ) , t = t . substr ( e ) } return i } ) ( e , 2048 ) . forEach ( function ( t ) { i . api . asc _coAuthoringChatSendMessage ( t ) } ) } } , notcriticalErrorTitle : "Warning" } , Common . Controllers . Chat || { } ) ) } ) , void 0 === Common ) var Common = { } ; if ( Common . Models = Common . Models || { } , define ( "common/main/lib/model/Plugin" , [ "underscore" , "backbone" , "common/main/lib/component/BaseView" ] , function ( t , e ) { "use strict" ; Common . Models . PluginVariation = e . Model . extend ( { defaults : function ( ) { return { description : "" , url : "" , index : 0 , icons : void 0 , isSystem : ! 1 , isViewer : ! 1 , isDisplayedInViewer : ! 0 , EditorsSupport : [ "word" , "cell" , "slide" ] , isVisual : ! 1 , isCustomWindow : ! 1 , isModal : ! 1 , isInsideMode : ! 1 , initDataType : 0 , initData : "" , isUpdateOleOnResize : ! 1 , buttons : [ ] , size : [ 800 , 600 ] , initOnSelectionChanged : ! 1 , visible : ! 0 } } } ) , Common . Models . Plugin = e . Model . extend ( { defaults : function ( ) { return { id : Common . UI . getId ( ) , name : "" , baseUrl : "" , guid : Common . UI . getId ( ) , variations : [ ] , currentVariation : 0 , pluginObj : void 0 , allowSelected : ! 1 , selected : ! 1 , visible : ! 0 , groupName : "" , groupRank : 0 } } } ) } ) , void 0 === Common ) var Common = { } ; if ( Common . Collections = Common . Collections || { } , define ( "common/main/lib/collection/Plugins" , [ "underscore" , "backbone" , "common/main/lib/model/Plugin" ] , function ( t , e ) { "use strict" ; Common . Collections . Plugins = e . Collection . extend ( { model : Common . Models . Plugin , hasVisible : function ( ) { return ! ! this . findWhere ( { visible : ! 0 } ) } } ) } ) , define ( "common/main/lib/controller/Plugins" , [ "core" , "common/main/lib/collection/Plugins" , "common/main/lib/view/Plugins" ] , function ( ) { "use strict" ; Common . Controllers . Plugins = Backbone . Controller . extend ( _ . extend ( { models : [ ] , appOptions : { } , configPlugins : { autostart : [ ] } , serverPlugins : { autostart : [ ] } , collections : [ "Common.Collections.Plugins" ] , views : [ "Common.Views.Plugins" ] , initialize : function ( ) { var t = this ; this . addListeners ( { Toolbar : { "render:before" : function ( e ) { var i = t . getApplication ( ) . getController ( "Main" ) . appOptions ; if ( ! i . isEditMailMerge && ! i . isEditDiagram ) { var n = { action : "plugins" , caption : t . panelPlugins . groupCaption } ; t . $toolbarPanelPlugins = t . panelPlugins . getPanel ( ) , e . addTab ( n , t . $toolbarPanelPlugins , 10 ) } } } , "Common.Views.Plugins" : { "plugin:select" : function ( e , i ) { t . api . asc _pluginRun ( e , i , "" ) } } } ) } , events : function ( ) { return { "click #id-plugin-close" : _ . bind ( this . onToolClose , this ) } } , onLaunch : function ( ) { var t = this . getApplication ( ) . g
; var t = this ; return this . btnPrev . on ( "click" , function ( e ) { t . fireEvent ( "reviewchange:preview" , [ t . btnPrev , "prev" ] ) } ) , this . btnNext . on ( "click" , function ( e ) { t . fireEvent ( "reviewchange:preview" , [ t . btnNext , "next" ] ) } ) , this . btnAccept . on ( "click" , function ( e ) { t . fireEvent ( "reviewchange:accept" , [ t . btnAccept , "current" ] ) } ) , this . btnAccept . menu . on ( "item:click" , function ( e , i , n ) { t . fireEvent ( "reviewchange:accept" , [ e , i ] ) } ) , this . btnReject . on ( "click" , function ( e ) { t . fireEvent ( "reviewchange:reject" , [ t . btnReject , "current" ] ) } ) , this . btnReject . menu . on ( "item:click" , function ( e , i , n ) { t . fireEvent ( "reviewchange:reject" , [ e , i ] ) } ) , this } , textTitle : "Review Changes" , txtPrev : "To previous change" , txtNext : "To next change" , txtAccept : "Accept" , txtAcceptCurrent : "Accept Current Change" , txtAcceptAll : "Accept All Changes" , txtReject : "Reject" , txtRejectCurrent : "Reject Current Change" , txtRejectAll : "Reject All Changes" } , Common . Views . ReviewChangesDialog || { } ) ) } ) , void 0 === Common ) var Common = { } ; if ( define ( "common/main/lib/view/LanguageDialog" , [ "common/main/lib/component/Window" ] , function ( ) { "use strict" ; Common . Views . LanguageDialog = Common . UI . Window . extend ( _ . extend ( { options : { header : ! 1 , width : 350 , cls : "modal-dlg" } , template : '<div class="box"><div class="input-row"><label><%= label %></label></div><div class="input-row" id="id-document-language"></div></div><div class="footer right"><button class="btn normal dlg-btn primary" result="ok" style="margin-right: 10px;"><%= btns.ok %></button><button class="btn normal dlg-btn" result="cancel"><%= btns.cancel %></button></div>' , initialize : function ( t ) { _ . extend ( this . options , t || { } , { label : this . labelSelect , btns : { ok : this . btnOk , cancel : this . btnCancel } } ) , this . options . tpl = _ . template ( this . template ) ( this . options ) , Common . UI . Window . prototype . initialize . call ( this , this . options ) } , render : function ( ) { Common . UI . Window . prototype . render . call ( this ) ; var t = this . getChild ( ) ; t . find ( ".dlg-btn" ) . on ( "click" , _ . bind ( this . onBtnClick , this ) ) , this . cmbLanguage = new Common . UI . ComboBox ( { el : t . find ( "#id-document-language" ) , cls : "input-group-nr" , menuStyle : "min-width: 318px; max-height: 285px;" , editable : ! 1 , template : _ . template ( [ '<span class="input-group combobox <%= cls %> combo-langs" id="<%= id %>" style="<%= style %>">' , '<input type="text" class="form-control">' , '<span class="icon input-icon spellcheck-lang img-toolbarmenu"></span>' , '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret img-commonctrl"></span></button>' , '<ul class="dropdown-menu <%= menuCls %>" style="<%= menuStyle %>" role="menu">' , "<% _.each(items, function(item) { %>" , '<li id="<%= item.id %>" data-value="<%= item.value %>">' , '<a tabindex="-1" type="menuitem" style="padding-left: 28px !important;" langval="<%= item.value %>">' , '<i class="icon <% if (item.spellcheck) { %> img-toolbarmenu spellcheck-lang <% } %>"></i>' , "<%= scope.getDisplayValue(item) %>" , "</a>" , "</li>" , "<% }); %>" , "</ul>" , "</span>" ] . join ( "" ) ) , data : this . options . languages , search : ! 0 } ) , this . cmbLanguage . scroller && this . cmbLanguage . scroller . update ( { alwaysVisibleY : ! 0 } ) , this . cmbLanguage . on ( "selected" , _ . bind ( this . onLangSelect , this ) ) ; var e = Common . util . LanguageInfo . getLocalLanguageName ( this . options . current ) ; this . cmbLanguage . setValue ( e [ 0 ] , e [ 1 ] ) , this . onLangSelect ( this . cmbLanguage , this . cmbLanguage . getSelectedRecord ( ) ) } , close : function ( t ) { this . getChild ( ) . find ( ".combobox.open" ) . length || Common . UI . Window . prototype . close . call ( this , arguments ) } , onBtnClick : function ( t ) { this . options . handler && this . options . handler . call ( this , t . currentTarget . attributes . result . value , this . cmbLanguage . getValue ( ) ) , this . close ( ) } , onLangSelect : function ( t , e , i ) { t . $el . find ( ".input-icon" ) . toggleClass ( "spellcheck-lang" , e && e . spellcheck ) , t . _input . css ( "padding-left" , e && e . spellcheck ? 25 : 3 ) } , onPrimary : function ( ) { return this . options . handler && this . options . handler . call ( this , "ok" , this . cmbLanguage . getValue ( ) ) , this . close ( ) , ! 1 } , labelSelect : "Select document language" , btnCancel : "Cancel" , btnOk : "Ok" } , Common . Views . LanguageDialog || { } ) ) } ) , void 0 === Common ) var Common = { } ; if ( Common . Controllers = Common . Controllers || { } , define ( "common/main/lib/controller/ReviewChanges" , [ "core" , " common / main / lib / model /
if ( this . handler ) { if ( "ok" == t ) { if ( ! 0 !== this . inputPwd . checkValidate ( ) ) return void this . inputPwd . cmpEl . find ( "input" ) . focus ( ) ; if ( this . inputPwd . getValue ( ) !== this . repeatPwd . getValue ( ) ) return this . repeatPwd . checkValidate ( ) , void this . repeatPwd . cmpEl . find ( "input" ) . focus ( ) } this . handler . call ( this , t , this . inputPwd . getValue ( ) ) } this . close ( ) } , okButtonText : "OK" , cancelButtonText : "Cancel" , txtTitle : "Set Password" , txtPassword : "Password" , txtDescription : "A Password is required to open this document" , txtRepeat : "Repeat password" , txtIncorrectPwd : "Confirmation password is not identical" } , Common . Views . PasswordDialog || { } ) ) } ) , void 0 === Common ) var Common = { } ; if ( define ( "common/main/lib/view/SignDialog" , [ "common/main/lib/util/utils" , "common/main/lib/component/InputField" , "common/main/lib/component/Window" , "common/main/lib/component/ComboBoxFonts" ] , function ( ) { "use strict" ; Common . Views . SignDialog = Common . UI . Window . extend ( _ . extend ( { options : { width : 370 , style : "min-width: 350px;" , cls : "modal-dlg" } , initialize : function ( t ) { _ . extend ( this . options , { title : this . textTitle } , t || { } ) , this . api = this . options . api , this . signType = this . options . signType || "invisible" , this . signSize = this . options . signSize || { width : 0 , height : 0 } , this . certificateId = null , this . signObject = null , this . fontStore = this . options . fontStore , this . font = { size : 11 , name : "Arial" , bold : ! 1 , italic : ! 1 } , this . template = [ '<div class="box" style="height: ' + ( "invisible" == this . signType ? "132px;" : "300px;" ) + '">' , '<div id="id-dlg-sign-invisible">' , '<div class="input-row">' , "<label>" + this . textPurpose + "</label>" , "</div>" , '<div id="id-dlg-sign-purpose" class="input-row"></div>' , "</div>" , '<div id="id-dlg-sign-visible">' , '<div class="input-row">' , "<label>" + this . textInputName + "</label>" , "</div>" , '<div id="id-dlg-sign-name" class="input-row" style="margin-bottom: 5px;"></div>' , '<div id="id-dlg-sign-fonts" class="input-row" style="display: inline-block;"></div>' , '<div id="id-dlg-sign-font-size" class="input-row" style="display: inline-block;margin-left: 3px;"></div>' , '<div id="id-dlg-sign-bold" style="display: inline-block;margin-left: 3px;"></div>' , '<div id="id-dlg-sign-italic" style="display: inline-block;margin-left: 3px;"></div>' , '<div style="margin: 10px 0 5px 0;">' , "<label>" + this . textUseImage + "</label>" , "</div>" , '<button id="id-dlg-sign-image" class="btn btn-text-default auto">' + this . textSelectImage + "</button>" , '<div class="input-row" style="margin-top: 10px;">' , '<label style="font-weight: bold;">' + this . textSignature + "</label>" , "</div>" , '<div style="border: 1px solid #cbcbcb;"><div id="signature-preview-img" style="width: 100%; height: 50px;position: relative;"></div></div>' , "</div>" , '<table style="margin-top: 30px;">' , "<tr>" , '<td><label style="font-weight: bold;margin-bottom: 3px;">' + this . textCertificate + '</label></td><td rowspan="2" style="vertical-align: top; padding-left: 30px;"><button id="id-dlg-sign-change" class="btn btn-text-default" style="">' + this . textSelect + "</button></td>" , "</tr>" , '<tr><td><div id="id-dlg-sign-certificate" class="hidden" style="max-width: 212px;overflow: hidden;"></td></tr>' , "</table>" , "</div>" , '<div class="footer center">' , '<button class="btn normal dlg-btn primary" result="ok" style="margin-right: 10px;">' + this . okButtonText + "</button>" , '<button class="btn normal dlg-btn" result="cancel">' + this . cancelButtonText + "</button>" , "</div>" ] . join ( "" ) , this . templateCertificate = _ . template ( [ '<label style="display: block;margin-bottom: 3px;"><%= Common.Utils.String.htmlEncode(name) %></label>' , '<label style="display: block;"><%= Common.Utils.String.htmlEncode(valid) %></label>' ] . join ( "" ) ) , this . options . tpl = _ . template ( this . template ) ( this . options ) , Common . UI . Window . prototype . initialize . call ( this , this . options ) } , render : function ( ) { Common . UI . Window . prototype . render . call ( this ) ; var t = this , e = this . getChild ( ) ; t . inputPurpose = new Common . UI . InputField ( { el : $ ( "#id-dlg-sign-purpose" ) , style : "width: 100%;" } ) , t . inputName = new Common . UI . InputField ( { el : $ ( "#id-dlg-sign-name" ) , style : "width: 100%;" , validateOnChange : ! 0 } ) . on ( "changing" , _ . bind ( t . onChangeName , t ) ) , t . cmbFonts = new Common . UI . ComboBoxFonts ( { el : $ ( "#id-dlg-sign-fonts" ) , cls : "input-group-nr" , style : " width :