1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-09 18:06:53 +02:00

Merge pull request #611 from koalyptus/580-sticky-head

580 sticky head
This commit is contained in:
koalyptus 2018-06-17 21:29:01 +10:00 committed by GitHub
commit c710fa3585
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 162 additions and 2181 deletions

View file

@ -13,7 +13,7 @@
"array-bracket-spacing": 2,
"keyword-spacing": ["error", { "after": true, "before": true }],
"max-depth": [2, 7],
"max-statements": [2, 131],
"max-statements": [2, 133],
"complexity": [2, 41],
"no-unused-vars": 2,
"no-eval": 2,

View file

@ -29,6 +29,7 @@ deploy:
branch: master
api_key: $GITHUB_OAUTH_ACCESS_TOKEN
skip_cleanup: true
name: $NEW_GIT_TAG
- provider: s3
on:
branch: master

View file

@ -124,7 +124,7 @@ NOTE: Be sure to merge the latest from "upstream" before making a pull request!
## Donations
To support this project simply locate the `Donate` button in the [project's
website](http://koalyptus.github.io/TableFilter/)
website](https://www.tablefilter.com/)
which points to PayPal.
Thanks to all those who supported this project in the past and to those who will
in the future!

4
dist/starter.html vendored
View file

@ -1,10 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>tablefilter v0.6.41 - Starter</title>
<title>tablefilter v0.6.42 - Starter</title>
</head>
<body>
<h1>tablefilter v0.6.41</h1>
<h1>tablefilter v0.6.42</h1>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/tablefilter/tablefilter.js.map vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2282
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{
"name": "tablefilter",
"version": "0.6.41",
"version": "0.6.42",
"description": "A Javascript library making HTML tables filterable and a bit more",
"license": "MIT",
"author": {
@ -67,7 +67,7 @@
"sugar-date": "2.0.4",
"uglifyjs-webpack-plugin": "1.2.5",
"webpack": "^4.0.1",
"webpack-cli": "^2.0.10",
"webpack-cli": "^3.0.8",
"webpack-dev-server": "^3.0.0"
},
"bugs": {

View file

@ -859,6 +859,9 @@ export class TableFilter {
*/
this.prfxResponsive = 'resp';
/** @private */
this.stickyCssClass = 'sticky';
/*** extensions ***/
/**
* List of loaded extensions
@ -907,6 +910,12 @@ export class TableFilter {
*/
this.toolbar = isObj(f.toolbar) || Boolean(f.toolbar);
/**
* Enable sticky headers
* @type {Boolean}
*/
this.stickyHeaders = Boolean(f.sticky_headers);
/**
* Features registry
* @private
@ -1048,6 +1057,9 @@ export class TableFilter {
if (this.colWidths.length > 0) {
this.setFixedLayout();
}
if (this.stickyHeaders && this.dom().tHead) {
addClass(this.dom().tHead, this.stickyCssClass);
}
}
/* Load extensions */
@ -1471,6 +1483,9 @@ export class TableFilter {
removeClass(this.dom(), this.prfxTf);
removeClass(this.dom(), this.prfxResponsive);
if (this.dom().tHead) {
removeClass(this.dom().tHead, this.stickyCssClass);
}
this.nbHiddenRows = 0;
this.validRowsIndex = [];

View file

@ -32,6 +32,7 @@ div.helpCont
color #333
background #fff
text-align left
z-index 1000
a
color #cc0000

View file

@ -28,10 +28,16 @@ table.TF
border-bottom 1px solid $td-border-color
text-overflow ellipsis
// responsiveness
// responsive
&.resp
display block
overflow-x auto
.sort-arrow
position initial
// stick headers
thead.sticky
th
position sticky
top -1px

View file

@ -30,6 +30,7 @@
},
btn_reset: true,
status_bar: true,
sticky_headers: true,
msg_filter: 'Filtering...'
};

View file

@ -20,14 +20,15 @@ var tfConfig = {
base_path: '../dist/tablefilter/',
col_widths: [
'150px', '100px', '100px',
'70px', '70px', '70px',
'70px', '60px', '60px'
'100px', '100px', '100px',
'90px', '90px', '90px'
],
alternate_rows: true,
rows_counter: true,
btn_reset: true,
status_bar: true,
load_filters_on_demand: true,
sticky_headers: true,
col_0: 'multiple',
col_1: 'select',
col_2: 'checklist'

View file

@ -1,6 +1,7 @@
var tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/'
base_path: '../dist/tablefilter/',
sticky_headers: true
});
tf.init();
@ -12,6 +13,8 @@ test('thead', function() {
deepEqual(tf.getRowsNb(), 7, 'nb working rows');
deepEqual(tf.getRowsNb(true), 9, 'nb working rows with headers');
notEqual(tf.getFilterElement(0), null, 'Filter element for column 0');
deepEqual(tf.dom().tHead.classList.contains(tf.stickyCssClass), true,
'Sticky headers CSS class');
tf.setFilterValue(1, 'Ade');
tf.filter();

View file

@ -56,6 +56,7 @@ module.exports = {
optimization: {
minimizer: [
new UglifyJsPlugin({
sourceMap: true,
uglifyOptions: {
beautify: false,
compress: {warnings: false},

View file

@ -32,7 +32,7 @@ module.exports = {
noAutoWrap: true,
babel: {
compact: false,
presets: ['es2015'],
presets: ['env'],
plugins: [['transform-es2015-classes', {loose: true}]]
}
}