Mercurial > repos > saskia-hiltemann > ireport_devel
comparison DataTables-1.9.4/media/src/DataTables.js @ 16:3c697a0bc415 draft default tip
Uploaded
| author | saskia-hiltemann |
|---|---|
| date | Wed, 06 Sep 2017 05:24:32 -0400 |
| parents | 3c160414da2e |
| children |
comparison
equal
deleted
inserted
replaced
| 15:1f44fe63e356 | 16:3c697a0bc415 |
|---|---|
| 1 /** | |
| 2 * @summary DataTables | |
| 3 * @description Paginate, search and sort HTML tables | |
| 4 * @version 1.9.4 | |
| 5 * @file jquery.dataTables.js | |
| 6 * @author Allan Jardine (www.sprymedia.co.uk) | |
| 7 * @contact www.sprymedia.co.uk/contact | |
| 8 * | |
| 9 * @copyright Copyright 2008-2012 Allan Jardine, all rights reserved. | |
| 10 * | |
| 11 * This source file is free software, under either the GPL v2 license or a | |
| 12 * BSD style license, available at: | |
| 13 * http://datatables.net/license_gpl2 | |
| 14 * http://datatables.net/license_bsd | |
| 15 * | |
| 16 * This source file is distributed in the hope that it will be useful, but | |
| 17 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
| 18 * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. | |
| 19 * | |
| 20 * For details please refer to: http://www.datatables.net | |
| 21 */ | |
| 22 | |
| 23 /*jslint evil: true, undef: true, browser: true */ | |
| 24 /*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*/ | |
| 25 | |
| 26 (/** @lends <global> */function( window, document, undefined ) { | |
| 27 | |
| 28 (function( factory ) { | |
| 29 "use strict"; | |
| 30 | |
| 31 // Define as an AMD module if possible | |
| 32 if ( typeof define === 'function' && define.amd ) | |
| 33 { | |
| 34 define( ['jquery'], factory ); | |
| 35 } | |
| 36 /* Define using browser globals otherwise | |
| 37 * Prevent multiple instantiations if the script is loaded twice | |
| 38 */ | |
| 39 else if ( jQuery && !jQuery.fn.dataTable ) | |
| 40 { | |
| 41 factory( jQuery ); | |
| 42 } | |
| 43 } | |
| 44 (/** @lends <global> */function( $ ) { | |
| 45 "use strict"; | |
| 46 /** | |
| 47 * DataTables is a plug-in for the jQuery Javascript library. It is a | |
| 48 * highly flexible tool, based upon the foundations of progressive | |
| 49 * enhancement, which will add advanced interaction controls to any | |
| 50 * HTML table. For a full list of features please refer to | |
| 51 * <a href="http://datatables.net">DataTables.net</a>. | |
| 52 * | |
| 53 * Note that the <i>DataTable</i> object is not a global variable but is | |
| 54 * aliased to <i>jQuery.fn.DataTable</i> and <i>jQuery.fn.dataTable</i> through which | |
| 55 * it may be accessed. | |
| 56 * | |
| 57 * @class | |
| 58 * @param {object} [oInit={}] Configuration object for DataTables. Options | |
| 59 * are defined by {@link DataTable.defaults} | |
| 60 * @requires jQuery 1.3+ | |
| 61 * | |
| 62 * @example | |
| 63 * // Basic initialisation | |
| 64 * $(document).ready( function { | |
| 65 * $('#example').dataTable(); | |
| 66 * } ); | |
| 67 * | |
| 68 * @example | |
| 69 * // Initialisation with configuration options - in this case, disable | |
| 70 * // pagination and sorting. | |
| 71 * $(document).ready( function { | |
| 72 * $('#example').dataTable( { | |
| 73 * "bPaginate": false, | |
| 74 * "bSort": false | |
| 75 * } ); | |
| 76 * } ); | |
| 77 */ | |
| 78 var DataTable = function( oInit ) | |
| 79 { | |
| 80 require('core.columns.js'); | |
| 81 require('core.data.js'); | |
| 82 require('core.draw.js'); | |
| 83 require('core.ajax.js'); | |
| 84 require('core.filter.js'); | |
| 85 require('core.info.js'); | |
| 86 require('core.init.js'); | |
| 87 require('core.length.js'); | |
| 88 require('core.page.js'); | |
| 89 require('core.processing.js'); | |
| 90 require('core.scrolling.js'); | |
| 91 require('core.sizing.js'); | |
| 92 require('core.sort.js'); | |
| 93 require('core.state.js'); | |
| 94 require('core.support.js'); | |
| 95 | |
| 96 require('api.methods.js'); | |
| 97 require('api.internal.js'); | |
| 98 | |
| 99 var _that = this; | |
| 100 this.each(function() { | |
| 101 require('core.constructor.js'); | |
| 102 } ); | |
| 103 _that = null; | |
| 104 return this; | |
| 105 }; | |
| 106 | |
| 107 require('api.static.js'); | |
| 108 | |
| 109 /** | |
| 110 * Version string for plug-ins to check compatibility. Allowed format is | |
| 111 * a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and | |
| 112 * e are optional | |
| 113 * @member | |
| 114 * @type string | |
| 115 * @default Version number | |
| 116 */ | |
| 117 DataTable.version = "1.9.4"; | |
| 118 | |
| 119 /** | |
| 120 * Private data store, containing all of the settings objects that are created for the | |
| 121 * tables on a given page. | |
| 122 * | |
| 123 * Note that the <i>DataTable.settings</i> object is aliased to <i>jQuery.fn.dataTableExt</i> | |
| 124 * through which it may be accessed and manipulated, or <i>jQuery.fn.dataTable.settings</i>. | |
| 125 * @member | |
| 126 * @type array | |
| 127 * @default [] | |
| 128 * @private | |
| 129 */ | |
| 130 DataTable.settings = []; | |
| 131 | |
| 132 /** | |
| 133 * Object models container, for the various models that DataTables has available | |
| 134 * to it. These models define the objects that are used to hold the active state | |
| 135 * and configuration of the table. | |
| 136 * @namespace | |
| 137 */ | |
| 138 DataTable.models = {}; | |
| 139 require('model.ext.js'); | |
| 140 require('model.search.js'); | |
| 141 require('model.row.js'); | |
| 142 require('model.column.js'); | |
| 143 require('model.defaults.js'); | |
| 144 require('model.defaults.columns.js'); | |
| 145 require('model.settings.js'); | |
| 146 | |
| 147 /** | |
| 148 * Extension object for DataTables that is used to provide all extension options. | |
| 149 * | |
| 150 * Note that the <i>DataTable.ext</i> object is available through | |
| 151 * <i>jQuery.fn.dataTable.ext</i> where it may be accessed and manipulated. It is | |
| 152 * also aliased to <i>jQuery.fn.dataTableExt</i> for historic reasons. | |
| 153 * @namespace | |
| 154 * @extends DataTable.models.ext | |
| 155 */ | |
| 156 DataTable.ext = $.extend( true, {}, DataTable.models.ext ); | |
| 157 require('ext.classes.js'); | |
| 158 require('ext.paging.js'); | |
| 159 require('ext.sorting.js'); | |
| 160 require('ext.types.js'); | |
| 161 | |
| 162 // jQuery aliases | |
| 163 $.fn.DataTable = DataTable; | |
| 164 $.fn.dataTable = DataTable; | |
| 165 $.fn.dataTableSettings = DataTable.settings; | |
| 166 $.fn.dataTableExt = DataTable.ext; | |
| 167 | |
| 168 | |
| 169 // Information about events fired by DataTables - for documentation. | |
| 170 /** | |
| 171 * Draw event, fired whenever the table is redrawn on the page, at the same point as | |
| 172 * fnDrawCallback. This may be useful for binding events or performing calculations when | |
| 173 * the table is altered at all. | |
| 174 * @name DataTable#draw | |
| 175 * @event | |
| 176 * @param {event} e jQuery event object | |
| 177 * @param {object} o DataTables settings object {@link DataTable.models.oSettings} | |
| 178 */ | |
| 179 | |
| 180 /** | |
| 181 * Filter event, fired when the filtering applied to the table (using the build in global | |
| 182 * global filter, or column filters) is altered. | |
| 183 * @name DataTable#filter | |
| 184 * @event | |
| 185 * @param {event} e jQuery event object | |
| 186 * @param {object} o DataTables settings object {@link DataTable.models.oSettings} | |
| 187 */ | |
| 188 | |
| 189 /** | |
| 190 * Page change event, fired when the paging of the table is altered. | |
| 191 * @name DataTable#page | |
| 192 * @event | |
| 193 * @param {event} e jQuery event object | |
| 194 * @param {object} o DataTables settings object {@link DataTable.models.oSettings} | |
| 195 */ | |
| 196 | |
| 197 /** | |
| 198 * Sort event, fired when the sorting applied to the table is altered. | |
| 199 * @name DataTable#sort | |
| 200 * @event | |
| 201 * @param {event} e jQuery event object | |
| 202 * @param {object} o DataTables settings object {@link DataTable.models.oSettings} | |
| 203 */ | |
| 204 | |
| 205 /** | |
| 206 * DataTables initialisation complete event, fired when the table is fully drawn, | |
| 207 * including Ajax data loaded, if Ajax data is required. | |
| 208 * @name DataTable#init | |
| 209 * @event | |
| 210 * @param {event} e jQuery event object | |
| 211 * @param {object} oSettings DataTables settings object | |
| 212 * @param {object} json The JSON object request from the server - only | |
| 213 * present if client-side Ajax sourced data is used</li></ol> | |
| 214 */ | |
| 215 | |
| 216 /** | |
| 217 * State save event, fired when the table has changed state a new state save is required. | |
| 218 * This method allows modification of the state saving object prior to actually doing the | |
| 219 * save, including addition or other state properties (for plug-ins) or modification | |
| 220 * of a DataTables core property. | |
| 221 * @name DataTable#stateSaveParams | |
| 222 * @event | |
| 223 * @param {event} e jQuery event object | |
| 224 * @param {object} oSettings DataTables settings object | |
| 225 * @param {object} json The state information to be saved | |
| 226 */ | |
| 227 | |
| 228 /** | |
| 229 * State load event, fired when the table is loading state from the stored data, but | |
| 230 * prior to the settings object being modified by the saved state - allowing modification | |
| 231 * of the saved state is required or loading of state for a plug-in. | |
| 232 * @name DataTable#stateLoadParams | |
| 233 * @event | |
| 234 * @param {event} e jQuery event object | |
| 235 * @param {object} oSettings DataTables settings object | |
| 236 * @param {object} json The saved state information | |
| 237 */ | |
| 238 | |
| 239 /** | |
| 240 * State loaded event, fired when state has been loaded from stored data and the settings | |
| 241 * object has been modified by the loaded data. | |
| 242 * @name DataTable#stateLoaded | |
| 243 * @event | |
| 244 * @param {event} e jQuery event object | |
| 245 * @param {object} oSettings DataTables settings object | |
| 246 * @param {object} json The saved state information | |
| 247 */ | |
| 248 | |
| 249 /** | |
| 250 * Processing event, fired when DataTables is doing some kind of processing (be it, | |
| 251 * sort, filter or anything else). Can be used to indicate to the end user that | |
| 252 * there is something happening, or that something has finished. | |
| 253 * @name DataTable#processing | |
| 254 * @event | |
| 255 * @param {event} e jQuery event object | |
| 256 * @param {object} oSettings DataTables settings object | |
| 257 * @param {boolean} bShow Flag for if DataTables is doing processing or not | |
| 258 */ | |
| 259 | |
| 260 /** | |
| 261 * Ajax (XHR) event, fired whenever an Ajax request is completed from a request to | |
| 262 * made to the server for new data (note that this trigger is called in fnServerData, | |
| 263 * if you override fnServerData and which to use this event, you need to trigger it in | |
| 264 * you success function). | |
| 265 * @name DataTable#xhr | |
| 266 * @event | |
| 267 * @param {event} e jQuery event object | |
| 268 * @param {object} o DataTables settings object {@link DataTable.models.oSettings} | |
| 269 * @param {object} json JSON returned from the server | |
| 270 */ | |
| 271 | |
| 272 /** | |
| 273 * Destroy event, fired when the DataTable is destroyed by calling fnDestroy or passing | |
| 274 * the bDestroy:true parameter in the initialisation object. This can be used to remove | |
| 275 * bound events, added DOM nodes, etc. | |
| 276 * @name DataTable#destroy | |
| 277 * @event | |
| 278 * @param {event} e jQuery event object | |
| 279 * @param {object} o DataTables settings object {@link DataTable.models.oSettings} | |
| 280 */ | |
| 281 })); | |
| 282 | |
| 283 }(window, document)); | |
| 284 |
