pui9-datatables 3.0.11 → 3.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pui9-datatables.common.js +104 -1185
- package/dist/pui9-datatables.css +1 -1
- package/package-lock.json +34 -29
- package/package.json +1 -1
|
@@ -602,17 +602,6 @@ var NATIVE_SYMBOL = __webpack_require__("04f8");
|
|
|
602
602
|
module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;
|
|
603
603
|
|
|
604
604
|
|
|
605
|
-
/***/ }),
|
|
606
|
-
|
|
607
|
-
/***/ "0c80":
|
|
608
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
609
|
-
|
|
610
|
-
"use strict";
|
|
611
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_0_id_20924664_prod_lang_postcss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d482");
|
|
612
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_0_id_20924664_prod_lang_postcss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_0_id_20924664_prod_lang_postcss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
613
|
-
/* unused harmony reexport * */
|
|
614
|
-
|
|
615
|
-
|
|
616
605
|
/***/ }),
|
|
617
606
|
|
|
618
607
|
/***/ "0cb2":
|
|
@@ -46235,6 +46224,13 @@ module.exports = /MSIE|Trident/.test(UA);
|
|
|
46235
46224
|
|
|
46236
46225
|
/***/ }),
|
|
46237
46226
|
|
|
46227
|
+
/***/ "2f57":
|
|
46228
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
46229
|
+
|
|
46230
|
+
// extracted by mini-css-extract-plugin
|
|
46231
|
+
|
|
46232
|
+
/***/ }),
|
|
46233
|
+
|
|
46238
46234
|
/***/ "2ff2":
|
|
46239
46235
|
/***/ (function(module, exports, __webpack_require__) {
|
|
46240
46236
|
|
|
@@ -47867,13 +47863,6 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
|
|
|
47867
47863
|
});
|
|
47868
47864
|
|
|
47869
47865
|
|
|
47870
|
-
/***/ }),
|
|
47871
|
-
|
|
47872
|
-
/***/ "4f75":
|
|
47873
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
47874
|
-
|
|
47875
|
-
// extracted by mini-css-extract-plugin
|
|
47876
|
-
|
|
47877
47866
|
/***/ }),
|
|
47878
47867
|
|
|
47879
47868
|
/***/ "4fad":
|
|
@@ -47988,13 +47977,6 @@ module.exports = !!webkit && +webkit[1];
|
|
|
47988
47977
|
/* unused harmony reexport * */
|
|
47989
47978
|
|
|
47990
47979
|
|
|
47991
|
-
/***/ }),
|
|
47992
|
-
|
|
47993
|
-
/***/ "5164":
|
|
47994
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
47995
|
-
|
|
47996
|
-
// extracted by mini-css-extract-plugin
|
|
47997
|
-
|
|
47998
47980
|
/***/ }),
|
|
47999
47981
|
|
|
48000
47982
|
/***/ "51eb":
|
|
@@ -48501,6 +48483,17 @@ var WeakMap = global.WeakMap;
|
|
|
48501
48483
|
module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
|
|
48502
48484
|
|
|
48503
48485
|
|
|
48486
|
+
/***/ }),
|
|
48487
|
+
|
|
48488
|
+
/***/ "5d47":
|
|
48489
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
48490
|
+
|
|
48491
|
+
"use strict";
|
|
48492
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_1_id_7fb36b86_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2f57");
|
|
48493
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_1_id_7fb36b86_prod_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_1_id_7fb36b86_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
48494
|
+
/* unused harmony reexport * */
|
|
48495
|
+
|
|
48496
|
+
|
|
48504
48497
|
/***/ }),
|
|
48505
48498
|
|
|
48506
48499
|
/***/ "5e77":
|
|
@@ -49546,6 +49539,13 @@ module.exports = function (it) {
|
|
|
49546
49539
|
};
|
|
49547
49540
|
|
|
49548
49541
|
|
|
49542
|
+
/***/ }),
|
|
49543
|
+
|
|
49544
|
+
/***/ "73a7":
|
|
49545
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
49546
|
+
|
|
49547
|
+
// extracted by mini-css-extract-plugin
|
|
49548
|
+
|
|
49549
49549
|
/***/ }),
|
|
49550
49550
|
|
|
49551
49551
|
/***/ "7418":
|
|
@@ -50115,6 +50115,17 @@ module.exports = function (argument) {
|
|
|
50115
50115
|
};
|
|
50116
50116
|
|
|
50117
50117
|
|
|
50118
|
+
/***/ }),
|
|
50119
|
+
|
|
50120
|
+
/***/ "8320":
|
|
50121
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
50122
|
+
|
|
50123
|
+
"use strict";
|
|
50124
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_0_id_7fb36b86_prod_lang_postcss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("73a7");
|
|
50125
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_0_id_7fb36b86_prod_lang_postcss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_0_id_7fb36b86_prod_lang_postcss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
50126
|
+
/* unused harmony reexport * */
|
|
50127
|
+
|
|
50128
|
+
|
|
50118
50129
|
/***/ }),
|
|
50119
50130
|
|
|
50120
50131
|
/***/ "83ab":
|
|
@@ -53821,17 +53832,6 @@ $({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
|
|
|
53821
53832
|
addToUnscopables('includes');
|
|
53822
53833
|
|
|
53823
53834
|
|
|
53824
|
-
/***/ }),
|
|
53825
|
-
|
|
53826
|
-
/***/ "cad9":
|
|
53827
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
53828
|
-
|
|
53829
|
-
"use strict";
|
|
53830
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_1_id_20924664_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5164");
|
|
53831
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_1_id_20924664_prod_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_cli_service_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PuiSimpleDatatable_vue_vue_type_style_index_1_id_20924664_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
|
|
53832
|
-
/* unused harmony reexport * */
|
|
53833
|
-
|
|
53834
|
-
|
|
53835
53835
|
/***/ }),
|
|
53836
53836
|
|
|
53837
53837
|
/***/ "cb2d":
|
|
@@ -54486,13 +54486,6 @@ module.exports = function (target, TAG, STATIC) {
|
|
|
54486
54486
|
};
|
|
54487
54487
|
|
|
54488
54488
|
|
|
54489
|
-
/***/ }),
|
|
54490
|
-
|
|
54491
|
-
/***/ "d482":
|
|
54492
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
54493
|
-
|
|
54494
|
-
// extracted by mini-css-extract-plugin
|
|
54495
|
-
|
|
54496
54489
|
/***/ }),
|
|
54497
54490
|
|
|
54498
54491
|
/***/ "d495":
|
|
@@ -76426,9 +76419,9 @@ var PuiGridActionsBtn_component = normalizeComponent(
|
|
|
76426
76419
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.fixed.js
|
|
76427
76420
|
var es_string_fixed = __webpack_require__("c7cd");
|
|
76428
76421
|
|
|
76429
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"cf80b3ea-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/desktop/PuiSimpleDatatable.vue?vue&type=template&id=
|
|
76422
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"cf80b3ea-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/desktop/PuiSimpleDatatable.vue?vue&type=template&id=7fb36b86&scoped=true
|
|
76430
76423
|
|
|
76431
|
-
var
|
|
76424
|
+
var PuiSimpleDatatablevue_type_template_id_7fb36b86_scoped_true_render = function render() {
|
|
76432
76425
|
var _vm = this,
|
|
76433
76426
|
_c = _vm._self._c;
|
|
76434
76427
|
return _c('v-layout', {
|
|
@@ -76505,9 +76498,9 @@ var PuiSimpleDatatablevue_type_template_id_20924664_scoped_true_render = functio
|
|
|
76505
76498
|
}
|
|
76506
76499
|
}) : _vm._e()], 1);
|
|
76507
76500
|
};
|
|
76508
|
-
var
|
|
76501
|
+
var PuiSimpleDatatablevue_type_template_id_7fb36b86_scoped_true_staticRenderFns = [];
|
|
76509
76502
|
|
|
76510
|
-
// CONCATENATED MODULE: ./src/components/desktop/PuiSimpleDatatable.vue?vue&type=template&id=
|
|
76503
|
+
// CONCATENATED MODULE: ./src/components/desktop/PuiSimpleDatatable.vue?vue&type=template&id=7fb36b86&scoped=true
|
|
76511
76504
|
|
|
76512
76505
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js
|
|
76513
76506
|
var es_object_get_own_property_descriptor = __webpack_require__("e439");
|
|
@@ -81303,1071 +81296,6 @@ var dataTables_fixedColumns = __webpack_require__("ea7d");
|
|
|
81303
81296
|
// EXTERNAL MODULE: ./node_modules/datatables.net-fixedcolumns-dt/css/fixedColumns.dataTables.css
|
|
81304
81297
|
var fixedColumns_dataTables = __webpack_require__("8e28");
|
|
81305
81298
|
|
|
81306
|
-
// CONCATENATED MODULE: ./node_modules/datatables.net-fixedheader/js/dataTables.fixedHeader.mjs
|
|
81307
|
-
/*! FixedHeader 3.3.1
|
|
81308
|
-
* ©2009-2022 SpryMedia Ltd - datatables.net/license
|
|
81309
|
-
*/
|
|
81310
|
-
|
|
81311
|
-
|
|
81312
|
-
|
|
81313
|
-
|
|
81314
|
-
|
|
81315
|
-
|
|
81316
|
-
/**
|
|
81317
|
-
* @summary FixedHeader
|
|
81318
|
-
* @description Fix a table's header or footer, so it is always visible while
|
|
81319
|
-
* scrolling
|
|
81320
|
-
* @version 3.3.1
|
|
81321
|
-
* @author SpryMedia Ltd (www.sprymedia.co.uk)
|
|
81322
|
-
* @contact www.sprymedia.co.uk
|
|
81323
|
-
* @copyright SpryMedia Ltd.
|
|
81324
|
-
*
|
|
81325
|
-
* This source file is free software, available under the following license:
|
|
81326
|
-
* MIT license - http://datatables.net/license/mit
|
|
81327
|
-
*
|
|
81328
|
-
* This source file is distributed in the hope that it will be useful, but
|
|
81329
|
-
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
81330
|
-
* or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
|
|
81331
|
-
*
|
|
81332
|
-
* For details please refer to: http://www.datatables.net
|
|
81333
|
-
*/
|
|
81334
|
-
|
|
81335
|
-
var _instCounter = 0;
|
|
81336
|
-
|
|
81337
|
-
var FixedHeader = function ( dt, config ) {
|
|
81338
|
-
// Sanity check - you just know it will happen
|
|
81339
|
-
if ( ! (this instanceof FixedHeader) ) {
|
|
81340
|
-
throw "FixedHeader must be initialised with the 'new' keyword.";
|
|
81341
|
-
}
|
|
81342
|
-
|
|
81343
|
-
// Allow a boolean true for defaults
|
|
81344
|
-
if ( config === true ) {
|
|
81345
|
-
config = {};
|
|
81346
|
-
}
|
|
81347
|
-
|
|
81348
|
-
dt = new js_jquery_dataTables_default.a.Api( dt );
|
|
81349
|
-
|
|
81350
|
-
this.c = jquery_default.a.extend( true, {}, FixedHeader.defaults, config );
|
|
81351
|
-
|
|
81352
|
-
this.s = {
|
|
81353
|
-
dt: dt,
|
|
81354
|
-
position: {
|
|
81355
|
-
theadTop: 0,
|
|
81356
|
-
tbodyTop: 0,
|
|
81357
|
-
tfootTop: 0,
|
|
81358
|
-
tfootBottom: 0,
|
|
81359
|
-
width: 0,
|
|
81360
|
-
left: 0,
|
|
81361
|
-
tfootHeight: 0,
|
|
81362
|
-
theadHeight: 0,
|
|
81363
|
-
windowHeight: jquery_default()(window).height(),
|
|
81364
|
-
visible: true
|
|
81365
|
-
},
|
|
81366
|
-
headerMode: null,
|
|
81367
|
-
footerMode: null,
|
|
81368
|
-
autoWidth: dt.settings()[0].oFeatures.bAutoWidth,
|
|
81369
|
-
namespace: '.dtfc'+(_instCounter++),
|
|
81370
|
-
scrollLeft: {
|
|
81371
|
-
header: -1,
|
|
81372
|
-
footer: -1
|
|
81373
|
-
},
|
|
81374
|
-
enable: true
|
|
81375
|
-
};
|
|
81376
|
-
|
|
81377
|
-
this.dom = {
|
|
81378
|
-
floatingHeader: null,
|
|
81379
|
-
thead: jquery_default()(dt.table().header()),
|
|
81380
|
-
tbody: jquery_default()(dt.table().body()),
|
|
81381
|
-
tfoot: jquery_default()(dt.table().footer()),
|
|
81382
|
-
header: {
|
|
81383
|
-
host: null,
|
|
81384
|
-
floating: null,
|
|
81385
|
-
floatingParent: jquery_default()('<div class="dtfh-floatingparent">'),
|
|
81386
|
-
placeholder: null
|
|
81387
|
-
},
|
|
81388
|
-
footer: {
|
|
81389
|
-
host: null,
|
|
81390
|
-
floating: null,
|
|
81391
|
-
floatingParent: jquery_default()('<div class="dtfh-floatingparent">'),
|
|
81392
|
-
placeholder: null
|
|
81393
|
-
}
|
|
81394
|
-
};
|
|
81395
|
-
|
|
81396
|
-
this.dom.header.host = this.dom.thead.parent();
|
|
81397
|
-
this.dom.footer.host = this.dom.tfoot.parent();
|
|
81398
|
-
|
|
81399
|
-
var dtSettings = dt.settings()[0];
|
|
81400
|
-
if ( dtSettings._fixedHeader ) {
|
|
81401
|
-
throw "FixedHeader already initialised on table "+dtSettings.nTable.id;
|
|
81402
|
-
}
|
|
81403
|
-
|
|
81404
|
-
dtSettings._fixedHeader = this;
|
|
81405
|
-
|
|
81406
|
-
this._constructor();
|
|
81407
|
-
};
|
|
81408
|
-
|
|
81409
|
-
|
|
81410
|
-
/*
|
|
81411
|
-
* Variable: FixedHeader
|
|
81412
|
-
* Purpose: Prototype for FixedHeader
|
|
81413
|
-
* Scope: global
|
|
81414
|
-
*/
|
|
81415
|
-
jquery_default.a.extend( FixedHeader.prototype, {
|
|
81416
|
-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
81417
|
-
* API methods
|
|
81418
|
-
*/
|
|
81419
|
-
|
|
81420
|
-
/**
|
|
81421
|
-
* Kill off FH and any events
|
|
81422
|
-
*/
|
|
81423
|
-
destroy: function () {
|
|
81424
|
-
var dom = this.dom;
|
|
81425
|
-
|
|
81426
|
-
this.s.dt.off( '.dtfc' );
|
|
81427
|
-
jquery_default()(window).off( this.s.namespace );
|
|
81428
|
-
|
|
81429
|
-
// Remove clones of FC blockers
|
|
81430
|
-
if (dom.header.rightBlocker) {
|
|
81431
|
-
dom.header.rightBlocker.remove();
|
|
81432
|
-
}
|
|
81433
|
-
if (dom.header.leftBlocker) {
|
|
81434
|
-
dom.header.leftBlocker.remove();
|
|
81435
|
-
}
|
|
81436
|
-
if (dom.footer.rightBlocker) {
|
|
81437
|
-
dom.footer.rightBlocker.remove();
|
|
81438
|
-
}
|
|
81439
|
-
if (dom.footer.leftBlocker) {
|
|
81440
|
-
dom.footer.leftBlocker.remove();
|
|
81441
|
-
}
|
|
81442
|
-
|
|
81443
|
-
if ( this.c.header ) {
|
|
81444
|
-
this._modeChange( 'in-place', 'header', true );
|
|
81445
|
-
}
|
|
81446
|
-
|
|
81447
|
-
if ( this.c.footer && dom.tfoot.length ) {
|
|
81448
|
-
this._modeChange( 'in-place', 'footer', true );
|
|
81449
|
-
}
|
|
81450
|
-
},
|
|
81451
|
-
|
|
81452
|
-
/**
|
|
81453
|
-
* Enable / disable the fixed elements
|
|
81454
|
-
*
|
|
81455
|
-
* @param {boolean} enable `true` to enable, `false` to disable
|
|
81456
|
-
*/
|
|
81457
|
-
enable: function ( enable, update )
|
|
81458
|
-
{
|
|
81459
|
-
this.s.enable = enable;
|
|
81460
|
-
|
|
81461
|
-
if ( update || update === undefined ) {
|
|
81462
|
-
this._positions();
|
|
81463
|
-
this._scroll( true );
|
|
81464
|
-
}
|
|
81465
|
-
},
|
|
81466
|
-
|
|
81467
|
-
/**
|
|
81468
|
-
* Get enabled status
|
|
81469
|
-
*/
|
|
81470
|
-
enabled: function ()
|
|
81471
|
-
{
|
|
81472
|
-
return this.s.enable;
|
|
81473
|
-
},
|
|
81474
|
-
|
|
81475
|
-
/**
|
|
81476
|
-
* Set header offset
|
|
81477
|
-
*
|
|
81478
|
-
* @param {int} new value for headerOffset
|
|
81479
|
-
*/
|
|
81480
|
-
headerOffset: function ( offset )
|
|
81481
|
-
{
|
|
81482
|
-
if ( offset !== undefined ) {
|
|
81483
|
-
this.c.headerOffset = offset;
|
|
81484
|
-
this.update();
|
|
81485
|
-
}
|
|
81486
|
-
|
|
81487
|
-
return this.c.headerOffset;
|
|
81488
|
-
},
|
|
81489
|
-
|
|
81490
|
-
/**
|
|
81491
|
-
* Set footer offset
|
|
81492
|
-
*
|
|
81493
|
-
* @param {int} new value for footerOffset
|
|
81494
|
-
*/
|
|
81495
|
-
footerOffset: function ( offset )
|
|
81496
|
-
{
|
|
81497
|
-
if ( offset !== undefined ) {
|
|
81498
|
-
this.c.footerOffset = offset;
|
|
81499
|
-
this.update();
|
|
81500
|
-
}
|
|
81501
|
-
|
|
81502
|
-
return this.c.footerOffset;
|
|
81503
|
-
},
|
|
81504
|
-
|
|
81505
|
-
|
|
81506
|
-
/**
|
|
81507
|
-
* Recalculate the position of the fixed elements and force them into place
|
|
81508
|
-
*/
|
|
81509
|
-
update: function (force)
|
|
81510
|
-
{
|
|
81511
|
-
if (! this.s.enable) {
|
|
81512
|
-
return;
|
|
81513
|
-
}
|
|
81514
|
-
|
|
81515
|
-
var table = this.s.dt.table().node();
|
|
81516
|
-
|
|
81517
|
-
if ( jquery_default()(table).is(':visible') ) {
|
|
81518
|
-
this.enable( true, false );
|
|
81519
|
-
}
|
|
81520
|
-
else {
|
|
81521
|
-
this.enable( false, false );
|
|
81522
|
-
}
|
|
81523
|
-
|
|
81524
|
-
// Don't update if header is not in the document atm (due to
|
|
81525
|
-
// async events)
|
|
81526
|
-
if (jquery_default()(table).children('thead').length === 0) {
|
|
81527
|
-
return;
|
|
81528
|
-
}
|
|
81529
|
-
|
|
81530
|
-
this._positions();
|
|
81531
|
-
this._scroll( force !== undefined ? force : true );
|
|
81532
|
-
},
|
|
81533
|
-
|
|
81534
|
-
|
|
81535
|
-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
81536
|
-
* Constructor
|
|
81537
|
-
*/
|
|
81538
|
-
|
|
81539
|
-
/**
|
|
81540
|
-
* FixedHeader constructor - adding the required event listeners and
|
|
81541
|
-
* simple initialisation
|
|
81542
|
-
*
|
|
81543
|
-
* @private
|
|
81544
|
-
*/
|
|
81545
|
-
_constructor: function ()
|
|
81546
|
-
{
|
|
81547
|
-
var that = this;
|
|
81548
|
-
var dt = this.s.dt;
|
|
81549
|
-
|
|
81550
|
-
jquery_default()(window)
|
|
81551
|
-
.on( 'scroll'+this.s.namespace, function () {
|
|
81552
|
-
that._scroll();
|
|
81553
|
-
} )
|
|
81554
|
-
.on( 'resize'+this.s.namespace, js_jquery_dataTables_default.a.util.throttle( function () {
|
|
81555
|
-
that.s.position.windowHeight = jquery_default()(window).height();
|
|
81556
|
-
that.update();
|
|
81557
|
-
}, 50 ) );
|
|
81558
|
-
|
|
81559
|
-
var autoHeader = jquery_default()('.fh-fixedHeader');
|
|
81560
|
-
if ( ! this.c.headerOffset && autoHeader.length ) {
|
|
81561
|
-
this.c.headerOffset = autoHeader.outerHeight();
|
|
81562
|
-
}
|
|
81563
|
-
|
|
81564
|
-
var autoFooter = jquery_default()('.fh-fixedFooter');
|
|
81565
|
-
if ( ! this.c.footerOffset && autoFooter.length ) {
|
|
81566
|
-
this.c.footerOffset = autoFooter.outerHeight();
|
|
81567
|
-
}
|
|
81568
|
-
|
|
81569
|
-
dt
|
|
81570
|
-
.on( 'column-reorder.dt.dtfc column-visibility.dt.dtfc column-sizing.dt.dtfc responsive-display.dt.dtfc', function (e, ctx) {
|
|
81571
|
-
that.update();
|
|
81572
|
-
} )
|
|
81573
|
-
.on( 'draw.dt.dtfc', function (e, ctx) {
|
|
81574
|
-
// For updates from our own table, don't reclone, but for all others, do
|
|
81575
|
-
that.update(ctx === dt.settings()[0] ? false : true);
|
|
81576
|
-
} );
|
|
81577
|
-
|
|
81578
|
-
dt.on( 'destroy.dtfc', function () {
|
|
81579
|
-
that.destroy();
|
|
81580
|
-
} );
|
|
81581
|
-
|
|
81582
|
-
this._positions();
|
|
81583
|
-
this._scroll();
|
|
81584
|
-
},
|
|
81585
|
-
|
|
81586
|
-
|
|
81587
|
-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
81588
|
-
* Private methods
|
|
81589
|
-
*/
|
|
81590
|
-
|
|
81591
|
-
/**
|
|
81592
|
-
* Clone a fixed item to act as a place holder for the original element
|
|
81593
|
-
* which is moved into a clone of the table element, and moved around the
|
|
81594
|
-
* document to give the fixed effect.
|
|
81595
|
-
*
|
|
81596
|
-
* @param {string} item 'header' or 'footer'
|
|
81597
|
-
* @param {boolean} force Force the clone to happen, or allow automatic
|
|
81598
|
-
* decision (reuse existing if available)
|
|
81599
|
-
* @private
|
|
81600
|
-
*/
|
|
81601
|
-
_clone: function ( item, force )
|
|
81602
|
-
{
|
|
81603
|
-
var that = this;
|
|
81604
|
-
var dt = this.s.dt;
|
|
81605
|
-
var itemDom = this.dom[ item ];
|
|
81606
|
-
var itemElement = item === 'header' ?
|
|
81607
|
-
this.dom.thead :
|
|
81608
|
-
this.dom.tfoot;
|
|
81609
|
-
|
|
81610
|
-
// If footer and scrolling is enabled then we don't clone
|
|
81611
|
-
// Instead the table's height is decreased accordingly - see `_scroll()`
|
|
81612
|
-
if (item === 'footer' && this._scrollEnabled()) {
|
|
81613
|
-
return;
|
|
81614
|
-
}
|
|
81615
|
-
|
|
81616
|
-
if ( ! force && itemDom.floating ) {
|
|
81617
|
-
// existing floating element - reuse it
|
|
81618
|
-
itemDom.floating.removeClass( 'fixedHeader-floating fixedHeader-locked' );
|
|
81619
|
-
}
|
|
81620
|
-
else {
|
|
81621
|
-
var docScrollLeft = jquery_default()(document).scrollLeft();
|
|
81622
|
-
var docScrollTop = jquery_default()(document).scrollTop();
|
|
81623
|
-
|
|
81624
|
-
if ( itemDom.floating ) {
|
|
81625
|
-
if(itemDom.placeholder !== null) {
|
|
81626
|
-
itemDom.placeholder.remove();
|
|
81627
|
-
}
|
|
81628
|
-
this._unsize( item );
|
|
81629
|
-
itemDom.floating.children().detach();
|
|
81630
|
-
itemDom.floating.remove();
|
|
81631
|
-
}
|
|
81632
|
-
|
|
81633
|
-
var tableNode = jquery_default()(dt.table().node());
|
|
81634
|
-
var scrollBody = jquery_default()(tableNode.parent());
|
|
81635
|
-
var scrollEnabled = this._scrollEnabled();
|
|
81636
|
-
|
|
81637
|
-
itemDom.floating = jquery_default()( dt.table().node().cloneNode( false ) )
|
|
81638
|
-
.attr( 'aria-hidden', 'true' )
|
|
81639
|
-
.css({
|
|
81640
|
-
'table-layout': 'fixed',
|
|
81641
|
-
top: 0,
|
|
81642
|
-
left: 0
|
|
81643
|
-
})
|
|
81644
|
-
.removeAttr( 'id' )
|
|
81645
|
-
.append( itemElement );
|
|
81646
|
-
|
|
81647
|
-
itemDom.floatingParent
|
|
81648
|
-
.css({
|
|
81649
|
-
width: scrollBody.width(),
|
|
81650
|
-
overflow: 'hidden',
|
|
81651
|
-
height: 'fit-content',
|
|
81652
|
-
position: 'fixed',
|
|
81653
|
-
left: scrollEnabled ? tableNode.offset().left + scrollBody.scrollLeft() : 0
|
|
81654
|
-
})
|
|
81655
|
-
.css(
|
|
81656
|
-
item === 'header' ?
|
|
81657
|
-
{
|
|
81658
|
-
top: this.c.headerOffset,
|
|
81659
|
-
bottom: ''
|
|
81660
|
-
} :
|
|
81661
|
-
{
|
|
81662
|
-
top: '',
|
|
81663
|
-
bottom: this.c.footerOffset
|
|
81664
|
-
}
|
|
81665
|
-
)
|
|
81666
|
-
.addClass(item === 'footer' ? 'dtfh-floatingparentfoot' : 'dtfh-floatingparenthead')
|
|
81667
|
-
.append(itemDom.floating)
|
|
81668
|
-
.appendTo( 'body' );
|
|
81669
|
-
|
|
81670
|
-
this._stickyPosition(itemDom.floating, '-');
|
|
81671
|
-
|
|
81672
|
-
var scrollLeftUpdate = function () {
|
|
81673
|
-
var scrollLeft = scrollBody.scrollLeft()
|
|
81674
|
-
that.s.scrollLeft = {footer: scrollLeft, header: scrollLeft};
|
|
81675
|
-
itemDom.floatingParent.scrollLeft(that.s.scrollLeft.header);
|
|
81676
|
-
}
|
|
81677
|
-
|
|
81678
|
-
scrollLeftUpdate();
|
|
81679
|
-
scrollBody
|
|
81680
|
-
.off('scroll.dtfh')
|
|
81681
|
-
.on('scroll.dtfh', scrollLeftUpdate);
|
|
81682
|
-
|
|
81683
|
-
// Insert a fake thead/tfoot into the DataTable to stop it jumping around
|
|
81684
|
-
itemDom.placeholder = itemElement.clone( false );
|
|
81685
|
-
itemDom.placeholder
|
|
81686
|
-
.find( '*[id]' )
|
|
81687
|
-
.removeAttr( 'id' );
|
|
81688
|
-
|
|
81689
|
-
itemDom.host.prepend( itemDom.placeholder );
|
|
81690
|
-
|
|
81691
|
-
// Clone widths
|
|
81692
|
-
this._matchWidths( itemDom.placeholder, itemDom.floating );
|
|
81693
|
-
|
|
81694
|
-
// The above action will remove the table header, potentially causing the table to
|
|
81695
|
-
// collapse to a smaller size, before it is then re-inserted (append). The result
|
|
81696
|
-
// can be that the document, if scrolling, can "jump".
|
|
81697
|
-
jquery_default()(document)
|
|
81698
|
-
.scrollTop(docScrollTop)
|
|
81699
|
-
.scrollLeft(docScrollLeft);
|
|
81700
|
-
}
|
|
81701
|
-
},
|
|
81702
|
-
|
|
81703
|
-
/**
|
|
81704
|
-
* This method sets the sticky position of the header elements to match fixed columns
|
|
81705
|
-
* @param {JQuery<HTMLElement>} el
|
|
81706
|
-
* @param {string} sign
|
|
81707
|
-
*/
|
|
81708
|
-
_stickyPosition: function(el, sign) {
|
|
81709
|
-
if (this._scrollEnabled()) {
|
|
81710
|
-
var that = this
|
|
81711
|
-
var rtl = jquery_default()(that.s.dt.table().node()).css('direction') === 'rtl';
|
|
81712
|
-
|
|
81713
|
-
el.find('th').each(function() {
|
|
81714
|
-
// Find out if fixed header has previously set this column
|
|
81715
|
-
if (jquery_default()(this).css('position') === 'sticky') {
|
|
81716
|
-
var right = jquery_default()(this).css('right');
|
|
81717
|
-
var left = jquery_default()(this).css('left');
|
|
81718
|
-
if (right !== 'auto' && !rtl) {
|
|
81719
|
-
// New position either adds or dismisses the barWidth
|
|
81720
|
-
var potential = +right.replace(/px/g, '') + (sign === '-' ? -1 : 1) * that.s.dt.settings()[0].oBrowser.barWidth;
|
|
81721
|
-
jquery_default()(this).css('right', potential > 0 ? potential : 0);
|
|
81722
|
-
}
|
|
81723
|
-
else if(left !== 'auto' && rtl) {
|
|
81724
|
-
var potential = +left.replace(/px/g, '') + (sign === '-' ? -1 : 1) * that.s.dt.settings()[0].oBrowser.barWidth;
|
|
81725
|
-
jquery_default()(this).css('left', potential > 0 ? potential : 0);
|
|
81726
|
-
}
|
|
81727
|
-
}
|
|
81728
|
-
});
|
|
81729
|
-
}
|
|
81730
|
-
},
|
|
81731
|
-
|
|
81732
|
-
/**
|
|
81733
|
-
* Copy widths from the cells in one element to another. This is required
|
|
81734
|
-
* for the footer as the footer in the main table takes its sizes from the
|
|
81735
|
-
* header columns. That isn't present in the footer so to have it still
|
|
81736
|
-
* align correctly, the sizes need to be copied over. It is also required
|
|
81737
|
-
* for the header when auto width is not enabled
|
|
81738
|
-
*
|
|
81739
|
-
* @param {jQuery} from Copy widths from
|
|
81740
|
-
* @param {jQuery} to Copy widths to
|
|
81741
|
-
* @private
|
|
81742
|
-
*/
|
|
81743
|
-
_matchWidths: function ( from, to ) {
|
|
81744
|
-
var get = function ( name ) {
|
|
81745
|
-
return jquery_default()(name, from)
|
|
81746
|
-
.map( function () {
|
|
81747
|
-
return jquery_default()(this).css('width').replace(/[^\d\.]/g, '') * 1;
|
|
81748
|
-
} ).toArray();
|
|
81749
|
-
};
|
|
81750
|
-
|
|
81751
|
-
var set = function ( name, toWidths ) {
|
|
81752
|
-
jquery_default()(name, to).each( function ( i ) {
|
|
81753
|
-
jquery_default()(this).css( {
|
|
81754
|
-
width: toWidths[i],
|
|
81755
|
-
minWidth: toWidths[i]
|
|
81756
|
-
} );
|
|
81757
|
-
} );
|
|
81758
|
-
};
|
|
81759
|
-
|
|
81760
|
-
var thWidths = get( 'th' );
|
|
81761
|
-
var tdWidths = get( 'td' );
|
|
81762
|
-
|
|
81763
|
-
set( 'th', thWidths );
|
|
81764
|
-
set( 'td', tdWidths );
|
|
81765
|
-
},
|
|
81766
|
-
|
|
81767
|
-
/**
|
|
81768
|
-
* Remove assigned widths from the cells in an element. This is required
|
|
81769
|
-
* when inserting the footer back into the main table so the size is defined
|
|
81770
|
-
* by the header columns and also when auto width is disabled in the
|
|
81771
|
-
* DataTable.
|
|
81772
|
-
*
|
|
81773
|
-
* @param {string} item The `header` or `footer`
|
|
81774
|
-
* @private
|
|
81775
|
-
*/
|
|
81776
|
-
_unsize: function ( item ) {
|
|
81777
|
-
var el = this.dom[ item ].floating;
|
|
81778
|
-
|
|
81779
|
-
if ( el && (item === 'footer' || (item === 'header' && ! this.s.autoWidth)) ) {
|
|
81780
|
-
jquery_default()('th, td', el).css( {
|
|
81781
|
-
width: '',
|
|
81782
|
-
minWidth: ''
|
|
81783
|
-
} );
|
|
81784
|
-
}
|
|
81785
|
-
else if ( el && item === 'header' ) {
|
|
81786
|
-
jquery_default()('th, td', el).css( 'min-width', '' );
|
|
81787
|
-
}
|
|
81788
|
-
},
|
|
81789
|
-
|
|
81790
|
-
/**
|
|
81791
|
-
* Reposition the floating elements to take account of horizontal page
|
|
81792
|
-
* scroll
|
|
81793
|
-
*
|
|
81794
|
-
* @param {string} item The `header` or `footer`
|
|
81795
|
-
* @param {int} scrollLeft Document scrollLeft
|
|
81796
|
-
* @private
|
|
81797
|
-
*/
|
|
81798
|
-
_horizontal: function ( item, scrollLeft )
|
|
81799
|
-
{
|
|
81800
|
-
var itemDom = this.dom[ item ];
|
|
81801
|
-
var position = this.s.position;
|
|
81802
|
-
var lastScrollLeft = this.s.scrollLeft;
|
|
81803
|
-
|
|
81804
|
-
if ( itemDom.floating && lastScrollLeft[ item ] !== scrollLeft ) {
|
|
81805
|
-
// If scrolling is enabled we need to match the floating header to the body
|
|
81806
|
-
if (this._scrollEnabled()) {
|
|
81807
|
-
var newScrollLeft = jquery_default()(jquery_default()(this.s.dt.table().node()).parent()).scrollLeft()
|
|
81808
|
-
itemDom.floating.scrollLeft(newScrollLeft);
|
|
81809
|
-
itemDom.floatingParent.scrollLeft(newScrollLeft);
|
|
81810
|
-
}
|
|
81811
|
-
|
|
81812
|
-
lastScrollLeft[ item ] = scrollLeft;
|
|
81813
|
-
}
|
|
81814
|
-
},
|
|
81815
|
-
|
|
81816
|
-
/**
|
|
81817
|
-
* Change from one display mode to another. Each fixed item can be in one
|
|
81818
|
-
* of:
|
|
81819
|
-
*
|
|
81820
|
-
* * `in-place` - In the main DataTable
|
|
81821
|
-
* * `in` - Floating over the DataTable
|
|
81822
|
-
* * `below` - (Header only) Fixed to the bottom of the table body
|
|
81823
|
-
* * `above` - (Footer only) Fixed to the top of the table body
|
|
81824
|
-
*
|
|
81825
|
-
* @param {string} mode Mode that the item should be shown in
|
|
81826
|
-
* @param {string} item 'header' or 'footer'
|
|
81827
|
-
* @param {boolean} forceChange Force a redraw of the mode, even if already
|
|
81828
|
-
* in that mode.
|
|
81829
|
-
* @private
|
|
81830
|
-
*/
|
|
81831
|
-
_modeChange: function ( mode, item, forceChange )
|
|
81832
|
-
{
|
|
81833
|
-
var dt = this.s.dt;
|
|
81834
|
-
var itemDom = this.dom[ item ];
|
|
81835
|
-
var position = this.s.position;
|
|
81836
|
-
|
|
81837
|
-
// Just determine if scroll is enabled once
|
|
81838
|
-
var scrollEnabled = this._scrollEnabled();
|
|
81839
|
-
|
|
81840
|
-
// If footer and scrolling is enabled then we don't clone
|
|
81841
|
-
// Instead the table's height is decreased accordingly - see `_scroll()`
|
|
81842
|
-
if (item === 'footer' && scrollEnabled) {
|
|
81843
|
-
return;
|
|
81844
|
-
}
|
|
81845
|
-
|
|
81846
|
-
// It isn't trivial to add a !important css attribute...
|
|
81847
|
-
var importantWidth = function (w) {
|
|
81848
|
-
itemDom.floating.attr('style', function(i,s) {
|
|
81849
|
-
return (s || '') + 'width: '+w+'px !important;';
|
|
81850
|
-
});
|
|
81851
|
-
|
|
81852
|
-
// If not scrolling also have to update the floatingParent
|
|
81853
|
-
if (!scrollEnabled) {
|
|
81854
|
-
itemDom.floatingParent.attr('style', function(i,s) {
|
|
81855
|
-
return (s || '') + 'width: '+w+'px !important;';
|
|
81856
|
-
});
|
|
81857
|
-
}
|
|
81858
|
-
};
|
|
81859
|
-
|
|
81860
|
-
// Record focus. Browser's will cause input elements to loose focus if
|
|
81861
|
-
// they are inserted else where in the doc
|
|
81862
|
-
var tablePart = this.dom[ item==='footer' ? 'tfoot' : 'thead' ];
|
|
81863
|
-
var focus = jquery_default.a.contains( tablePart[0], document.activeElement ) ?
|
|
81864
|
-
document.activeElement :
|
|
81865
|
-
null;
|
|
81866
|
-
var scrollBody = jquery_default()(jquery_default()(this.s.dt.table().node()).parent());
|
|
81867
|
-
|
|
81868
|
-
if ( mode === 'in-place' ) {
|
|
81869
|
-
// Insert the header back into the table's real header
|
|
81870
|
-
if ( itemDom.placeholder ) {
|
|
81871
|
-
itemDom.placeholder.remove();
|
|
81872
|
-
itemDom.placeholder = null;
|
|
81873
|
-
}
|
|
81874
|
-
|
|
81875
|
-
this._unsize( item );
|
|
81876
|
-
|
|
81877
|
-
if ( item === 'header' ) {
|
|
81878
|
-
itemDom.host.prepend( tablePart );
|
|
81879
|
-
}
|
|
81880
|
-
else {
|
|
81881
|
-
itemDom.host.append( tablePart );
|
|
81882
|
-
}
|
|
81883
|
-
|
|
81884
|
-
if ( itemDom.floating ) {
|
|
81885
|
-
itemDom.floating.remove();
|
|
81886
|
-
itemDom.floating = null;
|
|
81887
|
-
this._stickyPosition(itemDom.host, '+');
|
|
81888
|
-
}
|
|
81889
|
-
|
|
81890
|
-
if ( itemDom.floatingParent ) {
|
|
81891
|
-
itemDom.floatingParent.remove();
|
|
81892
|
-
}
|
|
81893
|
-
|
|
81894
|
-
jquery_default()(jquery_default()(itemDom.host.parent()).parent()).scrollLeft(scrollBody.scrollLeft())
|
|
81895
|
-
}
|
|
81896
|
-
else if ( mode === 'in' ) {
|
|
81897
|
-
// Remove the header from the read header and insert into a fixed
|
|
81898
|
-
// positioned floating table clone
|
|
81899
|
-
this._clone( item, forceChange );
|
|
81900
|
-
|
|
81901
|
-
// Get useful position values
|
|
81902
|
-
var scrollOffset = scrollBody.offset();
|
|
81903
|
-
var windowTop = jquery_default()(document).scrollTop();
|
|
81904
|
-
var windowHeight = jquery_default()(window).height();
|
|
81905
|
-
var windowBottom = windowTop + windowHeight;
|
|
81906
|
-
var bodyTop = scrollEnabled ? scrollOffset.top : position.tbodyTop;
|
|
81907
|
-
var bodyBottom = scrollEnabled ? scrollOffset.top + scrollBody.outerHeight() : position.tfootTop
|
|
81908
|
-
|
|
81909
|
-
// Calculate the amount that the footer or header needs to be shuffled
|
|
81910
|
-
var shuffle = item === 'footer' ?
|
|
81911
|
-
// footer and top of body isn't on screen
|
|
81912
|
-
bodyTop > windowBottom ?
|
|
81913
|
-
// Yes - push the footer below
|
|
81914
|
-
position.tfootHeight :
|
|
81915
|
-
// No - bottom set to the gap between the top of the body and the bottom of the window
|
|
81916
|
-
bodyTop + position.tfootHeight - windowBottom :
|
|
81917
|
-
// Otherwise must be a header so get the difference from the bottom of the
|
|
81918
|
-
// desired floating header and the bottom of the table body
|
|
81919
|
-
windowTop + this.c.headerOffset + position.theadHeight - bodyBottom
|
|
81920
|
-
|
|
81921
|
-
// Set the top or bottom based off of the offset and the shuffle value
|
|
81922
|
-
var prop = item === 'header' ? 'top' : 'bottom';
|
|
81923
|
-
var val = this.c[item+'Offset'] - (shuffle > 0 ? shuffle : 0);
|
|
81924
|
-
|
|
81925
|
-
itemDom.floating.addClass( 'fixedHeader-floating' );
|
|
81926
|
-
itemDom.floatingParent
|
|
81927
|
-
.css(prop, val)
|
|
81928
|
-
.css( {
|
|
81929
|
-
'left': position.left,
|
|
81930
|
-
'height': item === 'header' ? position.theadHeight : position.tfootHeight,
|
|
81931
|
-
'z-index': 2
|
|
81932
|
-
})
|
|
81933
|
-
.append(itemDom.floating);
|
|
81934
|
-
|
|
81935
|
-
importantWidth(position.width);
|
|
81936
|
-
|
|
81937
|
-
if ( item === 'footer' ) {
|
|
81938
|
-
itemDom.floating.css( 'top', '' );
|
|
81939
|
-
}
|
|
81940
|
-
}
|
|
81941
|
-
else if ( mode === 'below' ) { // only used for the header
|
|
81942
|
-
// Fix the position of the floating header at base of the table body
|
|
81943
|
-
this._clone( item, forceChange );
|
|
81944
|
-
|
|
81945
|
-
itemDom.floating.addClass( 'fixedHeader-locked' );
|
|
81946
|
-
itemDom.floatingParent.css({
|
|
81947
|
-
position: 'absolute',
|
|
81948
|
-
top: position.tfootTop - position.theadHeight,
|
|
81949
|
-
left: position.left+'px'
|
|
81950
|
-
});
|
|
81951
|
-
|
|
81952
|
-
importantWidth(position.width);
|
|
81953
|
-
}
|
|
81954
|
-
else if ( mode === 'above' ) { // only used for the footer
|
|
81955
|
-
// Fix the position of the floating footer at top of the table body
|
|
81956
|
-
this._clone( item, forceChange );
|
|
81957
|
-
|
|
81958
|
-
itemDom.floating.addClass( 'fixedHeader-locked' );
|
|
81959
|
-
itemDom.floatingParent.css({
|
|
81960
|
-
position: 'absolute',
|
|
81961
|
-
top: position.tbodyTop,
|
|
81962
|
-
left: position.left+'px'
|
|
81963
|
-
});
|
|
81964
|
-
|
|
81965
|
-
importantWidth(position.width);
|
|
81966
|
-
}
|
|
81967
|
-
|
|
81968
|
-
// Restore focus if it was lost
|
|
81969
|
-
if ( focus && focus !== document.activeElement ) {
|
|
81970
|
-
setTimeout( function () {
|
|
81971
|
-
focus.focus();
|
|
81972
|
-
}, 10 );
|
|
81973
|
-
}
|
|
81974
|
-
|
|
81975
|
-
this.s.scrollLeft.header = -1;
|
|
81976
|
-
this.s.scrollLeft.footer = -1;
|
|
81977
|
-
this.s[item+'Mode'] = mode;
|
|
81978
|
-
},
|
|
81979
|
-
|
|
81980
|
-
/**
|
|
81981
|
-
* Cache the positional information that is required for the mode
|
|
81982
|
-
* calculations that FixedHeader performs.
|
|
81983
|
-
*
|
|
81984
|
-
* @private
|
|
81985
|
-
*/
|
|
81986
|
-
_positions: function ()
|
|
81987
|
-
{
|
|
81988
|
-
var dt = this.s.dt;
|
|
81989
|
-
var table = dt.table();
|
|
81990
|
-
var position = this.s.position;
|
|
81991
|
-
var dom = this.dom;
|
|
81992
|
-
var tableNode = jquery_default()(table.node());
|
|
81993
|
-
var scrollEnabled = this._scrollEnabled();
|
|
81994
|
-
|
|
81995
|
-
// Need to use the header and footer that are in the main table,
|
|
81996
|
-
// regardless of if they are clones, since they hold the positions we
|
|
81997
|
-
// want to measure from
|
|
81998
|
-
var thead = jquery_default()(dt.table().header());
|
|
81999
|
-
var tfoot = jquery_default()(dt.table().footer());
|
|
82000
|
-
var tbody = dom.tbody;
|
|
82001
|
-
var scrollBody = tableNode.parent();
|
|
82002
|
-
|
|
82003
|
-
position.visible = tableNode.is(':visible');
|
|
82004
|
-
position.width = tableNode.outerWidth();
|
|
82005
|
-
position.left = tableNode.offset().left;
|
|
82006
|
-
position.theadTop = thead.offset().top;
|
|
82007
|
-
position.tbodyTop = scrollEnabled ? scrollBody.offset().top : tbody.offset().top;
|
|
82008
|
-
position.tbodyHeight = scrollEnabled ? scrollBody.outerHeight() : tbody.outerHeight();
|
|
82009
|
-
position.theadHeight = thead.outerHeight();
|
|
82010
|
-
position.theadBottom = position.theadTop + position.theadHeight;
|
|
82011
|
-
|
|
82012
|
-
if ( tfoot.length ) {
|
|
82013
|
-
position.tfootTop = position.tbodyTop + position.tbodyHeight; //tfoot.offset().top;
|
|
82014
|
-
position.tfootBottom = position.tfootTop + tfoot.outerHeight();
|
|
82015
|
-
position.tfootHeight = tfoot.outerHeight();
|
|
82016
|
-
}
|
|
82017
|
-
else {
|
|
82018
|
-
position.tfootTop = position.tbodyTop + tbody.outerHeight();
|
|
82019
|
-
position.tfootBottom = position.tfootTop;
|
|
82020
|
-
position.tfootHeight = position.tfootTop;
|
|
82021
|
-
}
|
|
82022
|
-
},
|
|
82023
|
-
|
|
82024
|
-
|
|
82025
|
-
/**
|
|
82026
|
-
* Mode calculation - determine what mode the fixed items should be placed
|
|
82027
|
-
* into.
|
|
82028
|
-
*
|
|
82029
|
-
* @param {boolean} forceChange Force a redraw of the mode, even if already
|
|
82030
|
-
* in that mode.
|
|
82031
|
-
* @private
|
|
82032
|
-
*/
|
|
82033
|
-
_scroll: function ( forceChange )
|
|
82034
|
-
{
|
|
82035
|
-
if (this.s.dt.settings()[0].bDestroying) {
|
|
82036
|
-
return;
|
|
82037
|
-
}
|
|
82038
|
-
|
|
82039
|
-
// ScrollBody details
|
|
82040
|
-
var scrollEnabled = this._scrollEnabled();
|
|
82041
|
-
var scrollBody = jquery_default()(this.s.dt.table().node()).parent();
|
|
82042
|
-
var scrollOffset = scrollBody.offset();
|
|
82043
|
-
var scrollHeight = scrollBody.outerHeight();
|
|
82044
|
-
|
|
82045
|
-
// Window details
|
|
82046
|
-
var windowLeft = jquery_default()(document).scrollLeft();
|
|
82047
|
-
var windowTop = jquery_default()(document).scrollTop();
|
|
82048
|
-
var windowHeight = jquery_default()(window).height();
|
|
82049
|
-
var windowBottom = windowHeight + windowTop
|
|
82050
|
-
|
|
82051
|
-
|
|
82052
|
-
var position = this.s.position;
|
|
82053
|
-
var headerMode, footerMode;
|
|
82054
|
-
|
|
82055
|
-
// Body Details
|
|
82056
|
-
var bodyTop = (scrollEnabled ? scrollOffset.top : position.tbodyTop);
|
|
82057
|
-
var bodyLeft = (scrollEnabled ? scrollOffset.left : position.left);
|
|
82058
|
-
var bodyBottom = (scrollEnabled ? scrollOffset.top + scrollHeight : position.tfootTop);
|
|
82059
|
-
var bodyWidth = (scrollEnabled ? scrollBody.outerWidth() : position.tbodyWidth);
|
|
82060
|
-
|
|
82061
|
-
var windowBottom = windowTop + windowHeight;
|
|
82062
|
-
|
|
82063
|
-
if ( this.c.header ) {
|
|
82064
|
-
if ( ! this.s.enable ) {
|
|
82065
|
-
headerMode = 'in-place';
|
|
82066
|
-
}
|
|
82067
|
-
// The header is in it's normal place if the body top is lower than
|
|
82068
|
-
// the scroll of the window plus the headerOffset and the height of the header
|
|
82069
|
-
else if ( ! position.visible || windowTop + this.c.headerOffset + position.theadHeight <= bodyTop) {
|
|
82070
|
-
headerMode = 'in-place';
|
|
82071
|
-
}
|
|
82072
|
-
// The header should be floated if
|
|
82073
|
-
else if (
|
|
82074
|
-
// The scrolling plus the header offset plus the height of the header is lower than the top of the body
|
|
82075
|
-
windowTop + this.c.headerOffset + position.theadHeight > bodyTop &&
|
|
82076
|
-
// And the scrolling at the top plus the header offset is above the bottom of the body
|
|
82077
|
-
windowTop + this.c.headerOffset + position.theadHeight < bodyBottom
|
|
82078
|
-
) {
|
|
82079
|
-
headerMode = 'in';
|
|
82080
|
-
var scrollBody = jquery_default()(jquery_default()(this.s.dt.table().node()).parent());
|
|
82081
|
-
|
|
82082
|
-
// Further to the above, If the scrolling plus the header offset plus the header height is lower
|
|
82083
|
-
// than the bottom of the table a shuffle is required so have to force the calculation
|
|
82084
|
-
if(windowTop + this.c.headerOffset + position.theadHeight > bodyBottom || this.dom.header.floatingParent === undefined){
|
|
82085
|
-
forceChange = true;
|
|
82086
|
-
}
|
|
82087
|
-
else {
|
|
82088
|
-
this.dom.header.floatingParent
|
|
82089
|
-
.css({
|
|
82090
|
-
'top': this.c.headerOffset,
|
|
82091
|
-
'position': 'fixed'
|
|
82092
|
-
})
|
|
82093
|
-
.append(this.dom.header.floating);
|
|
82094
|
-
}
|
|
82095
|
-
}
|
|
82096
|
-
// Anything else and the view is below the table
|
|
82097
|
-
else {
|
|
82098
|
-
headerMode = 'below';
|
|
82099
|
-
}
|
|
82100
|
-
|
|
82101
|
-
if ( forceChange || headerMode !== this.s.headerMode ) {
|
|
82102
|
-
this._modeChange( headerMode, 'header', forceChange );
|
|
82103
|
-
}
|
|
82104
|
-
|
|
82105
|
-
this._horizontal( 'header', windowLeft );
|
|
82106
|
-
}
|
|
82107
|
-
|
|
82108
|
-
var header = {
|
|
82109
|
-
offset: {top: 0, left: 0},
|
|
82110
|
-
height: 0
|
|
82111
|
-
}
|
|
82112
|
-
var footer = {
|
|
82113
|
-
offset: {top: 0, left: 0},
|
|
82114
|
-
height: 0
|
|
82115
|
-
}
|
|
82116
|
-
|
|
82117
|
-
if ( this.c.footer && this.dom.tfoot.length ) {
|
|
82118
|
-
if ( ! this.s.enable ) {
|
|
82119
|
-
footerMode = 'in-place';
|
|
82120
|
-
}
|
|
82121
|
-
else if ( ! position.visible || position.tfootBottom + this.c.footerOffset <= windowBottom ) {
|
|
82122
|
-
footerMode = 'in-place';
|
|
82123
|
-
}
|
|
82124
|
-
else if (
|
|
82125
|
-
bodyBottom + position.tfootHeight + this.c.footerOffset > windowBottom &&
|
|
82126
|
-
bodyTop + this.c.footerOffset < windowBottom
|
|
82127
|
-
) {
|
|
82128
|
-
footerMode = 'in';
|
|
82129
|
-
forceChange = true;
|
|
82130
|
-
}
|
|
82131
|
-
else {
|
|
82132
|
-
footerMode = 'above';
|
|
82133
|
-
}
|
|
82134
|
-
|
|
82135
|
-
if ( forceChange || footerMode !== this.s.footerMode ) {
|
|
82136
|
-
this._modeChange( footerMode, 'footer', forceChange );
|
|
82137
|
-
}
|
|
82138
|
-
|
|
82139
|
-
this._horizontal( 'footer', windowLeft );
|
|
82140
|
-
|
|
82141
|
-
var getOffsetHeight = function (el) {
|
|
82142
|
-
return {
|
|
82143
|
-
offset: el.offset(),
|
|
82144
|
-
height: el.outerHeight()
|
|
82145
|
-
};
|
|
82146
|
-
};
|
|
82147
|
-
|
|
82148
|
-
header = this.dom.header.floating ? getOffsetHeight(this.dom.header.floating) : getOffsetHeight(this.dom.thead);
|
|
82149
|
-
footer = this.dom.footer.floating ? getOffsetHeight(this.dom.footer.floating) : getOffsetHeight(this.dom.tfoot);
|
|
82150
|
-
|
|
82151
|
-
// If scrolling is enabled and the footer is off the screen
|
|
82152
|
-
if (scrollEnabled && footer.offset.top > windowTop){// && footer.offset.top >= windowBottom) {
|
|
82153
|
-
// Calculate the gap between the top of the scrollBody and the top of the window
|
|
82154
|
-
var overlap = windowTop - scrollOffset.top;
|
|
82155
|
-
// The new height is the bottom of the window
|
|
82156
|
-
var newHeight = windowBottom +
|
|
82157
|
-
// If the gap between the top of the scrollbody and the window is more than
|
|
82158
|
-
// the height of the header then the top of the table is still visible so add that gap
|
|
82159
|
-
// Doing this has effectively calculated the height from the top of the table to the bottom of the current page
|
|
82160
|
-
(overlap > -header.height ? overlap : 0) -
|
|
82161
|
-
// Take from that
|
|
82162
|
-
(
|
|
82163
|
-
// The top of the header plus
|
|
82164
|
-
header.offset.top +
|
|
82165
|
-
// The header height if the standard header is present
|
|
82166
|
-
(overlap < -header.height ? header.height : 0) +
|
|
82167
|
-
// And the height of the footer
|
|
82168
|
-
footer.height
|
|
82169
|
-
)
|
|
82170
|
-
|
|
82171
|
-
// Don't want a negative height
|
|
82172
|
-
if (newHeight < 0) {
|
|
82173
|
-
newHeight = 0;
|
|
82174
|
-
}
|
|
82175
|
-
|
|
82176
|
-
// At the end of the above calculation the space between the header (top of the page if floating)
|
|
82177
|
-
// and the point just above the footer should be the new value for the height of the table.
|
|
82178
|
-
scrollBody.outerHeight(newHeight);
|
|
82179
|
-
|
|
82180
|
-
// Need some rounding here as sometimes very small decimal places are encountered
|
|
82181
|
-
// If the actual height is bigger or equal to the height we just applied then the footer is "Floating"
|
|
82182
|
-
if(Math.round(scrollBody.outerHeight()) >= Math.round(newHeight)) {
|
|
82183
|
-
jquery_default()(this.dom.tfoot.parent()).addClass("fixedHeader-floating");
|
|
82184
|
-
}
|
|
82185
|
-
// Otherwise max-width has kicked in so it is not floating
|
|
82186
|
-
else {
|
|
82187
|
-
jquery_default()(this.dom.tfoot.parent()).removeClass("fixedHeader-floating");
|
|
82188
|
-
}
|
|
82189
|
-
}
|
|
82190
|
-
}
|
|
82191
|
-
|
|
82192
|
-
if(this.dom.header.floating){
|
|
82193
|
-
this.dom.header.floatingParent.css('left', bodyLeft-windowLeft);
|
|
82194
|
-
}
|
|
82195
|
-
if(this.dom.footer.floating){
|
|
82196
|
-
this.dom.footer.floatingParent.css('left', bodyLeft-windowLeft);
|
|
82197
|
-
}
|
|
82198
|
-
|
|
82199
|
-
// If fixed columns is being used on this table then the blockers need to be copied across
|
|
82200
|
-
// Cloning these is cleaner than creating as our own as it will keep consistency with fixedColumns automatically
|
|
82201
|
-
// ASSUMING that the class remains the same
|
|
82202
|
-
if (this.s.dt.settings()[0]._fixedColumns !== undefined) {
|
|
82203
|
-
var adjustBlocker = function (side, end, el) {
|
|
82204
|
-
if (el === undefined) {
|
|
82205
|
-
var blocker = jquery_default()('div.dtfc-'+side+'-'+end+'-blocker');
|
|
82206
|
-
|
|
82207
|
-
el = blocker.length === 0 ?
|
|
82208
|
-
null :
|
|
82209
|
-
blocker.clone().css('z-index', 1);
|
|
82210
|
-
}
|
|
82211
|
-
|
|
82212
|
-
if(el !== null) {
|
|
82213
|
-
if (headerMode === 'in' || headerMode === 'below') {
|
|
82214
|
-
el
|
|
82215
|
-
.appendTo('body')
|
|
82216
|
-
.css({
|
|
82217
|
-
top: end === 'top' ? header.offset.top : footer.offset.top,
|
|
82218
|
-
left: side === 'right' ? bodyLeft + bodyWidth - el.width() : bodyLeft
|
|
82219
|
-
});
|
|
82220
|
-
}
|
|
82221
|
-
else {
|
|
82222
|
-
el.detach();
|
|
82223
|
-
}
|
|
82224
|
-
}
|
|
82225
|
-
|
|
82226
|
-
return el;
|
|
82227
|
-
}
|
|
82228
|
-
|
|
82229
|
-
// Adjust all blockers
|
|
82230
|
-
this.dom.header.rightBlocker = adjustBlocker('right', 'top', this.dom.header.rightBlocker);
|
|
82231
|
-
this.dom.header.leftBlocker = adjustBlocker('left', 'top', this.dom.header.leftBlocker);
|
|
82232
|
-
this.dom.footer.rightBlocker = adjustBlocker('right', 'bottom', this.dom.footer.rightBlocker);
|
|
82233
|
-
this.dom.footer.leftBlocker = adjustBlocker('left', 'bottom', this.dom.footer.leftBlocker);
|
|
82234
|
-
}
|
|
82235
|
-
},
|
|
82236
|
-
|
|
82237
|
-
/**
|
|
82238
|
-
* Function to check if scrolling is enabled on the table or not
|
|
82239
|
-
* @returns Boolean value indicating if scrolling on the table is enabled or not
|
|
82240
|
-
*/
|
|
82241
|
-
_scrollEnabled: function() {
|
|
82242
|
-
var oScroll = this.s.dt.settings()[0].oScroll;
|
|
82243
|
-
if(oScroll.sY !== "" || oScroll.sX !== "") {
|
|
82244
|
-
return true;
|
|
82245
|
-
}
|
|
82246
|
-
return false
|
|
82247
|
-
}
|
|
82248
|
-
} );
|
|
82249
|
-
|
|
82250
|
-
|
|
82251
|
-
/**
|
|
82252
|
-
* Version
|
|
82253
|
-
* @type {String}
|
|
82254
|
-
* @static
|
|
82255
|
-
*/
|
|
82256
|
-
FixedHeader.version = "3.3.1";
|
|
82257
|
-
|
|
82258
|
-
/**
|
|
82259
|
-
* Defaults
|
|
82260
|
-
* @type {Object}
|
|
82261
|
-
* @static
|
|
82262
|
-
*/
|
|
82263
|
-
FixedHeader.defaults = {
|
|
82264
|
-
header: true,
|
|
82265
|
-
footer: false,
|
|
82266
|
-
headerOffset: 0,
|
|
82267
|
-
footerOffset: 0
|
|
82268
|
-
};
|
|
82269
|
-
|
|
82270
|
-
|
|
82271
|
-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
82272
|
-
* DataTables interfaces
|
|
82273
|
-
*/
|
|
82274
|
-
|
|
82275
|
-
// Attach for constructor access
|
|
82276
|
-
jquery_default.a.fn.dataTable.FixedHeader = FixedHeader;
|
|
82277
|
-
jquery_default.a.fn.DataTable.FixedHeader = FixedHeader;
|
|
82278
|
-
|
|
82279
|
-
|
|
82280
|
-
// DataTables creation - check if the FixedHeader option has been defined on the
|
|
82281
|
-
// table and if so, initialise
|
|
82282
|
-
jquery_default()(document).on( 'init.dt.dtfh', function (e, settings, json) {
|
|
82283
|
-
if ( e.namespace !== 'dt' ) {
|
|
82284
|
-
return;
|
|
82285
|
-
}
|
|
82286
|
-
|
|
82287
|
-
var init = settings.oInit.fixedHeader;
|
|
82288
|
-
var defaults = js_jquery_dataTables_default.a.defaults.fixedHeader;
|
|
82289
|
-
|
|
82290
|
-
if ( (init || defaults) && ! settings._fixedHeader ) {
|
|
82291
|
-
var opts = jquery_default.a.extend( {}, defaults, init );
|
|
82292
|
-
|
|
82293
|
-
if ( init !== false ) {
|
|
82294
|
-
new FixedHeader( settings, opts );
|
|
82295
|
-
}
|
|
82296
|
-
}
|
|
82297
|
-
} );
|
|
82298
|
-
|
|
82299
|
-
// DataTables API methods
|
|
82300
|
-
js_jquery_dataTables_default.a.Api.register( 'fixedHeader()', function () {} );
|
|
82301
|
-
|
|
82302
|
-
js_jquery_dataTables_default.a.Api.register( 'fixedHeader.adjust()', function () {
|
|
82303
|
-
return this.iterator( 'table', function ( ctx ) {
|
|
82304
|
-
var fh = ctx._fixedHeader;
|
|
82305
|
-
|
|
82306
|
-
if ( fh ) {
|
|
82307
|
-
fh.update();
|
|
82308
|
-
}
|
|
82309
|
-
} );
|
|
82310
|
-
} );
|
|
82311
|
-
|
|
82312
|
-
js_jquery_dataTables_default.a.Api.register( 'fixedHeader.enable()', function ( flag ) {
|
|
82313
|
-
return this.iterator( 'table', function ( ctx ) {
|
|
82314
|
-
var fh = ctx._fixedHeader;
|
|
82315
|
-
|
|
82316
|
-
flag = ( flag !== undefined ? flag : true );
|
|
82317
|
-
if ( fh && flag !== fh.enabled() ) {
|
|
82318
|
-
fh.enable( flag );
|
|
82319
|
-
}
|
|
82320
|
-
} );
|
|
82321
|
-
} );
|
|
82322
|
-
|
|
82323
|
-
js_jquery_dataTables_default.a.Api.register( 'fixedHeader.enabled()', function () {
|
|
82324
|
-
if ( this.context.length ) {
|
|
82325
|
-
var fh = this.context[0]._fixedHeader;
|
|
82326
|
-
|
|
82327
|
-
if ( fh ) {
|
|
82328
|
-
return fh.enabled();
|
|
82329
|
-
}
|
|
82330
|
-
}
|
|
82331
|
-
|
|
82332
|
-
return false;
|
|
82333
|
-
} );
|
|
82334
|
-
|
|
82335
|
-
js_jquery_dataTables_default.a.Api.register( 'fixedHeader.disable()', function ( ) {
|
|
82336
|
-
return this.iterator( 'table', function ( ctx ) {
|
|
82337
|
-
var fh = ctx._fixedHeader;
|
|
82338
|
-
|
|
82339
|
-
if ( fh && fh.enabled() ) {
|
|
82340
|
-
fh.enable( false );
|
|
82341
|
-
}
|
|
82342
|
-
} );
|
|
82343
|
-
} );
|
|
82344
|
-
|
|
82345
|
-
jquery_default.a.each( ['header', 'footer'], function ( i, el ) {
|
|
82346
|
-
js_jquery_dataTables_default.a.Api.register( 'fixedHeader.'+el+'Offset()', function ( offset ) {
|
|
82347
|
-
var ctx = this.context;
|
|
82348
|
-
|
|
82349
|
-
if ( offset === undefined ) {
|
|
82350
|
-
return ctx.length && ctx[0]._fixedHeader ?
|
|
82351
|
-
ctx[0]._fixedHeader[el +'Offset']() :
|
|
82352
|
-
undefined;
|
|
82353
|
-
}
|
|
82354
|
-
|
|
82355
|
-
return this.iterator( 'table', function ( ctx ) {
|
|
82356
|
-
var fh = ctx._fixedHeader;
|
|
82357
|
-
|
|
82358
|
-
if ( fh ) {
|
|
82359
|
-
fh[ el +'Offset' ]( offset );
|
|
82360
|
-
}
|
|
82361
|
-
} );
|
|
82362
|
-
} );
|
|
82363
|
-
} );
|
|
82364
|
-
|
|
82365
|
-
|
|
82366
|
-
/* harmony default export */ var dataTables_fixedHeader = (js_jquery_dataTables_default.a);
|
|
82367
|
-
|
|
82368
|
-
// EXTERNAL MODULE: ./node_modules/datatables.net-fixedheader-dt/css/fixedHeader.dataTables.css
|
|
82369
|
-
var fixedHeader_dataTables = __webpack_require__("4f75");
|
|
82370
|
-
|
|
82371
81299
|
// CONCATENATED MODULE: ./src/components/desktop/datatables.net-plugins/pagination/input.js
|
|
82372
81300
|
|
|
82373
81301
|
|
|
@@ -83256,7 +82184,9 @@ var lodash = __webpack_require__("2ef0");
|
|
|
83256
82184
|
|
|
83257
82185
|
// eslint-disable-line
|
|
83258
82186
|
|
|
83259
|
-
|
|
82187
|
+
|
|
82188
|
+
//import fixedheader from 'datatables.net-fixedheader'; // eslint-disable-line
|
|
82189
|
+
//import 'datatables.net-fixedheader-dt/css/fixedHeader.dataTables.css';
|
|
83260
82190
|
|
|
83261
82191
|
// eslint-disable-line
|
|
83262
82192
|
|
|
@@ -83430,7 +82360,8 @@ var lodash = __webpack_require__("2ef0");
|
|
|
83430
82360
|
showGridRowActionsEdit: false,
|
|
83431
82361
|
showGridRowActionsDelete: false,
|
|
83432
82362
|
showDetailModalDialog: false,
|
|
83433
|
-
|
|
82363
|
+
shortDebouncedAdjustTableColumns: null,
|
|
82364
|
+
longDebouncedAdjustTableColumns: null
|
|
83434
82365
|
};
|
|
83435
82366
|
},
|
|
83436
82367
|
computed: {
|
|
@@ -83466,10 +82397,10 @@ var lodash = __webpack_require__("2ef0");
|
|
|
83466
82397
|
return !(this.data !== undefined && this.data.length !== undefined);
|
|
83467
82398
|
},
|
|
83468
82399
|
onPuiExpandMenu: function onPuiExpandMenu() {
|
|
83469
|
-
return this.menuConf.
|
|
82400
|
+
return this.menuConf.expandMenu;
|
|
83470
82401
|
},
|
|
83471
82402
|
onPuiSecondMenuShowed: function onPuiSecondMenuShowed() {
|
|
83472
|
-
return this.menuConf.
|
|
82403
|
+
return this.menuConf.secondMenuShowed;
|
|
83473
82404
|
}
|
|
83474
82405
|
},
|
|
83475
82406
|
methods: {
|
|
@@ -84028,9 +82959,6 @@ var lodash = __webpack_require__("2ef0");
|
|
|
84028
82959
|
});
|
|
84029
82960
|
}
|
|
84030
82961
|
this.table.scrollDiv = jquery_default()(this.table.table().container()).find('.dataTables_scrollBody');
|
|
84031
|
-
this.table.scrollDiv.on('scroll', function (e) {
|
|
84032
|
-
_this2.handleScroll(e);
|
|
84033
|
-
});
|
|
84034
82962
|
},
|
|
84035
82963
|
handleWheelRowActions: function handleWheelRowActions(e) {
|
|
84036
82964
|
this.table.scrollDiv.scrollTop(this.table.scrollDiv.scrollTop() - e.wheelDeltaY);
|
|
@@ -84552,16 +83480,6 @@ var lodash = __webpack_require__("2ef0");
|
|
|
84552
83480
|
_this7.createDatatable();
|
|
84553
83481
|
});
|
|
84554
83482
|
},
|
|
84555
|
-
onMenuExpandColapse: function onMenuExpandColapse() {
|
|
84556
|
-
var _this8 = this;
|
|
84557
|
-
this.$nextTick(function () {
|
|
84558
|
-
//FIXME
|
|
84559
|
-
//Se usa timeout porque sino solo funciona si se pone un debugger o un punto dentro del nextTick, fuera de eso, no funciona
|
|
84560
|
-
setTimeout(function () {
|
|
84561
|
-
_this8.adjustTableColumns();
|
|
84562
|
-
}, 150);
|
|
84563
|
-
});
|
|
84564
|
-
},
|
|
84565
83483
|
adjustTableColumns: function adjustTableColumns() {
|
|
84566
83484
|
this.table.columns.adjust();
|
|
84567
83485
|
},
|
|
@@ -84630,7 +83548,7 @@ var lodash = __webpack_require__("2ef0");
|
|
|
84630
83548
|
this.datatablesOrderApplied = this.order;
|
|
84631
83549
|
},
|
|
84632
83550
|
getTotalColumns: function getTotalColumns(sumData) {
|
|
84633
|
-
var
|
|
83551
|
+
var _this8 = this;
|
|
84634
83552
|
var thousandSeparator = this.$store.getters.thousandSeparator;
|
|
84635
83553
|
var decimalSeparator = this.$store.getters.decimalSeparator;
|
|
84636
83554
|
var totals;
|
|
@@ -84639,11 +83557,11 @@ var lodash = __webpack_require__("2ef0");
|
|
|
84639
83557
|
try {
|
|
84640
83558
|
var _loop = function _loop() {
|
|
84641
83559
|
var column = _step.value;
|
|
84642
|
-
var tableColumn =
|
|
83560
|
+
var tableColumn = _this8.tableColumns.find(function (c) {
|
|
84643
83561
|
return c.name === column.name;
|
|
84644
83562
|
});
|
|
84645
|
-
var prefix =
|
|
84646
|
-
var suffix =
|
|
83563
|
+
var prefix = _this8.$t(column.prefix) || "Total ".concat(tableColumn.sTitle, ": ");
|
|
83564
|
+
var suffix = _this8.$t(column.suffix) || '';
|
|
84647
83565
|
var total = sumData[column.name];
|
|
84648
83566
|
// Round decimals
|
|
84649
83567
|
total = Math.round(total * 100) / 100;
|
|
@@ -84676,18 +83594,18 @@ var lodash = __webpack_require__("2ef0");
|
|
|
84676
83594
|
puiSimpleDatatableTheadClass: function puiSimpleDatatableTheadClass() {
|
|
84677
83595
|
this.setFixedThead();
|
|
84678
83596
|
},
|
|
84679
|
-
actionFooter: function actionFooter() {
|
|
84680
|
-
// this.adjustTableHeight();
|
|
84681
|
-
},
|
|
84682
83597
|
onPuiExpandMenu: function onPuiExpandMenu() {
|
|
84683
|
-
this.
|
|
83598
|
+
this.longDebouncedAdjustTableColumns();
|
|
84684
83599
|
},
|
|
84685
83600
|
onPuiSecondMenuShowed: function onPuiSecondMenuShowed() {
|
|
84686
|
-
this.
|
|
83601
|
+
this.longDebouncedAdjustTableColumns();
|
|
84687
83602
|
}
|
|
84688
83603
|
},
|
|
84689
83604
|
created: function created() {
|
|
84690
|
-
var
|
|
83605
|
+
var _this9 = this;
|
|
83606
|
+
// Initialize debounced functions
|
|
83607
|
+
this.shortDebouncedAdjustTableColumns = Object(lodash["debounce"])(this.adjustTableColumns, 80);
|
|
83608
|
+
this.longDebouncedAdjustTableColumns = Object(lodash["debounce"])(this.adjustTableColumns, 180);
|
|
84691
83609
|
this.dateFormat = this.$store.getters.dateFormat;
|
|
84692
83610
|
this.timeFormat = this.$store.getters.timeFormat;
|
|
84693
83611
|
this.toolbarSingleRowNegativeHeight = 0;
|
|
@@ -84704,7 +83622,7 @@ var lodash = __webpack_require__("2ef0");
|
|
|
84704
83622
|
this.tableColumns = [];
|
|
84705
83623
|
this.columnDefs = this.modelColumnDefs;
|
|
84706
83624
|
this.columns && this.columns.forEach(function (column) {
|
|
84707
|
-
|
|
83625
|
+
_this9.tableColumns.push(column);
|
|
84708
83626
|
});
|
|
84709
83627
|
this.addSelectCheckColumn();
|
|
84710
83628
|
this.model = this.$store.getters.getModelByName(this.modelName);
|
|
@@ -84721,32 +83639,31 @@ var lodash = __webpack_require__("2ef0");
|
|
|
84721
83639
|
this.subscribeToActionsEvents();
|
|
84722
83640
|
},
|
|
84723
83641
|
mounted: function mounted() {
|
|
84724
|
-
var
|
|
83642
|
+
var _this0 = this;
|
|
84725
83643
|
this.createDatatable();
|
|
84726
83644
|
//onMenuEspandColapse ajustará las columnas según esté el menú en el momento justo después de montar la tabla
|
|
84727
|
-
this.onMenuExpandColapse();
|
|
84728
83645
|
if (this.modalDialog) {
|
|
84729
83646
|
this.detailComponentLabel = this.$t("form.".concat(this.modelName));
|
|
84730
83647
|
this.detailComponentName = "".concat(this.modelName, "form");
|
|
84731
83648
|
this.$puiEvents.$on("pui-modalDialog-".concat(this.detailComponentName, "_").concat(this.completeGridName, "_detail_popup-hide"), function () {
|
|
84732
|
-
|
|
83649
|
+
_this0.showDetailModalDialog = false;
|
|
84733
83650
|
});
|
|
84734
83651
|
}
|
|
84735
|
-
this.
|
|
84736
|
-
|
|
84737
|
-
// window.addEventListener('resize', this.recalculateScrollY);
|
|
84738
|
-
window.addEventListener('wheel', this.refreshDatatableScrollHeadInner = function (event) {
|
|
83652
|
+
this.adjustTableColumns();
|
|
83653
|
+
this.refreshDatatableScrollHeadInner = function (event) {
|
|
84739
83654
|
if (event.deltaY < 0) {
|
|
84740
83655
|
// scrolling up
|
|
84741
|
-
|
|
83656
|
+
_this0.shortDebouncedAdjustTableColumns();
|
|
84742
83657
|
}
|
|
84743
|
-
}
|
|
83658
|
+
};
|
|
83659
|
+
window.addEventListener('resize', this.shortDebouncedAdjustTableColumns);
|
|
83660
|
+
window.addEventListener('wheel', this.refreshDatatableScrollHeadInner);
|
|
84744
83661
|
},
|
|
84745
83662
|
updated: function updated() {
|
|
84746
83663
|
this.setFixedThead();
|
|
84747
83664
|
},
|
|
84748
83665
|
beforeDestroy: function beforeDestroy() {
|
|
84749
|
-
window.removeEventListener('resize', this.
|
|
83666
|
+
window.removeEventListener('resize', this.shortDebouncedAdjustTableColumns);
|
|
84750
83667
|
// window.removeEventListener('resize', this.recalculateScrollY);
|
|
84751
83668
|
window.removeEventListener('wheel', this.refreshDatatableScrollHeadInner);
|
|
84752
83669
|
this.table.destroy(true);
|
|
@@ -84770,11 +83687,11 @@ var lodash = __webpack_require__("2ef0");
|
|
|
84770
83687
|
});
|
|
84771
83688
|
// CONCATENATED MODULE: ./src/components/desktop/PuiSimpleDatatable.vue?vue&type=script&lang=js
|
|
84772
83689
|
/* harmony default export */ var desktop_PuiSimpleDatatablevue_type_script_lang_js = (PuiSimpleDatatablevue_type_script_lang_js);
|
|
84773
|
-
// EXTERNAL MODULE: ./src/components/desktop/PuiSimpleDatatable.vue?vue&type=style&index=0&id=
|
|
84774
|
-
var
|
|
83690
|
+
// EXTERNAL MODULE: ./src/components/desktop/PuiSimpleDatatable.vue?vue&type=style&index=0&id=7fb36b86&prod&lang=postcss&scoped=true
|
|
83691
|
+
var PuiSimpleDatatablevue_type_style_index_0_id_7fb36b86_prod_lang_postcss_scoped_true = __webpack_require__("8320");
|
|
84775
83692
|
|
|
84776
|
-
// EXTERNAL MODULE: ./src/components/desktop/PuiSimpleDatatable.vue?vue&type=style&index=1&id=
|
|
84777
|
-
var
|
|
83693
|
+
// EXTERNAL MODULE: ./src/components/desktop/PuiSimpleDatatable.vue?vue&type=style&index=1&id=7fb36b86&prod&lang=css
|
|
83694
|
+
var PuiSimpleDatatablevue_type_style_index_1_id_7fb36b86_prod_lang_css = __webpack_require__("5d47");
|
|
84778
83695
|
|
|
84779
83696
|
// CONCATENATED MODULE: ./src/components/desktop/PuiSimpleDatatable.vue
|
|
84780
83697
|
|
|
@@ -84788,11 +83705,11 @@ var PuiSimpleDatatablevue_type_style_index_1_id_20924664_prod_lang_css = __webpa
|
|
|
84788
83705
|
|
|
84789
83706
|
var PuiSimpleDatatable_component = normalizeComponent(
|
|
84790
83707
|
desktop_PuiSimpleDatatablevue_type_script_lang_js,
|
|
84791
|
-
|
|
84792
|
-
|
|
83708
|
+
PuiSimpleDatatablevue_type_template_id_7fb36b86_scoped_true_render,
|
|
83709
|
+
PuiSimpleDatatablevue_type_template_id_7fb36b86_scoped_true_staticRenderFns,
|
|
84793
83710
|
false,
|
|
84794
83711
|
null,
|
|
84795
|
-
"
|
|
83712
|
+
"7fb36b86",
|
|
84796
83713
|
null
|
|
84797
83714
|
|
|
84798
83715
|
)
|
|
@@ -95959,54 +94876,56 @@ var PuiAuditFormvue_type_template_id_47f28786_staticRenderFns = [];
|
|
|
95959
94876
|
|
|
95960
94877
|
// CONCATENATED MODULE: ./src/components/puiaudit/PuiAuditForm.vue?vue&type=template&id=47f28786
|
|
95961
94878
|
|
|
95962
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"cf80b3ea-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/puiaudit/PuiAuditItem.vue?vue&type=template&id=
|
|
94879
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"cf80b3ea-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/puiaudit/PuiAuditItem.vue?vue&type=template&id=67aaeeda
|
|
94880
|
+
|
|
95963
94881
|
|
|
95964
|
-
var
|
|
94882
|
+
var PuiAuditItemvue_type_template_id_67aaeeda_render = function render() {
|
|
95965
94883
|
var _vm = this,
|
|
95966
94884
|
_c = _vm._self._c;
|
|
95967
|
-
return _c('td', [!_vm.model || _vm.isArray(_vm.model) && _vm.model.length === 0 ? [_c('span', [_vm._v(" ")])] : _vm.model && !_vm.isObject(_vm.model) ? [_c('span', [_vm._v(" " + _vm._s(_vm.printValue(_vm.model)))])] : _vm.model && _vm.isObject(_vm.model) ? [_vm._l(Object.entries(_vm.model), function (item, index) {
|
|
95968
|
-
return [
|
|
94885
|
+
return _c('td', [!_vm.model || _vm.isArray(_vm.model) && _vm.model.length === 0 ? [_c('span', [_vm._v(" ")])] : _vm.model && !_vm.isObject(_vm.model) ? [_c('span', [_vm._v(" " + _vm._s(_vm.printValue(_vm.model)))])] : _vm.model && _vm.isObject(_vm.model) ? [_c('table', [_vm.mainHeaders ? _c('tr', [_c('th', [_vm._v(_vm._s(_vm.$t('puiaudit.attribute')))]), _c('th', [_vm._v(_vm._s(_vm.$t('puiaudit.value')))])]) : _vm._e(), _vm._l(Object.entries(_vm.model), function (item, index) {
|
|
94886
|
+
return [item[1] && _vm.isObject(item[1]) ? [_vm._l(Object.entries(item[1]), function (sitem, sindex) {
|
|
94887
|
+
return [_c('tr', {
|
|
94888
|
+
key: "".concat(index, "-").concat(sindex)
|
|
94889
|
+
}, [sitem[1] && sitem[1].attribute ? [_c('td', [_c('span', [_vm._v(_vm._s(sitem[1].attribute))])]), _c('td', [_c('span', [_vm._v(_vm._s(_vm.printValue(sitem[1].value)))])])] : [_c('td', [_c('span', [_vm._v(_vm._s(sitem[0]))])]), _c('td', [_c('span', [_vm._v(_vm._s(_vm.printValue(sitem[1])))])])]], 2)];
|
|
94890
|
+
})] : _c('tr', {
|
|
95969
94891
|
key: index
|
|
95970
|
-
}, [
|
|
95971
|
-
|
|
95972
|
-
key: sindex
|
|
95973
|
-
}, [_c('td', [_c('span', [_vm._v(_vm._s(sitem[1].attribute))])]), _c('td', [_c('span', [_vm._v(_vm._s(sitem[1].value))])])]) : _c('tr', {
|
|
95974
|
-
key: sindex
|
|
95975
|
-
}, [_c('td', [_c('span', [_vm._v(_vm._s(sitem[0]))])]), _c('td', [_c('span', [_vm._v(_vm._s(sitem[1]))])])])];
|
|
95976
|
-
})], 2)];
|
|
95977
|
-
})] : _vm._e()], 2);
|
|
94892
|
+
}, [_c('td', [_c('span', [_vm._v(_vm._s(item[0]))])]), _c('td', [_c('span', [_vm._v(_vm._s(_vm.printValue(item[1])))])])])];
|
|
94893
|
+
})], 2)] : _vm._e()], 2);
|
|
95978
94894
|
};
|
|
95979
|
-
var
|
|
94895
|
+
var PuiAuditItemvue_type_template_id_67aaeeda_staticRenderFns = [];
|
|
95980
94896
|
|
|
95981
|
-
// CONCATENATED MODULE: ./src/components/puiaudit/PuiAuditItem.vue?vue&type=template&id=
|
|
94897
|
+
// CONCATENATED MODULE: ./src/components/puiaudit/PuiAuditItem.vue?vue&type=template&id=67aaeeda
|
|
95982
94898
|
|
|
95983
94899
|
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/puiaudit/PuiAuditItem.vue?vue&type=script&lang=js
|
|
95984
94900
|
|
|
95985
94901
|
|
|
94902
|
+
|
|
94903
|
+
|
|
95986
94904
|
/* harmony default export */ var PuiAuditItemvue_type_script_lang_js = ({
|
|
95987
94905
|
name: 'PuiAuditItem',
|
|
95988
94906
|
props: {
|
|
95989
94907
|
model: {
|
|
95990
94908
|
required: true
|
|
95991
|
-
},
|
|
95992
|
-
headers: {
|
|
95993
|
-
type: Boolean,
|
|
95994
|
-
default: true
|
|
95995
|
-
},
|
|
95996
|
-
keyvalue: {
|
|
95997
|
-
type: Boolean,
|
|
95998
|
-
default: false
|
|
95999
94909
|
}
|
|
96000
94910
|
},
|
|
94911
|
+
data: function data() {
|
|
94912
|
+
return {
|
|
94913
|
+
mainHeaders: true
|
|
94914
|
+
};
|
|
94915
|
+
},
|
|
96001
94916
|
methods: {
|
|
96002
|
-
|
|
96003
|
-
return
|
|
94917
|
+
isArray: function isArray(value) {
|
|
94918
|
+
return Array.isArray(value);
|
|
96004
94919
|
},
|
|
96005
94920
|
isObject: function isObject(value) {
|
|
96006
94921
|
return _typeof(value) === 'object';
|
|
96007
94922
|
},
|
|
96008
|
-
|
|
96009
|
-
|
|
94923
|
+
printValue: function printValue(value) {
|
|
94924
|
+
if (value) {
|
|
94925
|
+
return this.isDate(value) ? this.getLocalDate(value) : value.toString();
|
|
94926
|
+
} else {
|
|
94927
|
+
return null;
|
|
94928
|
+
}
|
|
96010
94929
|
},
|
|
96011
94930
|
isDate: function isDate(value) {
|
|
96012
94931
|
try {
|
|
@@ -96032,8 +94951,8 @@ var PuiAuditItemvue_type_template_id_c0a24dcc_staticRenderFns = [];
|
|
|
96032
94951
|
|
|
96033
94952
|
var PuiAuditItem_component = normalizeComponent(
|
|
96034
94953
|
puiaudit_PuiAuditItemvue_type_script_lang_js,
|
|
96035
|
-
|
|
96036
|
-
|
|
94954
|
+
PuiAuditItemvue_type_template_id_67aaeeda_render,
|
|
94955
|
+
PuiAuditItemvue_type_template_id_67aaeeda_staticRenderFns,
|
|
96037
94956
|
false,
|
|
96038
94957
|
null,
|
|
96039
94958
|
null,
|