@ -1,86 +1,86 @@
/* global dataTablesDefaults allColumns */
// Set expiration date for cookies
var date = new Date ( ) ;
date . setTime ( date . getTime ( ) + ( 365 * 24 * 60 * 60 * 1000 ) ) ;
var expiration = date . toGMTString ( ) ;
var date = new Date ( ) ;
date . setTime ( date . getTime ( ) + ( 365 * 24 * 60 * 60 * 1000 ) ) ;
function hideColumns ( ) {
valCookie = $ . cookie ( "showColumns" ) ;
if ( valCookie ) {
valCookie = valCookie . split ( "/ ") ;
$ ( "#showall" ) . prop ( "checked" , false ) . parent ( ) . removeClass ( "selected" ) ;
for ( i = 0 ; i < valCookie . length ; i ++ ) {
if ( valCookie [ i ] !== '' ) {
index = valCookie [ i ] - 3 ;
$ ( "#itemst td:nth-child(" + valCookie [ i ] + "),#itemst th:nth-child(" + valCookie [ i ] + ")" ) . toggle ( ) ;
$ ( "#checkheader" + index ) . prop ( "checked" , false ) . parent ( ) . removeClass ( "selected" ) ;
}
function hideColumns ( ) {
var valCookie = $ . cookie ( "showColumns" ) ;
if ( valCookie ) {
valCookie = valCookie . split ( "/" ) ;
$ ( "#showall" ) . prop ( "checked" , false ) . parent ( ) . removeClass ( "selected " ) ;
for ( var i = 0 ; i < valCookie . length ; i ++ ) {
if ( valCookie [ i ] !== '' ) {
var index = valCookie [ i ] - 3 ;
$ ( "# itemst td: nth-chil d(" + valCooki e[ i ] + "),#itemst th:nth-child(" + valCookie [ i ] + ")" ) . toggle ( ) ;
$ ( "#checkheader" + index ) . prop ( "checked" , false ) . parent ( ) . removeClass ( "selected" ) ;
}
}
}
}
}
function hideColumn ( num ) {
$ ( "#hideall,#showall" ) . prop ( "checked" , false ) . parent ( ) . removeClass ( "selected" ) ;
valCookie = $ . cookie ( "showColumns" ) ;
// set the index of the table column to hide
$ ( "#" + num ) . parent ( ) . removeClass ( "selected" ) ;
var hide = Number ( num . replace ( "checkheader" , "" ) ) + 3 ;
// hide header and cells matching the index
$ ( "#itemst td:nth-child(" + hide + "),#itemst th:nth-child(" + hide + ")" ) . toggle ( ) ;
// set or modify cookie with the hidden column's index
if ( valCookie ) {
valCookie = valCookie . split ( "/" ) ;
var found = false ;
for ( $i = 0 ; $i < valCookie . length ; $i ++ ) {
if ( hide == valCookie [ i ] ) {
found = true ;
break ;
$ ( "#hideall,#showall" ) . prop ( "checked" , false ) . parent ( ) . removeClass ( "selected" ) ;
var valCookie = $ . cookie ( "showColumns" ) ;
// set the index of the table column to hide
$ ( "#" + num ) . parent ( ) . removeClass ( "selected" ) ;
var hide = Number ( num . replace ( "checkheader" , "" ) ) + 3 ;
// hide header and cells matching the index
$ ( "#itemst td:nth-child(" + hide + "),#itemst th:nth-child(" + hide + ")" ) . toggle ( ) ;
// set or modify cookie with the hidden column's index
if ( valCookie ) {
valCookie = valCookie . split ( "/" ) ;
var found = false ;
for ( var i = 0 ; i < valCookie . length ; i ++ ) {
if ( hide == valCookie [ i ] ) {
found = true ;
break ;
}
}
if ( ! found ) {
valCookie . push ( hide ) ;
var cookieString = valCookie . join ( "/" ) ;
$ . cookie ( "showColumns" , cookieString , { expires : date , path : '/' } ) ;
}
} else {
$ . cookie ( "showColumns" , hide , { expires : date , path : '/' } ) ;
}
if ( ! found ) {
valCookie . push ( hide ) ;
var cookieString = valCookie . join ( "/" ) ;
$ . cookie ( "showColumns" , cookieString , { expires : date , path : '/' } ) ;
}
} else {
$ . cookie ( "showColumns" , hide , { expires : date , path : '/' } ) ;
}
}
// Array Remove - By John Resig (MIT Licensed)
// http://ejohn.org/blog/javascript-array-remove/
Array . prototype . remove = function ( from , to ) {
var rest = this . slice ( ( to || from ) + 1 || this . length ) ;
this . length = from < 0 ? this . length + from : from ;
return this . push . apply ( this , rest ) ;
Array . prototype . remove = function ( from , to ) {
var rest = this . slice ( ( to || from ) + 1 || this . length ) ;
this . length = from < 0 ? this . length + from : from ;
return this . push . apply ( this , rest ) ;
} ;
function showColumn ( num ) {
$ ( "#hideall" ) . prop ( "checked" , false ) . parent ( ) . removeClass ( "selected" ) ;
$ ( "#" + num ) . parent ( ) . addClass ( "selected" ) ;
valCookie = $ . cookie ( "showColumns" ) ;
// set the index of the table column to hide
show = Number ( num . replace ( "checkheader" , "" ) ) + 3 ;
// hide header and cells matching the index
$ ( "#itemst td:nth-child(" + show + "),#itemst th:nth-child(" + show + ")" ) . toggle ( ) ;
// set or modify cookie with the hidden column's index
if ( valCookie ) {
valCookie = valCookie . split ( "/" ) ;
var found = false ;
for ( i = 0 ; i < valCookie . length ; i ++ ) {
if ( show == valCookie [ i ] ) {
valCookie . remove ( i ) ;
found = true ;
function showColumn ( num ) {
$ ( "#hideall" ) . prop ( "checked" , false ) . parent ( ) . removeClass ( "selected" ) ;
$ ( "#" + num ) . parent ( ) . addClass ( "selected" ) ;
var valCookie = $ . cookie ( "showColumns" ) ;
// set the index of the table column to hide
var show = Number ( num . replace ( "checkheader" , "" ) ) + 3 ;
// hide header and cells matching the index
$ ( "#itemst td:nth-child(" + show + "),#itemst th:nth-child(" + show + ")" ) . toggle ( ) ;
// set or modify cookie with the hidden column's index
if ( valCookie ) {
valCookie = valCookie . split ( "/" ) ;
var found = false ;
for ( var i = 0 ; i < valCookie . length ; i ++ ) {
if ( show == valCookie [ i ] ) {
valCookie . remove ( i ) ;
found = true ;
}
}
if ( found ) {
var cookieString = valCookie . join ( "/" ) ;
$ . cookie ( "showColumns" , cookieString , { expires : date , path : '/' } ) ;
}
}
if ( found ) {
var cookieString = valCookie . join ( "/" ) ;
$ . cookie ( "showColumns" , cookieString , { expires : date , path : '/' } ) ;
}
}
}
function showAllColumns ( ) {
$ ( "#selections input:checkbox" ) . each ( function ( ) {
function showAllColumns ( ) {
$ ( "#selections input:checkbox" ) . each ( function ( ) {
$ ( this ) . prop ( "checked" , true ) ;
} ) ;
$ ( "#selections span" ) . addClass ( "selected" ) ;
@ -88,59 +88,60 @@ function showAllColumns(){
$ . removeCookie ( "showColumns" , { path : '/' } ) ;
$ ( "#hideall" ) . prop ( "checked" , false ) . parent ( ) . removeClass ( "selected" ) ;
}
function hideAllColumns ( ) {
$ ( "#selections input:checkbox" ) . each ( function ( ) {
function hideAllColumns ( ) {
$ ( "#selections input:checkbox" ) . each ( function ( ) {
$ ( this ) . prop ( "checked" , false ) ;
} ) ;
$ ( "#selections span" ) . removeClass ( "selected" ) ;
$ ( "#itemst td:nth-child(3),#itemst th:nth-child(3)" ) . nextAll ( ) . hide ( ) ;
$ ( "#hideall" ) . prop ( "checked" , true ) . parent ( ) . addClass ( "selected" ) ;
var cookieString = allColumns . join ( "/" ) ;
$ . cookie ( "showColumns" , cookieString , { expires : date , path : '/' } ) ;
$ . cookie ( "showColumns" , cookieString , { expires : date , path : '/' } ) ;
}
$ ( document ) . ready ( function ( ) {
$ ( document ) . ready ( function ( ) {
hideColumns ( ) ;
$ ( "#itemst" ) . dataTable ( $ . extend ( true , { } , dataTablesDefaults , {
"sDom" : 't' ,
"aoColumnDefs" : [
{ "aTargets" : [ 0 ] , "bSortable" : false , "bSearchable" : false } ,
{ "sType" : "anti-the" , "aTargets" : [ "anti-the" ] }
{ "aTargets" : [ 0 ] , "bSortable" : false , "bSearchable" : false } ,
{ "sType" : "anti-the" , "aTargets" : [ "anti-the" ] }
] ,
"bPaginate" : false ,
} ) ) ;
$ ( "#selectallbutton" ) . click ( function ( e ) {
$ ( "#selectallbutton" ) . click ( function ( e ) {
e . preventDefault ( ) ;
$ ( "#itemst input:checkbox" ) . each ( function ( ) {
$ ( "#itemst input:checkbox" ) . each ( function ( ) {
$ ( this ) . prop ( "checked" , true ) ;
} ) ;
} ) ;
$ ( "#clearallbutton" ) . click ( function ( e ) {
$ ( "#clearallbutton" ) . click ( function ( e ) {
e . preventDefault ( ) ;
$ ( "#itemst input:checkbox" ) . each ( function ( ) {
$ ( "#itemst input:checkbox" ) . each ( function ( ) {
$ ( this ) . prop ( "checked" , false ) ;
} ) ;
} ) ;
$ ( "#clearonloanbutton" ) . click ( function ( ) {
$ ( "#itemst input[name='itemnumber'][data-is-onloan='1']" ) . each ( function ( ) {
$ ( this ) . prop ( 'checked' , false ) ;
} ) ;
return false ;
$ ( "#clearonloanbutton" ) . click ( function ( ) {
$ ( "#itemst input[name='itemnumber'][data-is-onloan='1']" ) . each ( function ( ) {
$ ( this ) . prop ( 'checked' , false ) ;
} ) ;
return false ;
} ) ;
$ ( "#selections input" ) . change ( function ( e ) {
var num = $ ( this ) . attr ( "id" ) ;
if ( num == 'showall' ) {
showAllColumns ( ) ;
e . stopPropagation ( ) ;
} else if ( num == 'hideall' ) {
hideAllColumns ( ) ;
e . stopPropagation ( ) ;
} else {
if ( $ ( this ) . prop ( "checked" ) ) {
showColumn ( num ) ;
$ ( "#selections input" ) . change ( function ( e ) {
var num = $ ( this ) . attr ( "id" ) ;
if ( num == 'showall' ) {
showAllColumns ( ) ;
e . stopPropagation ( ) ;
} else if ( num == 'hideall' ) {
hideAllColumns ( ) ;
e . stopPropagation ( ) ;
} else {
hideColumn ( num ) ;
if ( $ ( this ) . prop ( "checked" ) ) {
showColumn ( num ) ;
} else {
hideColumn ( num ) ;
}
}
}
} ) ;
} ) ;
} ) ;