]>
git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/static/AdminLTE-2.3.7/plugins/datatables/extensions/Scroller/js/dataTables.scroller.min.js
3 ©2011-2014 SpryMedia Ltd - datatables.net/license
5 ( function ( m
, n
, k
){ var l = function ( e
){ var g = function ( a
, b
){! this instanceof g
? alert ( "Scroller warning: Scroller must be initialised with the 'new' keyword." ):( "undefined" == typeof b
&&( b
={}), this . s
={ dt
: a
, tableTop
: 0 , tableBottom
: 0 , redrawTop
: 0 , redrawBottom
: 0 , autoHeight
:! 0 , viewportRows
: 0 , stateTO
: null , drawTO
: null , heights
:{ jump
: null , page
: null , virtual
: null , scroll
: null , row
: null , viewport
: null }, topRowFloat
: 0 , scrollDrawDiff
: null , loaderVisible
:! 1 }, this . s
= e
. extend ( this . s
, g
. oDefaults
, b
), this . s
. heights
. row
= this . s
. rowHeight
,
6 this . dom
={ force
: n
. createElement ( "div" ), scroller
: null , table
: null , loader
: null }, this . s
. dt
. oScroller
= this , this . _fnConstruct ())}; g
. prototype ={ fnRowToPixels : function ( a
, b
, c
){ a
= c
? this . _domain ( "virtualToPhysical" , a
* this . s
. heights
. row
): this . s
. baseScrollTop
+( a
- this . s
. baseRowTop
)* this . s
. heights
. row
; return b
|| b
=== k
? parseInt ( a
, 10 ): a
}, fnPixelsToRow : function ( a
, b
, c
){ var d
= a
- this . s
. baseScrollTop
, a
= c
? this . _domain ( "physicalToVirtual" , a
) /this.s.heights.row:d/ this . s
. heights
. row
+ this . s
. baseRowTop
; return b
|| b
=== k
? parseInt ( a
,
7 10 ): a
}, fnScrollToRow : function ( a
, b
){ var c
= this , d
=! 1 , f
= this . fnRowToPixels ( a
), h
= a
-( this . s
. displayBuffer
- 1 )/ 2 * this . s
. viewportRows
; 0 > h
&&( h
= 0 ); if (( f
> this . s
. redrawBottom
|| f
< this . s
. redrawTop
)&& this . s
. dt
. _iDisplayStart
!== h
) d
=! 0 , f
= this . fnRowToPixels ( a
,! 1 ,! 0 ); "undefined" == typeof b
|| b
?( this . s
. ani
= d
, e ( this . dom
. scroller
). animate ({ scrollTop
: f
}, function (){ setTimeout ( function (){ c
. s
. ani
=! 1 }, 25 )})): e ( this . dom
. scroller
). scrollTop ( f
)}, fnMeasure : function ( a
){ this . s
. autoHeight
&& this . _fnCalcRowHeight (); var b
= this . s
. heights
;
8 b
. viewport
= e ( this . dom
. scroller
). height (); this . s
. viewportRows
= parseInt ( b
. viewport
/ b
. row
, 10 )+ 1 ; this . s
. dt
. _iDisplayLength
= this . s
. viewportRows
* this . s
. displayBuffer
;( a
=== k
|| a
)&& this . s
. dt
. oInstance
. fnDraw ()}, _fnConstruct : function (){ var a
= this ; if ( this . s
. dt
. oFeatures
. bPaginate
){ this . dom
. force
. style
. position
= "absolute" ; this . dom
. force
. style
. top
= "0px" ; this . dom
. force
. style
. left
= "0px" ; this . dom
. force
. style
. width
= "1px" ; this . dom
. scroller
= e ( "div." + this . s
. dt
. oClasses
. sScrollBody
, this . s
. dt
. nTableWrapper
)[ 0 ]; this . dom
. scroller
. appendChild ( this . dom
. force
);
9 this . dom
. scroller
. style
. position
= "relative" ; this . dom
. table
= e ( ">table" , this . dom
. scroller
)[ 0 ]; this . dom
. table
. style
. position
= "absolute" ; this . dom
. table
. style
. top
= "0px" ; this . dom
. table
. style
. left
= "0px" ; e ( this . s
. dt
. nTableWrapper
). addClass ( "DTS" ); this . s
. loadingIndicator
&&( this . dom
. loader
= e ( '<div class="DTS_Loading">' + this . s
. dt
. oLanguage
. sLoadingRecords
+ "</div>" ). css ( "display" , "none" ), e ( this . dom
. scroller
. parentNode
). css ( "position" , "relative" ). append ( this . dom
. loader
)); this . s
. heights
. row
&& "auto" != this . s
. heights
. row
&&
10 ( this . s
. autoHeight
=! 1 ); this . fnMeasure (! 1 ); this . s
. ingnoreScroll
=! 0 ; this . s
. stateSaveThrottle
= this . s
. dt
. oApi
. _fnThrottle ( function (){ a
. s
. dt
. oApi
. _fnSaveState ( a
. s
. dt
)}, 500 ); e ( this . dom
. scroller
). on ( "scroll.DTS" , function (){ a
. _fnScroll
. call ( a
)}); e ( this . dom
. scroller
). on ( "touchstart.DTS" , function (){ a
. _fnScroll
. call ( a
)}); this . s
. dt
. aoDrawCallback
. push ({ fn : function (){ a
. s
. dt
. bInitialised
&& a
. _fnDrawCallback
. call ( a
)}, sName
: "Scroller" }); e ( m
). on ( "resize.DTS" , function (){ a
. fnMeasure ( false ); a
. _fnInfo ()}); var b
=! 0 ; this . s
. dt
. oApi
. _fnCallbackReg ( this . s
. dt
,
11 "aoStateSaveParams" , function ( c
, d
){ if ( b
&& a
. s
. dt
. oLoadedState
){ d
. iScroller
= a
. s
. dt
. oLoadedState
. iScroller
; d
. iScrollerTopRow
= a
. s
. dt
. oLoadedState
. iScrollerTopRow
; b
= false } else { d
. iScroller
= a
. dom
. scroller
. scrollTop
; d
. iScrollerTopRow
= a
. s
. topRowFloat
}}, "Scroller_State" ); this . s
. dt
. oLoadedState
&&( this . s
. topRowFloat
= this . s
. dt
. oLoadedState
. iScrollerTopRow
|| 0 ); this . s
. dt
. aoDestroyCallback
. push ({ sName
: "Scroller" , fn : function (){ e ( m
). off ( "resize.DTS" ); e ( a
. dom
. scroller
). off ( "touchstart.DTS scroll.DTS" ); e ( a
. s
. dt
. nTableWrapper
). removeClass ( "DTS" );
12 e ( "div.DTS_Loading" , a
. dom
. scroller
. parentNode
). remove (); a
. dom
. table
. style
. position
= "" ; a
. dom
. table
. style
. top
= "" ; a
. dom
. table
. style
. left
= "" }})} else this . s
. dt
. oApi
. _fnLog ( this . s
. dt
, 0 , "Pagination must be enabled for Scroller" )}, _fnScroll : function (){ var a
= this , b
= this . s
. heights
, c
= this . dom
. scroller
. scrollTop
, d
; if (! this . s
. skip
&&! this . s
. ingnoreScroll
) if ( this . s
. dt
. bFiltered
|| this . s
. dt
. bSorted
) this . s
. lastScrollTop
= 0 ; else { this . _fnInfo (); clearTimeout ( this . s
. stateTO
); this . s
. stateTO
= setTimeout ( function (){ a
. s
. dt
. oApi
. _fnSaveState ( a
. s
. dt
)},
13 250 ); if ( c
< this . s
. redrawTop
|| c
> this . s
. redrawBottom
){ var f
= Math
. ceil (( this . s
. displayBuffer
- 1 ) /2*this.s.viewportRows);Math.abs(c-this.s.lastScrollTop)>b.viewport||this.s.ani?(d=parseInt(this._domain("physicalToVirtual",c)/ b
. row
, 10 )- f
, this . s
. topRowFloat
= this . _domain ( "physicalToVirtual" , c
)/ b
. row
):( d
= this . fnPixelsToRow ( c
)- f
, this . s
. topRowFloat
= this . fnPixelsToRow ( c
,! 1 )); 0 >= d
? d
= 0 : d
+ this . s
. dt
. _iDisplayLength
> this . s
. dt
. fnRecordsDisplay ()?( d
= this . s
. dt
. fnRecordsDisplay ()- this . s
. dt
. _iDisplayLength
, 0 > d
&&( d
= 0 )):
14 0 !== d
% 2 && d
++; if ( d
!= this . s
. dt
. _iDisplayStart
&&( this . s
. tableTop
= e ( this . s
. dt
. nTable
). offset (). top
, this . s
. tableBottom
= e ( this . s
. dt
. nTable
). height ()+ this . s
. tableTop
, b = function (){ if ( a
. s
. scrollDrawReq
=== null ) a
. s
. scrollDrawReq
= c
; a
. s
. dt
. _iDisplayStart
= d
; a
. s
. dt
. oApi
. _fnCalculateEnd
&& a
. s
. dt
. oApi
. _fnCalculateEnd ( a
. s
. dt
); a
. s
. dt
. oApi
. _fnDraw ( a
. s
. dt
)}, this . s
. dt
. oFeatures
. bServerSide
?( clearTimeout ( this . s
. drawTO
), this . s
. drawTO
= setTimeout ( b
, this . s
. serverWait
)): b (), this . dom
. loader
&&! this . s
. loaderVisible
)) this . dom
. loader
. css ( "display" ,
15 "block" ), this . s
. loaderVisible
=! 0 } this . s
. lastScrollTop
= c
; this . s
. stateSaveThrottle ()}}, _domain : function ( a
, b
){ var c
= this . s
. heights
, d
; if ( c
. virtual
=== c
. scroll
){ d
=( c
. virtual
- c
. viewport
) /(c.scroll-c.viewport);if("virtualToPhysical"===a)return b/d ; if ( "physicalToVirtual" === a
) return b
* d
} var e
=( c
. scroll
- c
. viewport
) /2,h=(c.virtual-c.viewport)/ 2 ; d
= h
/(e*e);if("virtualToPhysical"===a){if(b<h)return Math.pow(b/d , 0.5 ); b
= 2 * h
- b
; return 0 > b
? c
. scroll
: 2 * e
- Math
. pow ( b
/ d
, 0.5 )} if ( "physicalToVirtual" === a
){ if ( b
< e
) return b
* b
*
16 d
; b
= 2 * e
- b
; return 0 > b
? c
. virtual
: 2 * h
- b
* b
* d
}}, _fnDrawCallback : function (){ var a
= this , b
= this . s
. heights
, c
= this . dom
. scroller
. scrollTop
, d
= e ( this . s
. dt
. nTable
). height (), f
= this . s
. dt
. _iDisplayStart
, h
= this . s
. dt
. _iDisplayLength
, g
= this . s
. dt
. fnRecordsDisplay (); this . s
. skip
=! 0 ; this . _fnScrollForce (); c
= 0 === f
? this . s
. topRowFloat
* b
. row
: f
+ h
>= g
? b
. scroll
-( g
- this . s
. topRowFloat
)* b
. row
: this . _domain ( "virtualToPhysical" , this . s
. topRowFloat
* b
. row
); this . dom
. scroller
. scrollTop
= c
; this . s
. baseScrollTop
= c
; this . s
. baseRowTop
= this . s
. topRowFloat
;
17 var j
= c
-( this . s
. topRowFloat
- f
)* b
. row
; 0 === f
? j
= 0 : f
+ h
>= g
&&( j
= b
. scroll
- d
); this . dom
. table
. style
. top
= j
+ "px" ; this . s
. tableTop
= j
; this . s
. tableBottom
= d
+ this . s
. tableTop
; d
=( c
- this . s
. tableTop
)* this . s
. boundaryScale
; this . s
. redrawTop
= c
- d
; this . s
. redrawBottom
= c
+ d
; this . s
. skip
=! 1 ; this . s
. dt
. oFeatures
. bStateSave
&& null !== this . s
. dt
. oLoadedState
&& "undefined" != typeof this . s
. dt
. oLoadedState
. iScroller
?(( c
=( this . s
. dt
. sAjaxSource
|| a
. s
. dt
. ajax
)&&! this . s
. dt
. oFeatures
. bServerSide
?! 0 :! 1 )&& 2 == this . s
. dt
. iDraw
||! c
&& 1 == this . s
. dt
. iDraw
)&&
18 setTimeout ( function (){ e ( a
. dom
. scroller
). scrollTop ( a
. s
. dt
. oLoadedState
. iScroller
); a
. s
. redrawTop
= a
. s
. dt
. oLoadedState
. iScroller
- b
. viewport
/ 2 ; setTimeout ( function (){ a
. s
. ingnoreScroll
=! 1 }, 0 )}, 0 ): a
. s
. ingnoreScroll
=! 1 ; setTimeout ( function (){ a
. _fnInfo
. call ( a
)}, 0 ); this . dom
. loader
&& this . s
. loaderVisible
&&( this . dom
. loader
. css ( "display" , "none" ), this . s
. loaderVisible
=! 1 )}, _fnScrollForce : function (){ var a
= this . s
. heights
; a
. virtual
= a
. row
* this . s
. dt
. fnRecordsDisplay (); a
. scroll
= a
. virtual
; 1 E6
< a
. scroll
&&( a
. scroll
= 1 E6
); this . dom
. force
. style
. height
=
19 a
. scroll
+ "px" }, _fnCalcRowHeight : function (){ var a
= this . s
. dt
, b
= a
. nTable
, c
= b
. cloneNode (! 1 ), d
= e ( "<tbody/>" ). appendTo ( c
), f
= e ( '<div class="' + a
. oClasses
. sWrapper
+ ' DTS"><div class="' + a
. oClasses
. sScrollWrapper
+ '"><div class="' + a
. oClasses
. sScrollBody
+ '"></div></div></div>' ); for ( e ( "tbody tr:lt(4)" , b
). clone (). appendTo ( d
); 3 > e ( "tr" , d
). length
;) d
. append ( "<tr><td> </td></tr>" ); e ( "div." + a
. oClasses
. sScrollBody
, f
). append ( c
); a
. _bInitComplete
? a
= b
. parentNode
:( this . s
. dt
. nHolding
||( this . s
. dt
. nHolding
= e ( "<div></div>" ). insertBefore ( this . s
. dt
. nTable
)),
20 a
= this . s
. dt
. nHolding
); f
. appendTo ( a
); this . s
. heights
. row
= e ( "tr" , d
). eq ( 1 ). outerHeight (); f
. remove ()}, _fnInfo : function (){ if ( this . s
. dt
. oFeatures
. bInfo
){ var a
= this . s
. dt
, b
= a
. oLanguage
, c
= this . dom
. scroller
. scrollTop
, d
= Math
. floor ( this . fnPixelsToRow ( c
,! 1 , this . s
. ani
)+ 1 ), f
= a
. fnRecordsTotal (), h
= a
. fnRecordsDisplay (), c
= Math
. ceil ( this . fnPixelsToRow ( c
+ this . s
. heights
. viewport
,! 1 , this . s
. ani
)), c
= h
< c
? h
: c
, g
= a
. fnFormatNumber ( d
), j
= a
. fnFormatNumber ( c
), i
= a
. fnFormatNumber ( f
), k
= a
. fnFormatNumber ( h
), g
= 0 === a
. fnRecordsDisplay ()&&
21 a
. fnRecordsDisplay ()== a
. fnRecordsTotal ()? b
. sInfoEmpty
+ b
. sInfoPostFix
: 0 === a
. fnRecordsDisplay ()? b
. sInfoEmpty
+ " " + b
. sInfoFiltered
. replace ( "_MAX_" , i
)+ b
. sInfoPostFix
: a
. fnRecordsDisplay ()== a
. fnRecordsTotal ()? b
. sInfo
. replace ( "_START_" , g
). replace ( "_END_" , j
). replace ( "_MAX_" , i
). replace ( "_TOTAL_" , k
)+ b
. sInfoPostFix
: b
. sInfo
. replace ( "_START_" , g
). replace ( "_END_" , j
). replace ( "_MAX_" , i
). replace ( "_TOTAL_" , k
)+ " " + b
. sInfoFiltered
. replace ( "_MAX_" , a
. fnFormatNumber ( a
. fnRecordsTotal ()))+ b
. sInfoPostFix
;( b
= b
. fnInfoCallback
)&&
22 ( g
= b
. call ( a
. oInstance
, a
, d
, c
, f
, h
, g
)); a
= a
. aanFeatures
. i
; if ( "undefined" != typeof a
){ d
= 0 ; for ( f
= a
. length
; d
< f
; d
++) e ( a
[ d
]). html ( g
)}}}}; g
. defaults
={ trace
:! 1 , rowHeight
: "auto" , serverWait
: 200 , displayBuffer
: 9 , boundaryScale
: 0.5 , loadingIndicator
:! 1 }; g
. oDefaults
= g
. defaults
; g
. version
= "1.2.2" ; "function" == typeof e
. fn
. dataTable
&& "function" == typeof e
. fn
. dataTableExt
. fnVersionCheck
&& e
. fn
. dataTableExt
. fnVersionCheck ( "1.9.0" )? e
. fn
. dataTableExt
. aoFeatures
. push ({ fnInit : function ( a
){ var b
= a
. oInit
; return ( new g ( a
, b
. scroller
||
23 b
. oScroller
||{})). dom
. wrapper
}, cFeature
: "S" , sFeature
: "Scroller" }): alert ( "Warning: Scroller requires DataTables 1.9.0 or greater - www.datatables.net/download" ); e
. fn
. dataTable
. Scroller
= g
; e
. fn
. DataTable
. Scroller
= g
; if ( e
. fn
. dataTable
. Api
){ var i
= e
. fn
. dataTable
. Api
; i
. register ( "scroller()" , function (){ return this }); i
. register ( "scroller().rowToPixels()" , function ( a
, b
, c
){ var d
= this . context
; if ( d
. length
&& d
[ 0 ]. oScroller
) return d
[ 0 ]. oScroller
. fnRowToPixels ( a
, b
, c
)}); i
. register ( "scroller().pixelsToRow()" , function ( a
,
24 b
, c
){ var d
= this . context
; if ( d
. length
&& d
[ 0 ]. oScroller
) return d
[ 0 ]. oScroller
. fnPixelsToRow ( a
, b
, c
)}); i
. register ( "scroller().scrollToRow()" , function ( a
, b
){ this . iterator ( "table" , function ( c
){ c
. oScroller
&& c
. oScroller
. fnScrollToRow ( a
, b
)}); return this }); i
. register ( "scroller().measure()" , function ( a
){ this . iterator ( "table" , function ( b
){ b
. oScroller
&& b
. oScroller
. fnMeasure ( a
)}); return this })} return g
}; "function" === typeof define
&& define
. amd
? define ([ "jquery" , "datatables" ], l
): "object" === typeof exports
? l ( require ( "jquery" ),
25 require ( "datatables" )): jQuery
&&! jQuery
. fn
. dataTable
. Scroller
&& l ( jQuery
, jQuery
. fn
. dataTable
)})( window
, document
);