diff --git a/js/apps/system/aardvark/frontend/js/lib/ColVis.js b/js/apps/system/aardvark/frontend/js/lib/ColVis.js deleted file mode 100644 index 2d01ddc69c..0000000000 --- a/js/apps/system/aardvark/frontend/js/lib/ColVis.js +++ /dev/null @@ -1,565 +0,0 @@ -/* - * File: ColVis.js - * Version: 1.0.1 - * CVS: $Id$ - * Description: Controls for column visiblity in DataTables - * Author: Allan Jardine (www.sprymedia.co.uk) - * Created: Wed Sep 15 18:23:29 BST 2010 - * Modified: $Date$ by $Author$ - * Language: Javascript - * License: LGPL - * Project: Just a little bit of fun :-) - * Contact: www.sprymedia.co.uk/contact - * - * Copyright 2010 Allan Jardine, all rights reserved. - * - */ - -(function($) { - -/** - * ColVis provides column visiblity control for DataTables - * @class ColVis - * @constructor - * @param {object} DataTables settings object - */ -ColVis = function( oDTSettings ) -{ - /* Santiy check that we are a new instance */ - if ( !this.CLASS || this.CLASS != "ColVis" ) - { - alert( "Warning: ColVis must be initialised with the keyword 'new'" ); - } - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public class variables - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - - /** - * @namespace Settings object which contains customisable information for ColVis instance - */ - this.s = { - /** - * DataTables settings object - * @property dt - * @type Object - * @default null - */ - "dt": null, - - /** - * Mode of activation. Can be 'click' or 'mouseover' - * @property activate - * @type String - * @default click - */ - "activate": "click", - - /** - * Text used for the button - * @property buttonText - * @type String - * @default Show / hide columns - */ - "buttonText": "Show / hide columns", - - /** - * Flag to say if the collection is hidden - * @property hidden - * @type boolean - * @default true - */ - "hidden": true, - - /** - * List of columns (integers) which should be excluded from the list - * @property aiExclude - * @type Array - * @default [] - */ - "aiExclude": [] - }; - - - /** - * @namespace Common and useful DOM elements for the class instance - */ - this.dom = { - /** - * Wrapper for the button - given back to DataTables as the node to insert - * @property wrapper - * @type Node - * @default null - */ - "wrapper": null, - - /** - * Activation button - * @property button - * @type Node - * @default null - */ - "button": null, - - /** - * Collection list node - * @property collection - * @type Node - * @default null - */ - "collection": null, - - /** - * Background node used for shading the display and event capturing - * @property background - * @type Node - * @default null - */ - "background": null, - - /** - * Element to position over the activation button to catch mouse events when using mouseover - * @property catcher - * @type Node - * @default null - */ - "catcher": null, - - /** - * List of button elements - * @property buttons - * @type Array - * @default [] - */ - "buttons": [] - }; - - - - - - /* Constructor logic */ - this.s.dt = oDTSettings; - this._fnConstruct(); - return this; -}; - - - -ColVis.prototype = { - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Public methods - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Private methods (they are of course public in JS, but recommended as private) - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - - /** - * Constructor logic - * @method _fnConstruct - * @returns void - * @private - */ - "_fnConstruct": function () - { - this._fnApplyCustomisation(); - - var that = this; - this.dom.wrapper = document.createElement('div'); - this.dom.wrapper.className = "ColVis TableTools"; - - this.dom.button = this._fnDomBaseButton( this.s.buttonText ); - this.dom.wrapper.appendChild( this.dom.button ); - - this.dom.catcher = this._fnDomCatcher(); - this.dom.collection = this._fnDomCollection(); - this.dom.background = this._fnDomBackground(); - - this._fnAddButtons(); - - this.s.dt.aoDrawCallback.push( { - "fn": function () { - that._fnDrawCallback.call( that ); - }, - "sName": "ColVis" - } ); - }, - - - /** - * Apply any customisation to the settings from the DataTables initialisation - * @method _fnApplyCustomisation - * @returns void - * @private - */ - "_fnApplyCustomisation": function () - { - if ( typeof this.s.dt.oInit.oColVis != 'undefined' ) - { - var oConfig = this.s.dt.oInit.oColVis; - - if ( typeof oConfig.activate != 'undefined' ) - { - this.s.activate = oConfig.activate; - } - - if ( typeof oConfig.buttonText != 'undefined' ) - { - this.s.buttonText = oConfig.buttonText; - } - - if ( typeof oConfig.aiExclude != 'undefined' ) - { - this.s.aiExclude = oConfig.aiExclude; - } - } - }, - - - /** - * On each table draw, check the visiblity checkboxes as needed. This allows any process to - * update the table's column visiblity and ColVis will still be accurate. - * @method _fnDrawCallback - * @returns void - * @private - */ - "_fnDrawCallback": function () - { - var aoColumns = this.s.dt.aoColumns; - - for ( var i=0, iLen=aoColumns.length ; i'+ - ''+oColumn.sTitle+'' ); - - $(nButton).click( function (e) { - var showHide = $('input',this).attr('checked')===true ? false : true; - if ( e.target.nodeName.toLowerCase() == "input" ) - { - showHide = $('input',this).attr('checked'); - } - that.s.dt.oInstance.fnSetColumnVis( i, showHide ); - } ); - - return nButton; - }, - - - /** - * Create the DOM needed for the button and apply some base properties. All buttons start here - * @method _fnDomBaseButton - * @param {String} text Button text - * @returns {Node} DIV element for the button - * @private - */ - "_fnDomBaseButton": function ( text ) - { - var - that = this, - nButton = document.createElement('button'), - nSpan = document.createElement('span'), - sEvent = this.s.activate=="mouseover" ? "mouseover" : "click"; - - nButton.className = !this.s.dt.bJUI ? "ColVis_Button TableTools_Button" : - "ColVis_Button TableTools_Button ui-button ui-state-default"; - nButton.appendChild( nSpan ); - nSpan.innerHTML = text; - - $(nButton).bind( sEvent, function (e) { - that._fnCollectionShow(); - e.preventDefault(); - } ); - - return nButton; - }, - - - /** - * Create the element used to contain list the columns (it is shown and hidden as needed) - * @method _fnDomCollection - * @returns {Node} div container for the collection - * @private - */ - "_fnDomCollection": function () - { - var that = this; - var nHidden = document.createElement('div'); - nHidden.style.display = "none"; - nHidden.className = !this.s.dt.bJUI ? "ColVis_collection TableTools_collection" : - "ColVis_collection TableTools_collection ui-buttonset ui-buttonset-multi"; - nHidden.style.position = "absolute"; - $(nHidden).css('opacity', 0); - - return nHidden; - }, - - - /** - * An element to be placed on top of the activate button to catch events - * @method _fnDomCatcher - * @returns {Node} div container for the collection - * @private - */ - "_fnDomCatcher": function () - { - var - that = this, - nCatcher = document.createElement('div'); - nCatcher.className = "ColVis_catcher TableTools_catcher"; - - $(nCatcher).click( function () { - that._fnCollectionHide.call( that, null, null ); - } ); - - return nCatcher; - }, - - - /** - * Create the element used to shade the background, and capture hide events (it is shown and - * hidden as needed) - * @method _fnDomBackground - * @returns {Node} div container for the background - * @private - */ - "_fnDomBackground": function () - { - var that = this; - - var nBackground = document.createElement('div'); - nBackground.style.position = "absolute"; - nBackground.style.left = "0px"; - nBackground.style.top = "0px"; - nBackground.className = "TableTools_collectionBackground"; - $(nBackground).css('opacity', 0); - - $(nBackground).click( function () { - that._fnCollectionHide.call( that, null, null ); - } ); - - /* When considering a mouse over action for the activation, we also consider a mouse out - * which is the same as a mouse over the background - without all the messing around of - * bubbling events. Use the catcher element to avoid messing around with bubbling - */ - if ( this.s.activate == "mouseover" ) - { - $(nBackground).mouseover( function () { - that.s.overcollection = false; - that._fnCollectionHide.call( that, null, null ); - } ); - } - - return nBackground; - }, - - - /** - * Show the show / hide list and the background - * @method _fnCollectionShow - * @returns void - * @private - */ - "_fnCollectionShow": function () - { - var that = this; - var oPos = $(this.dom.button).offset(); - var nHidden = this.dom.collection; - var nBackground = this.dom.background; - var iDivX = parseInt(oPos.left, 10); - var iDivY = parseInt(oPos.top + $(this.dom.button).outerHeight(), 10); - - nHidden.style.left = iDivX+"px"; - nHidden.style.top = iDivY+"px"; - nHidden.style.display = "block"; - $(nHidden).css('opacity',0); - - var iWinHeight = $(window).height(), iDocHeight = $(document).height(), - iWinWidth = $(window).width(), iDocWidth = $(document).width(); - - nBackground.style.height = ((iWinHeight>iDocHeight)? iWinHeight : iDocHeight) +"px"; - nBackground.style.width = ((iWinWidth iDocWidth ) - { - nHidden.style.left = (iDocWidth-iDivWidth)+"px"; - } - - if ( iDivY + iDivHeight > iDocHeight ) - { - nHidden.style.top = (iDivY-iDivHeight-$(nButton).outerHeight())+"px"; - } - - - /* This results in a very small delay for the end user but it allows the animation to be - * much smoother. If you don't want the animation, then the setTimeout can be removed - */ - setTimeout( function () { - $(nHidden).animate({"opacity": 1}, 500); - $(nBackground).animate({"opacity": 0.1}, 500); - }, 10 ); - - this.s.hidden = false; - }, - - - /** - * Hide the show / hide list and the background - * @method _fnCollectionHide - * @returns void - * @private - */ - "_fnCollectionHide": function ( ) - { - var that = this; - - if ( !this.s.hidden && this.dom.collection !== null ) - { - this.s.hidden = true; - - $(this.dom.collection).animate({"opacity": 0}, 500, function (e) { - this.style.display = "none"; - } ); - - $(this.dom.background).animate({"opacity": 0}, 500, function (e) { - document.body.removeChild( that.dom.background ); - document.body.removeChild( that.dom.catcher ); - } ); - } - } -}; - - - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Constants - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/** - * Name of this class - * @constant CLASS - * @type String - * @default ColVis - */ -ColVis.prototype.CLASS = "ColVis"; - - -/** - * ColVis version - * @constant VERSION - * @type String - * @default 1.0.0 - */ -ColVis.VERSION = "1.0.1"; -ColVis.prototype.VERSION = ColVis.VERSION; - - - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Initialisation - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * Register a new feature with DataTables - */ -if ( typeof $.fn.dataTable == "function" && - typeof $.fn.dataTableExt.fnVersionCheck == "function" && - $.fn.dataTableExt.fnVersionCheck('1.7.0') ) -{ - $.fn.dataTableExt.aoFeatures.push( { - "fnInit": function( oDTSettings ) { - var tt = new ColVis( oDTSettings ); - return tt.dom.wrapper; - }, - "cFeature": "C", - "sFeature": "ColVis" - } ); -} -else -{ - alert( "Warning: ColVis requires DataTables 1.7 or greater - www.datatables.net/download"); -} -})(jQuery); diff --git a/js/apps/system/aardvark/frontend/js/lib/jquery.dataTables.js b/js/apps/system/aardvark/frontend/js/lib/jquery.dataTables.js deleted file mode 100644 index 4164579a19..0000000000 --- a/js/apps/system/aardvark/frontend/js/lib/jquery.dataTables.js +++ /dev/null @@ -1,12098 +0,0 @@ -/** - * @summary DataTables - * @description Paginate, search and sort HTML tables - * @version 1.9.4 - * @file jquery.dataTables.js - * @author Allan Jardine (www.sprymedia.co.uk) - * @contact www.sprymedia.co.uk/contact - * - * @copyright Copyright 2008-2012 Allan Jardine, all rights reserved. - * - * This source file is free software, under either the GPL v2 license or a - * BSD style license, available at: - * http://datatables.net/license_gpl2 - * http://datatables.net/license_bsd - * - * This source file is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. - * - * For details please refer to: http://www.datatables.net - */ - -/*globals $, jQuery,define,_fnExternApiFunc,_fnInitialise,_fnInitComplete,_fnLanguageCompat,_fnAddColumn,_fnColumnOptions,_fnAddData,_fnCreateTr,_fnGatherData,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnServerParams,_fnAddOptionsHtml,_fnFeatureHtmlTable,_fnScrollDraw,_fnAdjustColumnSizing,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnBuildSearchArray,_fnBuildSearchRow,_fnFilterCreateSearch,_fnDataToSearch,_fnSort,_fnSortAttachListener,_fnSortingClasses,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnFeatureHtmlLength,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnNodeToDataIndex,_fnVisbleColumns,_fnCalculateEnd,_fnConvertToWidth,_fnCalculateColumnWidths,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnDetectType,_fnSettingsFromNode,_fnGetDataMaster,_fnGetTrNodes,_fnGetTdNodes,_fnEscapeRegex,_fnDeleteIndex,_fnReOrderIndex,_fnColumnOrdering,_fnLog,_fnClearTable,_fnSaveState,_fnLoadState,_fnCreateCookie,_fnReadCookie,_fnDetectHeader,_fnGetUniqueThs,_fnScrollBarWidth,_fnApplyToChildren,_fnMap,_fnGetRowData,_fnGetCellData,_fnSetCellData,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnApplyColumnDefs,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnJsonString,_fnRender,_fnNodeToColumnIndex,_fnInfoMacros,_fnBrowserDetect,_fnGetColumns*/ - -(/** @lends */function( window, document, undefined ) { - -(function( factory ) { - "use strict"; - - // Define as an AMD module if possible - if ( typeof define === 'function' && define.amd ) - { - define( ['jquery'], factory ); - } - /* Define using browser globals otherwise - * Prevent multiple instantiations if the script is loaded twice - */ - else if ( jQuery && !jQuery.fn.dataTable ) - { - factory( jQuery ); - } -} -(/** @lends */function( $ ) { - "use strict"; - /** - * DataTables is a plug-in for the jQuery Javascript library. It is a - * highly flexible tool, based upon the foundations of progressive - * enhancement, which will add advanced interaction controls to any - * HTML table. For a full list of features please refer to - * DataTables.net. - * - * Note that the DataTable object is not a global variable but is - * aliased to jQuery.fn.DataTable and jQuery.fn.dataTable through which - * it may be accessed. - * - * @class - * @param {object} [oInit={}] Configuration object for DataTables. Options - * are defined by {@link DataTable.defaults} - * @requires jQuery 1.3+ - * - * @example - * // Basic initialisation - * $(document).ready( function { - * $('#example').dataTable(); - * } ); - * - * @example - * // Initialisation with configuration options - in this case, disable - * // pagination and sorting. - * $(document).ready( function { - * $('#example').dataTable( { - * "bPaginate": false, - * "bSort": false - * } ); - * } ); - */ - var DataTable = function( oInit ) - { - - - /** - * Add a column to the list used for the table with default values - * @param {object} oSettings dataTables settings object - * @param {node} nTh The th element for this column - * @memberof DataTable#oApi - */ - function _fnAddColumn( oSettings, nTh ) - { - var oDefaults = DataTable.defaults.columns; - var iCol = oSettings.aoColumns.length; - var oCol = $.extend( {}, DataTable.models.oColumn, oDefaults, { - "sSortingClass": oSettings.oClasses.sSortable, - "sSortingClassJUI": oSettings.oClasses.sSortJUI, - "nTh": nTh ? nTh : document.createElement('th'), - "sTitle": oDefaults.sTitle ? oDefaults.sTitle : nTh ? nTh.innerHTML : '', - "aDataSort": oDefaults.aDataSort ? oDefaults.aDataSort : [iCol], - "mData": oDefaults.mData ? oDefaults.oDefaults : iCol - } ); - oSettings.aoColumns.push( oCol ); - - /* Add a column specific filter */ - if ( oSettings.aoPreSearchCols[ iCol ] === undefined || oSettings.aoPreSearchCols[ iCol ] === null ) - { - oSettings.aoPreSearchCols[ iCol ] = $.extend( {}, DataTable.models.oSearch ); - } - else - { - var oPre = oSettings.aoPreSearchCols[ iCol ]; - - /* Don't require that the user must specify bRegex, bSmart or bCaseInsensitive */ - if ( oPre.bRegex === undefined ) - { - oPre.bRegex = true; - } - - if ( oPre.bSmart === undefined ) - { - oPre.bSmart = true; - } - - if ( oPre.bCaseInsensitive === undefined ) - { - oPre.bCaseInsensitive = true; - } - } - - /* Use the column options function to initialise classes etc */ - _fnColumnOptions( oSettings, iCol, null ); - } - - - /** - * Apply options for a column - * @param {object} oSettings dataTables settings object - * @param {int} iCol column index to consider - * @param {object} oOptions object with sType, bVisible and bSearchable etc - * @memberof DataTable#oApi - */ - function _fnColumnOptions( oSettings, iCol, oOptions ) - { - var oCol = oSettings.aoColumns[ iCol ]; - - /* User specified column options */ - if ( oOptions !== undefined && oOptions !== null ) - { - /* Backwards compatibility for mDataProp */ - if ( oOptions.mDataProp && !oOptions.mData ) - { - oOptions.mData = oOptions.mDataProp; - } - - if ( oOptions.sType !== undefined ) - { - oCol.sType = oOptions.sType; - oCol._bAutoType = false; - } - - $.extend( oCol, oOptions ); - _fnMap( oCol, oOptions, "sWidth", "sWidthOrig" ); - - /* iDataSort to be applied (backwards compatibility), but aDataSort will take - * priority if defined - */ - if ( oOptions.iDataSort !== undefined ) - { - oCol.aDataSort = [ oOptions.iDataSort ]; - } - _fnMap( oCol, oOptions, "aDataSort" ); - } - - /* Cache the data get and set functions for speed */ - var mRender = oCol.mRender ? _fnGetObjectDataFn( oCol.mRender ) : null; - var mData = _fnGetObjectDataFn( oCol.mData ); - - oCol.fnGetData = function (oData, sSpecific) { - var innerData = mData( oData, sSpecific ); - - if ( oCol.mRender && (sSpecific && sSpecific !== '') ) - { - return mRender( innerData, sSpecific, oData ); - } - return innerData; - }; - oCol.fnSetData = _fnSetObjectDataFn( oCol.mData ); - - /* Feature sorting overrides column specific when off */ - if ( !oSettings.oFeatures.bSort ) - { - oCol.bSortable = false; - } - - /* Check that the class assignment is correct for sorting */ - if ( !oCol.bSortable || - ($.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1) ) - { - oCol.sSortingClass = oSettings.oClasses.sSortableNone; - oCol.sSortingClassJUI = ""; - } - else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1 ) - { - oCol.sSortingClass = oSettings.oClasses.sSortable; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUI; - } - else if ( $.inArray('asc', oCol.asSorting) != -1 && $.inArray('desc', oCol.asSorting) == -1 ) - { - oCol.sSortingClass = oSettings.oClasses.sSortableAsc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIAscAllowed; - } - else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) != -1 ) - { - oCol.sSortingClass = oSettings.oClasses.sSortableDesc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIDescAllowed; - } - } - - - /** - * Adjust the table column widths for new data. Note: you would probably want to - * do a redraw after calling this function! - * @param {object} oSettings dataTables settings object - * @memberof DataTable#oApi - */ - function _fnAdjustColumnSizing ( oSettings ) - { - /* Not interested in doing column width calculation if auto-width is disabled */ - if ( oSettings.oFeatures.bAutoWidth === false ) - { - return false; - } - - _fnCalculateColumnWidths( oSettings ); - for ( var i=0 , iLen=oSettings.aoColumns.length ; i