mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-05-06 00:23:17 +02:00
Added linked filters test
This commit is contained in:
parent
132214c026
commit
c4f90f0bc2
|
@ -10,10 +10,10 @@ webpackJsonp([1],[
|
||||||
"./cookie.js": 5,
|
"./cookie.js": 5,
|
||||||
"./date": 8,
|
"./date": 8,
|
||||||
"./date.js": 8,
|
"./date.js": 8,
|
||||||
"./dom": 3,
|
"./dom": 2,
|
||||||
"./dom.js": 3,
|
"./dom.js": 2,
|
||||||
"./event": 2,
|
"./event": 3,
|
||||||
"./event.js": 2,
|
"./event.js": 3,
|
||||||
"./extensions/advancedGrid/adapterEzEditTable": 24,
|
"./extensions/advancedGrid/adapterEzEditTable": 24,
|
||||||
"./extensions/advancedGrid/adapterEzEditTable.js": 24,
|
"./extensions/advancedGrid/adapterEzEditTable.js": 24,
|
||||||
"./extensions/advancedGrid/advancedGrid": 25,
|
"./extensions/advancedGrid/advancedGrid": 25,
|
||||||
|
@ -115,7 +115,7 @@ webpackJsonp([1],[
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -534,7 +534,7 @@ webpackJsonp([1],[
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -868,7 +868,7 @@ webpackJsonp([1],[
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -876,7 +876,7 @@ webpackJsonp([1],[
|
||||||
|
|
||||||
var _Types2 = _interopRequireDefault(_Types);
|
var _Types2 = _interopRequireDefault(_Types);
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
|
@ -1469,7 +1469,7 @@ webpackJsonp([1],[
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -1477,7 +1477,7 @@ webpackJsonp([1],[
|
||||||
|
|
||||||
var _Types2 = _interopRequireDefault(_Types);
|
var _Types2 = _interopRequireDefault(_Types);
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
|
@ -1694,7 +1694,7 @@ webpackJsonp([1],[
|
||||||
|
|
||||||
var _Types2 = _interopRequireDefault(_Types);
|
var _Types2 = _interopRequireDefault(_Types);
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -1702,7 +1702,7 @@ webpackJsonp([1],[
|
||||||
|
|
||||||
var _Arr2 = _interopRequireDefault(_Arr);
|
var _Arr2 = _interopRequireDefault(_Arr);
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
|
@ -2237,4 +2237,4 @@ webpackJsonp([1],[
|
||||||
|
|
||||||
/***/ }
|
/***/ }
|
||||||
]);
|
]);
|
||||||
//# sourceMappingURL=1-d59e614953f2afdbdeca.js.map
|
//# sourceMappingURL=1-7e7f7c02333b80894c94.js.map
|
192
dist/tablefilter/tablefilter.js
vendored
192
dist/tablefilter/tablefilter.js
vendored
|
@ -83,7 +83,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
/******/ script.charset = 'utf-8';
|
/******/ script.charset = 'utf-8';
|
||||||
/******/ script.async = true;
|
/******/ script.async = true;
|
||||||
/******/
|
/******/
|
||||||
/******/ script.src = __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "-" + {"1":"d59e614953f2afdbdeca"}[chunkId] + ".js";
|
/******/ script.src = __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "-" + {"1":"7e7f7c02333b80894c94"}[chunkId] + ".js";
|
||||||
/******/ head.appendChild(script);
|
/******/ head.appendChild(script);
|
||||||
/******/ }
|
/******/ }
|
||||||
/******/ };
|
/******/ };
|
||||||
|
@ -117,11 +117,11 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -1142,7 +1142,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.loader && !this.statusBar) {
|
if (!this.loader && !this.statusBar && !this.linkedFilters) {
|
||||||
efx.call(this);
|
efx.call(this);
|
||||||
} else {
|
} else {
|
||||||
if (this.loader) {
|
if (this.loader) {
|
||||||
|
@ -3140,67 +3140,6 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
/**
|
|
||||||
* DOM event utilities
|
|
||||||
*/
|
|
||||||
|
|
||||||
exports['default'] = {
|
|
||||||
add: function add(obj, type, func, capture) {
|
|
||||||
if (obj.addEventListener) {
|
|
||||||
obj.addEventListener(type, func, capture);
|
|
||||||
} else if (obj.attachEvent) {
|
|
||||||
obj.attachEvent('on' + type, func);
|
|
||||||
} else {
|
|
||||||
obj['on' + type] = func;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
remove: function remove(obj, type, func, capture) {
|
|
||||||
if (obj.detachEvent) {
|
|
||||||
obj.detachEvent('on' + type, func);
|
|
||||||
} else if (obj.removeEventListener) {
|
|
||||||
obj.removeEventListener(type, func, capture);
|
|
||||||
} else {
|
|
||||||
obj['on' + type] = null;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
stop: function stop(evt) {
|
|
||||||
if (!evt) {
|
|
||||||
evt = window.event;
|
|
||||||
}
|
|
||||||
if (evt.stopPropagation) {
|
|
||||||
evt.stopPropagation();
|
|
||||||
} else {
|
|
||||||
evt.cancelBubble = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
cancel: function cancel(evt) {
|
|
||||||
if (!evt) {
|
|
||||||
evt = window.event;
|
|
||||||
}
|
|
||||||
if (evt.preventDefault) {
|
|
||||||
evt.preventDefault();
|
|
||||||
} else {
|
|
||||||
evt.returnValue = false;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
target: function target(evt) {
|
|
||||||
return evt && evt.target || window.event && window.event.srcElement;
|
|
||||||
},
|
|
||||||
keyCode: function keyCode(evt) {
|
|
||||||
return evt.charCode ? evt.charCode : evt.keyCode ? evt.keyCode : evt.which ? evt.which : 0;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
module.exports = exports['default'];
|
|
||||||
|
|
||||||
/***/ },
|
|
||||||
/* 3 */
|
|
||||||
/***/ function(module, exports, __webpack_require__) {
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
Object.defineProperty(exports, '__esModule', {
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
@ -3372,6 +3311,67 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
||||||
|
|
||||||
|
/***/ },
|
||||||
|
/* 3 */
|
||||||
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
/**
|
||||||
|
* DOM event utilities
|
||||||
|
*/
|
||||||
|
|
||||||
|
exports['default'] = {
|
||||||
|
add: function add(obj, type, func, capture) {
|
||||||
|
if (obj.addEventListener) {
|
||||||
|
obj.addEventListener(type, func, capture);
|
||||||
|
} else if (obj.attachEvent) {
|
||||||
|
obj.attachEvent('on' + type, func);
|
||||||
|
} else {
|
||||||
|
obj['on' + type] = func;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
remove: function remove(obj, type, func, capture) {
|
||||||
|
if (obj.detachEvent) {
|
||||||
|
obj.detachEvent('on' + type, func);
|
||||||
|
} else if (obj.removeEventListener) {
|
||||||
|
obj.removeEventListener(type, func, capture);
|
||||||
|
} else {
|
||||||
|
obj['on' + type] = null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
stop: function stop(evt) {
|
||||||
|
if (!evt) {
|
||||||
|
evt = window.event;
|
||||||
|
}
|
||||||
|
if (evt.stopPropagation) {
|
||||||
|
evt.stopPropagation();
|
||||||
|
} else {
|
||||||
|
evt.cancelBubble = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cancel: function cancel(evt) {
|
||||||
|
if (!evt) {
|
||||||
|
evt = window.event;
|
||||||
|
}
|
||||||
|
if (evt.preventDefault) {
|
||||||
|
evt.preventDefault();
|
||||||
|
} else {
|
||||||
|
evt.returnValue = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
target: function target(evt) {
|
||||||
|
return evt && evt.target || window.event && window.event.srcElement;
|
||||||
|
},
|
||||||
|
keyCode: function keyCode(evt) {
|
||||||
|
return evt.charCode ? evt.charCode : evt.keyCode ? evt.keyCode : evt.which ? evt.which : 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
module.exports = exports['default'];
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 4 */
|
/* 4 */
|
||||||
/***/ function(module, exports, __webpack_require__) {
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
@ -3966,7 +3966,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -3974,7 +3974,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _Types2 = _interopRequireDefault(_Types);
|
var _Types2 = _interopRequireDefault(_Types);
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
|
@ -4349,7 +4349,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -4467,7 +4467,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -4617,11 +4617,11 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _Types2 = _interopRequireDefault(_Types);
|
var _Types2 = _interopRequireDefault(_Types);
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
|
@ -4888,7 +4888,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -4941,15 +4941,15 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
/**
|
/**
|
||||||
* Build drop-down filter UI asynchronously
|
* Build drop-down filter UI asynchronously
|
||||||
* @param {Number} colIndex Column index
|
* @param {Number} colIndex Column index
|
||||||
* @param {Boolean} isRefreshed Enable linked refresh behaviour
|
* @param {Boolean} isLinked Enable linked refresh behaviour
|
||||||
* @param {Boolean} isExternal Render in external container
|
* @param {Boolean} isExternal Render in external container
|
||||||
* @param {String} extSlcId External container id
|
* @param {String} extSlcId External container id
|
||||||
*/
|
*/
|
||||||
value: function build(colIndex, isRefreshed, isExternal, extSlcId) {
|
value: function build(colIndex, isLinked, isExternal, extSlcId) {
|
||||||
var tf = this.tf;
|
var tf = this.tf;
|
||||||
tf.EvtManager(tf.Evt.name.dropdown, {
|
tf.EvtManager(tf.Evt.name.dropdown, {
|
||||||
slcIndex: colIndex,
|
slcIndex: colIndex,
|
||||||
slcRefreshed: isRefreshed,
|
slcRefreshed: isLinked,
|
||||||
slcExternal: isExternal,
|
slcExternal: isExternal,
|
||||||
slcId: extSlcId
|
slcId: extSlcId
|
||||||
});
|
});
|
||||||
|
@ -4960,12 +4960,12 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
/**
|
/**
|
||||||
* Build drop-down filter UI
|
* Build drop-down filter UI
|
||||||
* @param {Number} colIndex Column index
|
* @param {Number} colIndex Column index
|
||||||
* @param {Boolean} isRefreshed Enable linked refresh behaviour
|
* @param {Boolean} isLinked Enable linked refresh behaviour
|
||||||
* @param {Boolean} isExternal Render in external container
|
* @param {Boolean} isExternal Render in external container
|
||||||
* @param {String} extSlcId External container id
|
* @param {String} extSlcId External container id
|
||||||
*/
|
*/
|
||||||
value: function _build(colIndex) {
|
value: function _build(colIndex) {
|
||||||
var isRefreshed = arguments[1] === undefined ? false : arguments[1];
|
var isLinked = arguments[1] === undefined ? false : arguments[1];
|
||||||
var isExternal = arguments[2] === undefined ? false : arguments[2];
|
var isExternal = arguments[2] === undefined ? false : arguments[2];
|
||||||
var extSlcId = arguments[3] === undefined ? null : arguments[3];
|
var extSlcId = arguments[3] === undefined ? null : arguments[3];
|
||||||
|
|
||||||
|
@ -4989,7 +4989,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
//custom selects text
|
//custom selects text
|
||||||
var activeFlt;
|
var activeFlt;
|
||||||
if (isRefreshed && tf.activeFilterId) {
|
if (isLinked && tf.activeFilterId) {
|
||||||
activeFlt = tf.activeFilterId.split('_')[0];
|
activeFlt = tf.activeFilterId.split('_')[0];
|
||||||
activeFlt = activeFlt.split(tf.prfxFlt)[1];
|
activeFlt = activeFlt.split(tf.prfxFlt)[1];
|
||||||
}
|
}
|
||||||
|
@ -5010,7 +5010,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var excludedOpts = null,
|
var excludedOpts = null,
|
||||||
filteredDataCol = null;
|
filteredDataCol = null;
|
||||||
if (isRefreshed && tf.disableExcludedOptions) {
|
if (isLinked && tf.disableExcludedOptions) {
|
||||||
excludedOpts = [];
|
excludedOpts = [];
|
||||||
filteredDataCol = [];
|
filteredDataCol = [];
|
||||||
}
|
}
|
||||||
|
@ -5032,7 +5032,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
// this loop retrieves cell data
|
// this loop retrieves cell data
|
||||||
for (var j = 0; j < nchilds; j++) {
|
for (var j = 0; j < nchilds; j++) {
|
||||||
if (colIndex === j && (!isRefreshed || isRefreshed && tf.disableExcludedOptions) || colIndex == j && isRefreshed && (rows[k].style.display === '' && !tf.paging || tf.paging && (!tf.validRowsIndex || tf.validRowsIndex && _Arr2['default'].has(tf.validRowsIndex, k)) && (activeFlt === undefined || activeFlt == colIndex || activeFlt != colIndex && _Arr2['default'].has(tf.validRowsIndex, k)))) {
|
if (colIndex === j && (!isLinked || isLinked && tf.disableExcludedOptions) || colIndex == j && isLinked && (rows[k].style.display === '' && !tf.paging || tf.paging && (!tf.validRowsIndex || tf.validRowsIndex && _Arr2['default'].has(tf.validRowsIndex, k)) && (activeFlt === undefined || activeFlt == colIndex || activeFlt != colIndex && _Arr2['default'].has(tf.validRowsIndex, k)))) {
|
||||||
var cell_data = tf.getCellData(j, cell[j]),
|
var cell_data = tf.getCellData(j, cell[j]),
|
||||||
|
|
||||||
//Vary Peter's patch
|
//Vary Peter's patch
|
||||||
|
@ -5043,7 +5043,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
this.opts.push(cell_data);
|
this.opts.push(cell_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isRefreshed && tf.disableExcludedOptions) {
|
if (isLinked && tf.disableExcludedOptions) {
|
||||||
var filteredCol = filteredDataCol[j];
|
var filteredCol = filteredDataCol[j];
|
||||||
if (!filteredCol) {
|
if (!filteredCol) {
|
||||||
filteredCol = this.GetFilteredDataCol(j);
|
filteredCol = this.GetFilteredDataCol(j);
|
||||||
|
@ -5119,7 +5119,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
|
|
||||||
//populates drop-down
|
//populates drop-down
|
||||||
this.addOptions(colIndex, slc, isRefreshed, excludedOpts, fltsValues, fltArr);
|
this.addOptions(colIndex, slc, isLinked, excludedOpts, fltsValues, fltArr);
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
key: 'addOptions',
|
key: 'addOptions',
|
||||||
|
@ -5128,12 +5128,12 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* Add drop-down options
|
* Add drop-down options
|
||||||
* @param {Number} colIndex Column index
|
* @param {Number} colIndex Column index
|
||||||
* @param {Object} slc Select Dom element
|
* @param {Object} slc Select Dom element
|
||||||
* @param {Boolean} isRefreshed Enable linked refresh behaviour
|
* @param {Boolean} isLinked Enable linked refresh behaviour
|
||||||
* @param {Array} excludedOpts Array of excluded options
|
* @param {Array} excludedOpts Array of excluded options
|
||||||
* @param {Array} fltsValues Collection of persisted filter values
|
* @param {Array} fltsValues Collection of persisted filter values
|
||||||
* @param {Array} fltArr Collection of persisted filter values
|
* @param {Array} fltArr Collection of persisted filter values
|
||||||
*/
|
*/
|
||||||
value: function addOptions(colIndex, slc, isRefreshed, excludedOpts, fltsValues, fltArr) {
|
value: function addOptions(colIndex, slc, isLinked, excludedOpts, fltsValues, fltArr) {
|
||||||
var tf = this.tf,
|
var tf = this.tf,
|
||||||
fillMethod = _Str2['default'].lower(this.slcFillingMethod),
|
fillMethod = _Str2['default'].lower(this.slcFillingMethod),
|
||||||
slcValue = slc.value;
|
slcValue = slc.value;
|
||||||
|
@ -5148,7 +5148,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
var val = this.opts[y]; //option value
|
var val = this.opts[y]; //option value
|
||||||
var lbl = this.isCustom ? this.optsTxt[y] : val; //option text
|
var lbl = this.isCustom ? this.optsTxt[y] : val; //option text
|
||||||
var isDisabled = false;
|
var isDisabled = false;
|
||||||
if (isRefreshed && this.disableExcludedOptions && _Arr2['default'].has(excludedOpts, _Str2['default'].matchCase(val, tf.matchCase), tf.matchCase)) {
|
if (isLinked && this.disableExcludedOptions && _Arr2['default'].has(excludedOpts, _Str2['default'].matchCase(val, tf.matchCase), tf.matchCase)) {
|
||||||
isDisabled = true;
|
isDisabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5235,7 +5235,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -5251,7 +5251,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _Sort2 = _interopRequireDefault(_Sort);
|
var _Sort2 = _interopRequireDefault(_Sort);
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
|
@ -5677,7 +5677,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -5851,7 +5851,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -6012,7 +6012,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
@ -6024,7 +6024,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _Str2 = _interopRequireDefault(_Str);
|
var _Str2 = _interopRequireDefault(_Str);
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
|
@ -6800,11 +6800,11 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
|
@ -6927,11 +6927,11 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
var _Event = __webpack_require__(2);
|
var _Event = __webpack_require__(3);
|
||||||
|
|
||||||
var _Event2 = _interopRequireDefault(_Event);
|
var _Event2 = _interopRequireDefault(_Event);
|
||||||
|
|
||||||
|
@ -7108,7 +7108,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _Dom = __webpack_require__(3);
|
var _Dom = __webpack_require__(2);
|
||||||
|
|
||||||
var _Dom2 = _interopRequireDefault(_Dom);
|
var _Dom2 = _interopRequireDefault(_Dom);
|
||||||
|
|
||||||
|
|
|
@ -263,10 +263,9 @@ export class CheckList{
|
||||||
Dom.addClass(li, this.checkListItemDisabledCssClass);
|
Dom.addClass(li, this.checkListItemDisabledCssClass);
|
||||||
li.check.disabled = true;
|
li.check.disabled = true;
|
||||||
li.disabled = true;
|
li.disabled = true;
|
||||||
} else{
|
} else {
|
||||||
Event.add(li.check, 'click',
|
Event.add(li.check, 'click',
|
||||||
(evt) => { this.optionClick(evt);
|
(evt) => { this.optionClick(evt); });
|
||||||
});
|
|
||||||
}
|
}
|
||||||
ul.appendChild(li);
|
ul.appendChild(li);
|
||||||
|
|
||||||
|
|
|
@ -37,17 +37,17 @@ export class Dropdown{
|
||||||
/**
|
/**
|
||||||
* Build drop-down filter UI asynchronously
|
* Build drop-down filter UI asynchronously
|
||||||
* @param {Number} colIndex Column index
|
* @param {Number} colIndex Column index
|
||||||
* @param {Boolean} isRefreshed Enable linked refresh behaviour
|
* @param {Boolean} isLinked Enable linked refresh behaviour
|
||||||
* @param {Boolean} isExternal Render in external container
|
* @param {Boolean} isExternal Render in external container
|
||||||
* @param {String} extSlcId External container id
|
* @param {String} extSlcId External container id
|
||||||
*/
|
*/
|
||||||
build(colIndex, isRefreshed, isExternal, extSlcId){
|
build(colIndex, isLinked, isExternal, extSlcId){
|
||||||
var tf = this.tf;
|
var tf = this.tf;
|
||||||
tf.EvtManager(
|
tf.EvtManager(
|
||||||
tf.Evt.name.dropdown,
|
tf.Evt.name.dropdown,
|
||||||
{
|
{
|
||||||
slcIndex: colIndex,
|
slcIndex: colIndex,
|
||||||
slcRefreshed: isRefreshed,
|
slcRefreshed: isLinked,
|
||||||
slcExternal: isExternal,
|
slcExternal: isExternal,
|
||||||
slcId: extSlcId
|
slcId: extSlcId
|
||||||
}
|
}
|
||||||
|
@ -57,11 +57,11 @@ export class Dropdown{
|
||||||
/**
|
/**
|
||||||
* Build drop-down filter UI
|
* Build drop-down filter UI
|
||||||
* @param {Number} colIndex Column index
|
* @param {Number} colIndex Column index
|
||||||
* @param {Boolean} isRefreshed Enable linked refresh behaviour
|
* @param {Boolean} isLinked Enable linked refresh behaviour
|
||||||
* @param {Boolean} isExternal Render in external container
|
* @param {Boolean} isExternal Render in external container
|
||||||
* @param {String} extSlcId External container id
|
* @param {String} extSlcId External container id
|
||||||
*/
|
*/
|
||||||
_build(colIndex, isRefreshed=false, isExternal=false, extSlcId=null){
|
_build(colIndex, isLinked=false, isExternal=false, extSlcId=null){
|
||||||
var tf = this.tf;
|
var tf = this.tf;
|
||||||
colIndex = parseInt(colIndex, 10);
|
colIndex = parseInt(colIndex, 10);
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ export class Dropdown{
|
||||||
|
|
||||||
//custom selects text
|
//custom selects text
|
||||||
var activeFlt;
|
var activeFlt;
|
||||||
if(isRefreshed && tf.activeFilterId){
|
if(isLinked && tf.activeFilterId){
|
||||||
activeFlt = tf.activeFilterId.split('_')[0];
|
activeFlt = tf.activeFilterId.split('_')[0];
|
||||||
activeFlt = activeFlt.split(tf.prfxFlt)[1];
|
activeFlt = activeFlt.split(tf.prfxFlt)[1];
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,7 @@ export class Dropdown{
|
||||||
|
|
||||||
var excludedOpts = null,
|
var excludedOpts = null,
|
||||||
filteredDataCol = null;
|
filteredDataCol = null;
|
||||||
if(isRefreshed && tf.disableExcludedOptions){
|
if(isLinked && tf.disableExcludedOptions){
|
||||||
excludedOpts = [];
|
excludedOpts = [];
|
||||||
filteredDataCol = [];
|
filteredDataCol = [];
|
||||||
}
|
}
|
||||||
|
@ -128,9 +128,9 @@ export class Dropdown{
|
||||||
// this loop retrieves cell data
|
// this loop retrieves cell data
|
||||||
for(var j=0; j<nchilds; j++){
|
for(var j=0; j<nchilds; j++){
|
||||||
if((colIndex===j &&
|
if((colIndex===j &&
|
||||||
(!isRefreshed ||
|
(!isLinked ||
|
||||||
(isRefreshed && tf.disableExcludedOptions))) ||
|
(isLinked && tf.disableExcludedOptions))) ||
|
||||||
(colIndex==j && isRefreshed &&
|
(colIndex==j && isLinked &&
|
||||||
((rows[k].style.display === '' && !tf.paging) ||
|
((rows[k].style.display === '' && !tf.paging) ||
|
||||||
(tf.paging && (!tf.validRowsIndex ||
|
(tf.paging && (!tf.validRowsIndex ||
|
||||||
(tf.validRowsIndex &&
|
(tf.validRowsIndex &&
|
||||||
|
@ -147,7 +147,7 @@ export class Dropdown{
|
||||||
this.opts.push(cell_data);
|
this.opts.push(cell_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isRefreshed && tf.disableExcludedOptions){
|
if(isLinked && tf.disableExcludedOptions){
|
||||||
var filteredCol = filteredDataCol[j];
|
var filteredCol = filteredDataCol[j];
|
||||||
if(!filteredCol){
|
if(!filteredCol){
|
||||||
filteredCol = this.GetFilteredDataCol(j);
|
filteredCol = this.GetFilteredDataCol(j);
|
||||||
|
@ -225,19 +225,19 @@ export class Dropdown{
|
||||||
|
|
||||||
//populates drop-down
|
//populates drop-down
|
||||||
this.addOptions(
|
this.addOptions(
|
||||||
colIndex, slc, isRefreshed, excludedOpts, fltsValues, fltArr);
|
colIndex, slc, isLinked, excludedOpts, fltsValues, fltArr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add drop-down options
|
* Add drop-down options
|
||||||
* @param {Number} colIndex Column index
|
* @param {Number} colIndex Column index
|
||||||
* @param {Object} slc Select Dom element
|
* @param {Object} slc Select Dom element
|
||||||
* @param {Boolean} isRefreshed Enable linked refresh behaviour
|
* @param {Boolean} isLinked Enable linked refresh behaviour
|
||||||
* @param {Array} excludedOpts Array of excluded options
|
* @param {Array} excludedOpts Array of excluded options
|
||||||
* @param {Array} fltsValues Collection of persisted filter values
|
* @param {Array} fltsValues Collection of persisted filter values
|
||||||
* @param {Array} fltArr Collection of persisted filter values
|
* @param {Array} fltArr Collection of persisted filter values
|
||||||
*/
|
*/
|
||||||
addOptions(colIndex, slc, isRefreshed, excludedOpts, fltsValues, fltArr){
|
addOptions(colIndex, slc, isLinked, excludedOpts, fltsValues, fltArr){
|
||||||
var tf = this.tf,
|
var tf = this.tf,
|
||||||
fillMethod = Str.lower(this.slcFillingMethod),
|
fillMethod = Str.lower(this.slcFillingMethod),
|
||||||
slcValue = slc.value;
|
slcValue = slc.value;
|
||||||
|
@ -252,7 +252,7 @@ export class Dropdown{
|
||||||
var val = this.opts[y]; //option value
|
var val = this.opts[y]; //option value
|
||||||
var lbl = this.isCustom ? this.optsTxt[y] : val; //option text
|
var lbl = this.isCustom ? this.optsTxt[y] : val; //option text
|
||||||
var isDisabled = false;
|
var isDisabled = false;
|
||||||
if(isRefreshed && this.disableExcludedOptions &&
|
if(isLinked && this.disableExcludedOptions &&
|
||||||
Arr.has(
|
Arr.has(
|
||||||
excludedOpts,
|
excludedOpts,
|
||||||
Str.matchCase(val, tf.matchCase),
|
Str.matchCase(val, tf.matchCase),
|
||||||
|
|
|
@ -1021,7 +1021,7 @@ export class TableFilter{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!this.loader && !this.statusBar) {
|
if(!this.loader && !this.statusBar && !this.linkedFilters) {
|
||||||
efx.call(this);
|
efx.call(this);
|
||||||
} else {
|
} else {
|
||||||
if(this.loader){
|
if(this.loader){
|
||||||
|
@ -2546,7 +2546,7 @@ export class TableFilter{
|
||||||
this.Mod.dropdown._build(slcIndex[i], true);
|
this.Mod.dropdown._build(slcIndex[i], true);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setFilterValue(slcIndex[i],slcSelectedValue);
|
this.setFilterValue(slcIndex[i], slcSelectedValue);
|
||||||
}
|
}
|
||||||
}// for i
|
}// for i
|
||||||
}
|
}
|
||||||
|
|
80
test/test-linked-filters.html
Normal file
80
test/test-linked-filters.html
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>TableFilter with linked filters tests</title>
|
||||||
|
<link rel="stylesheet" href="libs/qunit/qunit.css">
|
||||||
|
<script src="libs/qunit/qunit.js"></script>
|
||||||
|
<script src="libs/polyfill.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<table id="demo">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>From</th>
|
||||||
|
<th>Destination</th>
|
||||||
|
<th>Road Distance (km)</th>
|
||||||
|
<th>By Air (hrs)</th>
|
||||||
|
<th>By Rail (hrs)</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Sydney</strong></td>
|
||||||
|
<td>Adelaide</td>
|
||||||
|
<td>1412</td>
|
||||||
|
<td>1.4</td>
|
||||||
|
<td>25.3</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Sydney</strong></td>
|
||||||
|
<td>Brisbane</td>
|
||||||
|
<td>982</td>
|
||||||
|
<td>1.5</td>
|
||||||
|
<td>16</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Sydney</strong></td>
|
||||||
|
<td>Canberra</td>
|
||||||
|
<td>286</td>
|
||||||
|
<td>.6</td>
|
||||||
|
<td>4.3</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Sydney</strong></td>
|
||||||
|
<td>Melbourne</td>
|
||||||
|
<td>872</td>
|
||||||
|
<td>1.1</td>
|
||||||
|
<td>10.5</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Adelaide</strong></td>
|
||||||
|
<td>Perth</td>
|
||||||
|
<td>2781</td>
|
||||||
|
<td>3.1</td>
|
||||||
|
<td>38</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Adelaide</strong></td>
|
||||||
|
<td>Alice Springs</td>
|
||||||
|
<td>1533</td>
|
||||||
|
<td>2</td>
|
||||||
|
<td>20.25</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Adelaide</strong></td>
|
||||||
|
<td>Brisbane</td>
|
||||||
|
<td>2045</td>
|
||||||
|
<td>2.15</td>
|
||||||
|
<td>40</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<script src="../dist/tablefilter/tablefilter.js"></script>
|
||||||
|
<script src="test-linked-filters.js"></script>
|
||||||
|
|
||||||
|
<div id="qunit"></div>
|
||||||
|
<div id="qunit-fixture"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
35
test/test-linked-filters.js
Normal file
35
test/test-linked-filters.js
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
(function(win, TableFilter){
|
||||||
|
|
||||||
|
var tf = new TableFilter('demo', {
|
||||||
|
base_path: '../dist/tablefilter/',
|
||||||
|
linked_filters: true,
|
||||||
|
col_0: 'multiple',
|
||||||
|
col_1: 'checklist',
|
||||||
|
on_after_filter: testLinked
|
||||||
|
});
|
||||||
|
tf.init();
|
||||||
|
|
||||||
|
module('Sanity checks');
|
||||||
|
test('Linked filters feature', function() {
|
||||||
|
deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
|
||||||
|
deepEqual(tf.linkedFilters, true, 'Linked filters enabled');
|
||||||
|
});
|
||||||
|
|
||||||
|
var option = document.getElementById('flt1_demo_1');
|
||||||
|
option.click();
|
||||||
|
|
||||||
|
function testLinked(tf) {
|
||||||
|
test('Check filters are linked', function() {
|
||||||
|
var filter0 = tf.getFilterElement(0);
|
||||||
|
deepEqual(tf.activeFilterId, 'flt1_demo_1', 'Active filter');
|
||||||
|
deepEqual(
|
||||||
|
filter0.options.length,
|
||||||
|
2,
|
||||||
|
'Linked filter expected options number'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
tf.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
})(window, TableFilter);
|
Loading…
Reference in a new issue