mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-05-17 22:06:41 +02:00
Re-refactored number type
This commit is contained in:
parent
a0707554bb
commit
7ecb53a701
404
dist/tablefilter/tablefilter.js
vendored
404
dist/tablefilter/tablefilter.js
vendored
|
@ -126,9 +126,9 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _root = __webpack_require__(2);
|
var _root = __webpack_require__(2);
|
||||||
|
|
||||||
var _emitter = __webpack_require__(8);
|
var _emitter = __webpack_require__(7);
|
||||||
|
|
||||||
var _gridLayout = __webpack_require__(9);
|
var _gridLayout = __webpack_require__(8);
|
||||||
|
|
||||||
var _loader = __webpack_require__(11);
|
var _loader = __webpack_require__(11);
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _dateType = __webpack_require__(29);
|
var _dateType = __webpack_require__(29);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -1948,8 +1948,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
// search args re-init
|
// search args re-init
|
||||||
var searchArgs = this.getFiltersValue();
|
var searchArgs = this.getFiltersValue();
|
||||||
|
|
||||||
var numCellData = void 0;
|
var numData = void 0;
|
||||||
var nbFormat = void 0;
|
var nbFormat = this.decimalSeparator;
|
||||||
var re_le = new RegExp(this.leOperator),
|
var re_le = new RegExp(this.leOperator),
|
||||||
re_ge = new RegExp(this.geOperator),
|
re_ge = new RegExp(this.geOperator),
|
||||||
re_l = new RegExp(this.lwOperator),
|
re_l = new RegExp(this.lwOperator),
|
||||||
|
@ -2091,37 +2091,54 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//first numbers need to be unformatted
|
//first numbers need to be unformatted
|
||||||
if (this.hasType(colIdx, [_const.NUMBER])) {
|
// if (this.hasType(colIdx, [NUMBER])) {
|
||||||
numCellData = Number(cellData);
|
// numData = Number(cellData);
|
||||||
} else if (this.hasType(colIdx, [_const.FORMATTED_NUMBER, _const.FORMATTED_NUMBER_EU])) {
|
// }
|
||||||
numCellData = (0, _number.unformat)(cellData, this.colTypes[colIdx]);
|
// else if (this.hasType(colIdx,
|
||||||
nbFormat = this.colTypes[colIdx];
|
// [FORMATTED_NUMBER, FORMATTED_NUMBER_EU])) {
|
||||||
} else {
|
// numData =unformatNb(cellData, this.colTypes[colIdx]);
|
||||||
if (this.thousandsSeparator === ',' && this.decimalSeparator === '.') {
|
// nbFormat = this.colTypes[colIdx];
|
||||||
nbFormat = _const.FORMATTED_NUMBER;
|
// } else {
|
||||||
} else {
|
// if (this.thousandsSeparator === ',' &&
|
||||||
nbFormat = _const.FORMATTED_NUMBER_EU;
|
// this.decimalSeparator === '.') {
|
||||||
|
// nbFormat = FORMATTED_NUMBER;
|
||||||
|
// } else {
|
||||||
|
// nbFormat = FORMATTED_NUMBER_EU;
|
||||||
|
// }
|
||||||
|
// numData = unformatNb(cellData, nbFormat);
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (this.hasType(colIdx, [_const.NUMBER
|
||||||
|
/*, FORMATTED_NUMBER, FORMATTED_NUMBER_EU*/])) {
|
||||||
|
var colType = this.colTypes[colIdx];
|
||||||
|
if (colType.hasOwnProperty('decimal')) {
|
||||||
|
nbFormat = colType.decimal;
|
||||||
}
|
}
|
||||||
numCellData = (0, _number.unformat)(cellData, nbFormat);
|
// numData = Number(cellData) ||parseNb(cellData, nbFormat);
|
||||||
}
|
}
|
||||||
|
// else {
|
||||||
|
// numData = Number(cellData) ||
|
||||||
|
// parseNb(cellData, tf.decimalSeparator);
|
||||||
|
// }
|
||||||
|
numData = Number(cellData) || (0, _number.parse)(cellData, nbFormat);
|
||||||
|
|
||||||
// first checks if there is any operator (<,>,<=,>=,!,*,=,{,},
|
// first checks if there is any operator (<,>,<=,>=,!,*,=,{,},
|
||||||
// rgx:)
|
// rgx:)
|
||||||
// lower equal
|
// lower equal
|
||||||
if (hasLE) {
|
if (hasLE) {
|
||||||
occurence = numCellData <= (0, _number.unformat)(sA.replace(re_le, ''), nbFormat);
|
occurence = numData <= (0, _number.parse)(sA.replace(re_le, ''), nbFormat);
|
||||||
}
|
}
|
||||||
//greater equal
|
//greater equal
|
||||||
else if (hasGE) {
|
else if (hasGE) {
|
||||||
occurence = numCellData >= (0, _number.unformat)(sA.replace(re_ge, ''), nbFormat);
|
occurence = numData >= (0, _number.parse)(sA.replace(re_ge, ''), nbFormat);
|
||||||
}
|
}
|
||||||
//lower
|
//lower
|
||||||
else if (hasLO) {
|
else if (hasLO) {
|
||||||
occurence = numCellData < (0, _number.unformat)(sA.replace(re_l, ''), nbFormat);
|
occurence = numData < (0, _number.parse)(sA.replace(re_l, ''), nbFormat);
|
||||||
}
|
}
|
||||||
//greater
|
//greater
|
||||||
else if (hasGR) {
|
else if (hasGR) {
|
||||||
occurence = numCellData > (0, _number.unformat)(sA.replace(re_g, ''), nbFormat);
|
occurence = numData > (0, _number.parse)(sA.replace(re_g, ''), nbFormat);
|
||||||
}
|
}
|
||||||
//different
|
//different
|
||||||
else if (hasDF) {
|
else if (hasDF) {
|
||||||
|
@ -2166,12 +2183,12 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
} else {
|
} else {
|
||||||
// If numeric type data, perform a strict equality test and
|
// If numeric type data, perform a strict equality test and
|
||||||
// fallback to unformatted number string comparison
|
// fallback to unformatted number string comparison
|
||||||
if (numCellData && this.hasType(colIdx, [_const.NUMBER, _const.FORMATTED_NUMBER, _const.FORMATTED_NUMBER_EU]) && !this.singleSearchFlt) {
|
if (numData && this.hasType(colIdx, [_const.NUMBER]) && !this.singleSearchFlt) {
|
||||||
// unformatNb can return 0 for strings which are not
|
// parseNb can return 0 for strings which are not
|
||||||
// formatted numbers, in that case return the original
|
// formatted numbers, in that case return the original
|
||||||
// string. TODO: handle this in unformatNb
|
// string. TODO: handle this in parseNb
|
||||||
sA = (0, _number.unformat)(sA, nbFormat) || sA;
|
sA = (0, _number.parse)(sA, nbFormat) || sA;
|
||||||
occurence = numCellData === sA || (0, _string.contains)(sA.toString(), numCellData.toString(), this.isExactMatch(colIdx), this.caseSensitive);
|
occurence = numData === sA || (0, _string.contains)(sA.toString(), numData.toString(), this.isExactMatch(colIdx), this.caseSensitive);
|
||||||
} else {
|
} else {
|
||||||
// Finally test search term is contained in cell data
|
// Finally test search term is contained in cell data
|
||||||
occurence = (0, _string.contains)(sA, cellData, this.isExactMatch(colIdx), this.caseSensitive);
|
occurence = (0, _string.contains)(sA, cellData, this.isExactMatch(colIdx), this.caseSensitive);
|
||||||
|
@ -2329,8 +2346,17 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
var cellData = this.getCellData(cell[j]);
|
var cellData = this.getCellData(cell[j]);
|
||||||
var nbFormat = this.hasType(colIndex, [_const.FORMATTED_NUMBER, _const.FORMATTED_NUMBER_EU]) ? this.colTypes[colIndex] : undefined;
|
// let nbFormat = this.hasType(colIndex,
|
||||||
var data = num ? (0, _number.unformat)(cellData, nbFormat) : cellData;
|
// [FORMATTED_NUMBER, FORMATTED_NUMBER_EU]) ?
|
||||||
|
// this.colTypes[colIndex] : undefined;
|
||||||
|
var decimal = this.decimalSeparator;
|
||||||
|
if (this.hasType(colIndex, [_const.NUMBER])) {
|
||||||
|
var colType = this.colTypes[colIndex];
|
||||||
|
if (colType.hasOwnProperty('decimal')) {
|
||||||
|
decimal = colType.decimal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var data = num ? (0, _number.parse)(cellData, decimal) : cellData;
|
||||||
colValues.push(data);
|
colValues.push(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3746,11 +3772,11 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
Object.defineProperty(exports, "__esModule", {
|
Object.defineProperty(exports, "__esModule", {
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
exports.unformat = undefined;
|
exports.parse = undefined;
|
||||||
|
|
||||||
var _types = __webpack_require__(4);
|
var _types = __webpack_require__(4);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
// import {FORMATTED_NUMBER} from './const';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a number for a formatted number
|
* Returns a number for a formatted number
|
||||||
|
@ -3759,8 +3785,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* 'formatted-number-eu'
|
* 'formatted-number-eu'
|
||||||
* @return {Number} Unformatted number
|
* @return {Number} Unformatted number
|
||||||
*/
|
*/
|
||||||
var unformat = exports.unformat = function unformat(value) {
|
var parse = exports.parse = function parse(value) {
|
||||||
var format = arguments.length <= 1 || arguments[1] === undefined ? _const.FORMATTED_NUMBER : arguments[1];
|
var decimal = arguments.length <= 1 || arguments[1] === undefined ? '.' : arguments[1];
|
||||||
|
|
||||||
// Return the value as-is if it's already a number
|
// Return the value as-is if it's already a number
|
||||||
if ((0, _types.isNumber)(value)) {
|
if ((0, _types.isNumber)(value)) {
|
||||||
|
@ -3769,7 +3795,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
// Build regex to strip out everything except digits, decimal point and
|
// Build regex to strip out everything except digits, decimal point and
|
||||||
// minus sign
|
// minus sign
|
||||||
var decimal = format !== _const.FORMATTED_NUMBER ? ',' : '.';
|
// let decimal = format !== FORMATTED_NUMBER ? ',' : '.';
|
||||||
var regex = new RegExp('[^0-9-' + decimal + ']', ['g']);
|
var regex = new RegExp('[^0-9-' + decimal + ']', ['g']);
|
||||||
var unformatted = parseFloat(('' + value).replace(/\((.*)\)/, '-$1') // replace bracketed values with negatives
|
var unformatted = parseFloat(('' + value).replace(/\((.*)\)/, '-$1') // replace bracketed values with negatives
|
||||||
.replace(regex, '') // strip out any cruft
|
.replace(regex, '') // strip out any cruft
|
||||||
|
@ -3782,140 +3808,6 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 7 */
|
/* 7 */
|
||||||
/***/ function(module, exports) {
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
/**
|
|
||||||
* Filter types
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Input filter type
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var INPUT = exports.INPUT = 'input';
|
|
||||||
/**
|
|
||||||
* Select filter type
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var SELECT = exports.SELECT = 'select';
|
|
||||||
/**
|
|
||||||
* Multiple select filter type
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var MULTIPLE = exports.MULTIPLE = 'multiple';
|
|
||||||
/**
|
|
||||||
* Checklist filter type
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var CHECKLIST = exports.CHECKLIST = 'checklist';
|
|
||||||
/**
|
|
||||||
* None filter type
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var NONE = exports.NONE = 'none';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Key codes
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enter key code
|
|
||||||
* @type {Number}
|
|
||||||
*/
|
|
||||||
var ENTER_KEY = exports.ENTER_KEY = 13;
|
|
||||||
/**
|
|
||||||
* Tab key code
|
|
||||||
* @type {Number}
|
|
||||||
*/
|
|
||||||
var TAB_KEY = exports.TAB_KEY = 9;
|
|
||||||
/**
|
|
||||||
* Escape key code
|
|
||||||
* @type {Number}
|
|
||||||
*/
|
|
||||||
var ESC_KEY = exports.ESC_KEY = 27;
|
|
||||||
/**
|
|
||||||
* Up arrow key code
|
|
||||||
* @type {Number}
|
|
||||||
*/
|
|
||||||
var UP_ARROW_KEY = exports.UP_ARROW_KEY = 38;
|
|
||||||
/**
|
|
||||||
* Down arrow key code
|
|
||||||
* @type {Number}
|
|
||||||
*/
|
|
||||||
var DOWN_ARROW_KEY = exports.DOWN_ARROW_KEY = 40;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* HTML tags
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Header cell tag
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var HEADER_TAG = exports.HEADER_TAG = 'TH';
|
|
||||||
/**
|
|
||||||
* Cell tag
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var CELL_TAG = exports.CELL_TAG = 'TD';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Data types
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* String
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var STRING = exports.STRING = 'string';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Number
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var NUMBER = exports.NUMBER = 'number';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formatted number
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var FORMATTED_NUMBER = exports.FORMATTED_NUMBER = 'formatted-number';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formatted number
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var FORMATTED_NUMBER_EU = exports.FORMATTED_NUMBER_EU = 'formatted-number-eu';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Date
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var DATE = exports.DATE = 'date';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* IP address
|
|
||||||
* @type {String}
|
|
||||||
*/
|
|
||||||
var IP_ADDRESS = exports.IP_ADDRESS = 'ipaddress';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Default values
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Auto filter delay in milliseconds
|
|
||||||
* @type {Number}
|
|
||||||
*/
|
|
||||||
var AUTO_FILTER_DELAY = exports.AUTO_FILTER_DELAY = 750;
|
|
||||||
|
|
||||||
/***/ },
|
|
||||||
/* 8 */
|
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -3995,7 +3887,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}();
|
}();
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 9 */
|
/* 8 */
|
||||||
/***/ function(module, exports, __webpack_require__) {
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@ -4005,7 +3897,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.GridLayout = undefined;
|
exports.GridLayout = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -4013,7 +3905,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _string = __webpack_require__(5);
|
var _string = __webpack_require__(5);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -4568,7 +4460,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}(_feature.Feature);
|
}(_feature.Feature);
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 10 */
|
/* 9 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@ -4690,6 +4582,140 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
return Feature;
|
return Feature;
|
||||||
}();
|
}();
|
||||||
|
|
||||||
|
/***/ },
|
||||||
|
/* 10 */
|
||||||
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
/**
|
||||||
|
* Filter types
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Input filter type
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var INPUT = exports.INPUT = 'input';
|
||||||
|
/**
|
||||||
|
* Select filter type
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var SELECT = exports.SELECT = 'select';
|
||||||
|
/**
|
||||||
|
* Multiple select filter type
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var MULTIPLE = exports.MULTIPLE = 'multiple';
|
||||||
|
/**
|
||||||
|
* Checklist filter type
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var CHECKLIST = exports.CHECKLIST = 'checklist';
|
||||||
|
/**
|
||||||
|
* None filter type
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var NONE = exports.NONE = 'none';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Key codes
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enter key code
|
||||||
|
* @type {Number}
|
||||||
|
*/
|
||||||
|
var ENTER_KEY = exports.ENTER_KEY = 13;
|
||||||
|
/**
|
||||||
|
* Tab key code
|
||||||
|
* @type {Number}
|
||||||
|
*/
|
||||||
|
var TAB_KEY = exports.TAB_KEY = 9;
|
||||||
|
/**
|
||||||
|
* Escape key code
|
||||||
|
* @type {Number}
|
||||||
|
*/
|
||||||
|
var ESC_KEY = exports.ESC_KEY = 27;
|
||||||
|
/**
|
||||||
|
* Up arrow key code
|
||||||
|
* @type {Number}
|
||||||
|
*/
|
||||||
|
var UP_ARROW_KEY = exports.UP_ARROW_KEY = 38;
|
||||||
|
/**
|
||||||
|
* Down arrow key code
|
||||||
|
* @type {Number}
|
||||||
|
*/
|
||||||
|
var DOWN_ARROW_KEY = exports.DOWN_ARROW_KEY = 40;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HTML tags
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Header cell tag
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var HEADER_TAG = exports.HEADER_TAG = 'TH';
|
||||||
|
/**
|
||||||
|
* Cell tag
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var CELL_TAG = exports.CELL_TAG = 'TD';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Data types
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* String
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var STRING = exports.STRING = 'string';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var NUMBER = exports.NUMBER = 'number';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formatted number
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var FORMATTED_NUMBER = exports.FORMATTED_NUMBER = 'formatted-number';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formatted number
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var FORMATTED_NUMBER_EU = exports.FORMATTED_NUMBER_EU = 'formatted-number-eu';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Date
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var DATE = exports.DATE = 'date';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IP address
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
var IP_ADDRESS = exports.IP_ADDRESS = 'ipaddress';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default values
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto filter delay in milliseconds
|
||||||
|
* @type {Number}
|
||||||
|
*/
|
||||||
|
var AUTO_FILTER_DELAY = exports.AUTO_FILTER_DELAY = 750;
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 11 */
|
/* 11 */
|
||||||
/***/ function(module, exports, __webpack_require__) {
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
@ -4701,7 +4727,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.Loader = undefined;
|
exports.Loader = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -4709,7 +4735,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _root = __webpack_require__(2);
|
var _root = __webpack_require__(2);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -5093,7 +5119,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.PopupFilter = undefined;
|
exports.PopupFilter = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _types = __webpack_require__(4);
|
var _types = __webpack_require__(4);
|
||||||
|
|
||||||
|
@ -5101,7 +5127,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _event = __webpack_require__(1);
|
var _event = __webpack_require__(1);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -5500,7 +5526,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.Dropdown = undefined;
|
exports.Dropdown = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -5512,7 +5538,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _event = __webpack_require__(1);
|
var _event = __webpack_require__(1);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -6043,7 +6069,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.CheckList = undefined;
|
exports.CheckList = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -6057,7 +6083,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _types = __webpack_require__(4);
|
var _types = __webpack_require__(4);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -6645,7 +6671,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.RowsCounter = undefined;
|
exports.RowsCounter = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -6902,7 +6928,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.StatusBar = undefined;
|
exports.StatusBar = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _root = __webpack_require__(2);
|
var _root = __webpack_require__(2);
|
||||||
|
|
||||||
|
@ -7274,7 +7300,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -7282,7 +7308,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _event = __webpack_require__(1);
|
var _event = __webpack_require__(1);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -8243,7 +8269,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.ClearButton = undefined;
|
exports.ClearButton = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -8411,13 +8437,13 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.Help = undefined;
|
exports.Help = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
var _event = __webpack_require__(1);
|
var _event = __webpack_require__(1);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -8659,7 +8685,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.AlternateRows = undefined;
|
exports.AlternateRows = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -8843,13 +8869,13 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.NoResults = undefined;
|
exports.NoResults = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
var _types = __webpack_require__(4);
|
var _types = __webpack_require__(4);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -9098,7 +9124,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
exports.State = undefined;
|
exports.State = undefined;
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _hash = __webpack_require__(26);
|
var _hash = __webpack_require__(26);
|
||||||
|
|
||||||
|
|
121
dist/tablefilter/tf-1.js
vendored
121
dist/tablefilter/tf-1.js
vendored
|
@ -6,16 +6,16 @@ webpackJsonp([1],{
|
||||||
var map = {
|
var map = {
|
||||||
"./array": 15,
|
"./array": 15,
|
||||||
"./array.js": 15,
|
"./array.js": 15,
|
||||||
"./const": 7,
|
"./const": 10,
|
||||||
"./const.js": 7,
|
"./const.js": 10,
|
||||||
"./cookie": 28,
|
"./cookie": 28,
|
||||||
"./cookie.js": 28,
|
"./cookie.js": 28,
|
||||||
"./date": 435,
|
"./date": 435,
|
||||||
"./date.js": 435,
|
"./date.js": 435,
|
||||||
"./dom": 3,
|
"./dom": 3,
|
||||||
"./dom.js": 3,
|
"./dom.js": 3,
|
||||||
"./emitter": 8,
|
"./emitter": 7,
|
||||||
"./emitter.js": 8,
|
"./emitter.js": 7,
|
||||||
"./event": 1,
|
"./event": 1,
|
||||||
"./event.js": 1,
|
"./event.js": 1,
|
||||||
"./extensions/advancedGrid/adapterEzEditTable": 436,
|
"./extensions/advancedGrid/adapterEzEditTable": 436,
|
||||||
|
@ -32,8 +32,8 @@ webpackJsonp([1],{
|
||||||
"./extensions/sort/adapterSortabletable.js": 441,
|
"./extensions/sort/adapterSortabletable.js": 441,
|
||||||
"./extensions/sort/sort": 442,
|
"./extensions/sort/sort": 442,
|
||||||
"./extensions/sort/sort.js": 442,
|
"./extensions/sort/sort.js": 442,
|
||||||
"./feature": 10,
|
"./feature": 9,
|
||||||
"./feature.js": 10,
|
"./feature.js": 9,
|
||||||
"./modules/alternateRows": 23,
|
"./modules/alternateRows": 23,
|
||||||
"./modules/alternateRows.js": 23,
|
"./modules/alternateRows.js": 23,
|
||||||
"./modules/checkList": 17,
|
"./modules/checkList": 17,
|
||||||
|
@ -44,8 +44,8 @@ webpackJsonp([1],{
|
||||||
"./modules/dateType.js": 29,
|
"./modules/dateType.js": 29,
|
||||||
"./modules/dropdown": 14,
|
"./modules/dropdown": 14,
|
||||||
"./modules/dropdown.js": 14,
|
"./modules/dropdown.js": 14,
|
||||||
"./modules/gridLayout": 9,
|
"./modules/gridLayout": 8,
|
||||||
"./modules/gridLayout.js": 9,
|
"./modules/gridLayout.js": 8,
|
||||||
"./modules/hash": 26,
|
"./modules/hash": 26,
|
||||||
"./modules/hash.js": 26,
|
"./modules/hash.js": 26,
|
||||||
"./modules/help": 22,
|
"./modules/help": 22,
|
||||||
|
@ -324,11 +324,11 @@ webpackJsonp([1],{
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
var _root = __webpack_require__(2);
|
var _root = __webpack_require__(2);
|
||||||
|
|
||||||
|
@ -888,7 +888,7 @@ webpackJsonp([1],{
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -1272,7 +1272,7 @@ webpackJsonp([1],{
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -2054,7 +2054,7 @@ webpackJsonp([1],{
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _dom = __webpack_require__(3);
|
var _dom = __webpack_require__(3);
|
||||||
|
|
||||||
|
@ -2408,7 +2408,7 @@ webpackJsonp([1],{
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _feature = __webpack_require__(10);
|
var _feature = __webpack_require__(9);
|
||||||
|
|
||||||
var _types = __webpack_require__(4);
|
var _types = __webpack_require__(4);
|
||||||
|
|
||||||
|
@ -2418,7 +2418,7 @@ webpackJsonp([1],{
|
||||||
|
|
||||||
var _number = __webpack_require__(6);
|
var _number = __webpack_require__(6);
|
||||||
|
|
||||||
var _const = __webpack_require__(7);
|
var _const = __webpack_require__(10);
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
@ -2465,7 +2465,7 @@ webpackJsonp([1],{
|
||||||
* List of sort type per column basis
|
* List of sort type per column basis
|
||||||
* @type {Array}
|
* @type {Array}
|
||||||
*/
|
*/
|
||||||
_this.sortTypes = (0, _types.isArray)(opts.types) ? opts.types : [];
|
_this.sortTypes = (0, _types.isArray)(opts.types) ? opts.types : tf.colTypes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Column to be sorted at initialization, ie:
|
* Column to be sorted at initialization, ie:
|
||||||
|
@ -2571,10 +2571,14 @@ webpackJsonp([1],{
|
||||||
throw new Error('SortableTable class not found.');
|
throw new Error('SortableTable class not found.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add any date format if needed
|
||||||
|
var dateType = tf.feature('dateType');
|
||||||
|
dateType.addConfigFormats(this.sortTypes);
|
||||||
|
|
||||||
this.overrideSortableTable();
|
this.overrideSortableTable();
|
||||||
this.setSortTypes();
|
this.setSortTypes();
|
||||||
|
|
||||||
//Column sort at start
|
// Column sort at start
|
||||||
var sortColAtStart = adpt.sortColAtStart;
|
var sortColAtStart = adpt.sortColAtStart;
|
||||||
if (sortColAtStart) {
|
if (sortColAtStart) {
|
||||||
this.stt.sort(sortColAtStart[0], sortColAtStart[1]);
|
this.stt.sort(sortColAtStart[0], sortColAtStart[1]);
|
||||||
|
@ -2828,34 +2832,52 @@ webpackJsonp([1],{
|
||||||
|
|
||||||
var tf = this.tf,
|
var tf = this.tf,
|
||||||
sortTypes = this.sortTypes,
|
sortTypes = this.sortTypes,
|
||||||
_sortTypes = [],
|
_sortTypes = [];
|
||||||
dateType = tf.feature('dateType');
|
|
||||||
dateType.addConfigFormats(sortTypes);
|
|
||||||
|
|
||||||
for (var i = 0; i < tf.getCellsNb(); i++) {
|
for (var i = 0; i < tf.getCellsNb(); i++) {
|
||||||
var colType = void 0;
|
var colType = void 0;
|
||||||
|
|
||||||
if (sortTypes[i]) {
|
if (sortTypes[i]) {
|
||||||
colType = sortTypes[i];
|
colType = sortTypes[i];
|
||||||
if ((0, _types.isObj)(colType)) {
|
if ((0, _types.isObj)(colType)) {
|
||||||
if (colType.type === _const.DATE) {
|
if (colType.type === _const.DATE) {
|
||||||
colType = this._addDateType(i, sortTypes);
|
colType = this._addDateType(i, sortTypes);
|
||||||
|
} else if (colType.type === _const.NUMBER) {
|
||||||
|
var decimal = colType.decimal || tf.decimalSeparator;
|
||||||
|
colType = this._addNumberType(i, decimal);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
colType = colType.toLowerCase();
|
||||||
|
if (colType === _const.NONE) {
|
||||||
|
colType = 'None';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
colType = colType.toLowerCase();
|
|
||||||
if (colType === _const.NONE) {
|
|
||||||
colType = 'None';
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// resolve column types
|
colType = _const.STRING;
|
||||||
if (tf.hasType(i, [_const.NUMBER, _const.FORMATTED_NUMBER, _const.FORMATTED_NUMBER_EU, _const.IP_ADDRESS])) {
|
|
||||||
colType = tf.colTypes[i].toLowerCase();
|
|
||||||
} else if (tf.hasType(i, [_const.DATE])) {
|
|
||||||
colType = this._addDateType(i);
|
|
||||||
} else {
|
|
||||||
colType = _const.STRING;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
// if (sortTypes[i]) {
|
||||||
|
// colType = sortTypes[i];
|
||||||
|
// if (isObj(colType)) {
|
||||||
|
// if (colType.type === DATE) {
|
||||||
|
// colType = this._addDateType(i, sortTypes);
|
||||||
|
// }
|
||||||
|
// else if (colType.type === NUMBER) {
|
||||||
|
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// colType = colType.toLowerCase();
|
||||||
|
// if (colType === NONE) {
|
||||||
|
// colType = 'None';
|
||||||
|
// }
|
||||||
|
// } else { // resolve column types
|
||||||
|
// if (tf.hasType(i, [NUMBER/*, FORMATTED_NUMBER,
|
||||||
|
// FORMATTED_NUMBER_EU, IP_ADDRESS*/])) {
|
||||||
|
// colType = tf.colTypes[i].toLowerCase();
|
||||||
|
// } else if (tf.hasType(i, [DATE])) {
|
||||||
|
// colType = this._addDateType(i);
|
||||||
|
// } else {
|
||||||
|
// colType = STRING;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
_sortTypes.push(colType);
|
_sortTypes.push(colType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2865,10 +2887,10 @@ webpackJsonp([1],{
|
||||||
this.addSortType(_const.NUMBER, Number);
|
this.addSortType(_const.NUMBER, Number);
|
||||||
this.addSortType('caseinsensitivestring', SortableTable.toUpperCase);
|
this.addSortType('caseinsensitivestring', SortableTable.toUpperCase);
|
||||||
this.addSortType(_const.STRING);
|
this.addSortType(_const.STRING);
|
||||||
this.addSortType(_const.FORMATTED_NUMBER, usNumberConverter);
|
// this.addSortType(FORMATTED_NUMBER, usNumberConverter);
|
||||||
this.addSortType(_const.FORMATTED_NUMBER_EU, euNumberConverter);
|
// this.addSortType(FORMATTED_NUMBER_EU, euNumberConverter);
|
||||||
this.addSortType(_const.IP_ADDRESS, ipAddress, sortIP);
|
this.addSortType(_const.IP_ADDRESS, ipAddress, sortIP);
|
||||||
|
console.log(_sortTypes);
|
||||||
this.stt = new SortableTable(tf.tbl, _sortTypes);
|
this.stt = new SortableTable(tf.tbl, _sortTypes);
|
||||||
|
|
||||||
/*** external table headers adapter ***/
|
/*** external table headers adapter ***/
|
||||||
|
@ -2903,8 +2925,17 @@ webpackJsonp([1],{
|
||||||
var locale = dateType.getOptions(colIndex, types).locale || tf.locale;
|
var locale = dateType.getOptions(colIndex, types).locale || tf.locale;
|
||||||
var colType = _const.DATE + '-' + locale;
|
var colType = _const.DATE + '-' + locale;
|
||||||
|
|
||||||
this.addSortType(colType, function (dateStr) {
|
this.addSortType(colType, function (value) {
|
||||||
return dateType.parse(dateStr, locale);
|
return dateType.parse(value, locale);
|
||||||
|
});
|
||||||
|
return colType;
|
||||||
|
};
|
||||||
|
|
||||||
|
AdapterSortableTable.prototype._addNumberType = function _addNumberType(colIndex, decimal) {
|
||||||
|
var colType = _const.NUMBER + '-format' + (decimal === '.' ? '' : '-custom');
|
||||||
|
|
||||||
|
this.addSortType(colType, function (value) {
|
||||||
|
return (0, _number.parse)(value, decimal);
|
||||||
});
|
});
|
||||||
return colType;
|
return colType;
|
||||||
};
|
};
|
||||||
|
@ -2944,16 +2975,14 @@ webpackJsonp([1],{
|
||||||
}(_feature.Feature);
|
}(_feature.Feature);
|
||||||
|
|
||||||
//Converters
|
//Converters
|
||||||
|
// function usNumberConverter(s) {
|
||||||
|
// return parseNb(s, FORMATTED_NUMBER);
|
||||||
|
// }
|
||||||
|
// function euNumberConverter(s) {
|
||||||
|
// return parseNb(s, FORMATTED_NUMBER_EU);
|
||||||
|
// }
|
||||||
|
|
||||||
exports.default = AdapterSortableTable;
|
exports.default = AdapterSortableTable;
|
||||||
function usNumberConverter(s) {
|
|
||||||
return (0, _number.unformat)(s, _const.FORMATTED_NUMBER);
|
|
||||||
}
|
|
||||||
function euNumberConverter(s) {
|
|
||||||
return (0, _number.unformat)(s, _const.FORMATTED_NUMBER_EU);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ipAddress(value) {
|
function ipAddress(value) {
|
||||||
var vals = value.split('.');
|
var vals = value.split('.');
|
||||||
for (var x in vals) {
|
for (var x in vals) {
|
||||||
|
|
|
@ -2,10 +2,10 @@ import {Feature} from '../../feature';
|
||||||
import {isArray, isFn, isUndef, isObj} from '../../types';
|
import {isArray, isFn, isUndef, isObj} from '../../types';
|
||||||
import {createElm, elm, getText, tag} from '../../dom';
|
import {createElm, elm, getText, tag} from '../../dom';
|
||||||
import {addEvt} from '../../event';
|
import {addEvt} from '../../event';
|
||||||
import {unformat as unformatNb} from '../../number';
|
import {parse as parseNb} from '../../number';
|
||||||
import {
|
import {
|
||||||
NONE, CELL_TAG, HEADER_TAG, STRING, NUMBER, DATE, FORMATTED_NUMBER,
|
NONE, CELL_TAG, HEADER_TAG, STRING, NUMBER, DATE, /*FORMATTED_NUMBER,
|
||||||
FORMATTED_NUMBER_EU, IP_ADDRESS
|
FORMATTED_NUMBER_EU,*/ IP_ADDRESS
|
||||||
} from '../../const';
|
} from '../../const';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -44,7 +44,7 @@ export default class AdapterSortableTable extends Feature {
|
||||||
* List of sort type per column basis
|
* List of sort type per column basis
|
||||||
* @type {Array}
|
* @type {Array}
|
||||||
*/
|
*/
|
||||||
this.sortTypes = isArray(opts.types) ? opts.types : [];
|
this.sortTypes = isArray(opts.types) ? opts.types : tf.colTypes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Column to be sorted at initialization, ie:
|
* Column to be sorted at initialization, ie:
|
||||||
|
@ -148,10 +148,14 @@ export default class AdapterSortableTable extends Feature {
|
||||||
throw new Error('SortableTable class not found.');
|
throw new Error('SortableTable class not found.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add any date format if needed
|
||||||
|
let dateType = tf.feature('dateType');
|
||||||
|
dateType.addConfigFormats(this.sortTypes);
|
||||||
|
|
||||||
this.overrideSortableTable();
|
this.overrideSortableTable();
|
||||||
this.setSortTypes();
|
this.setSortTypes();
|
||||||
|
|
||||||
//Column sort at start
|
// Column sort at start
|
||||||
let sortColAtStart = adpt.sortColAtStart;
|
let sortColAtStart = adpt.sortColAtStart;
|
||||||
if (sortColAtStart) {
|
if (sortColAtStart) {
|
||||||
this.stt.sort(sortColAtStart[0], sortColAtStart[1]);
|
this.stt.sort(sortColAtStart[0], sortColAtStart[1]);
|
||||||
|
@ -393,34 +397,53 @@ export default class AdapterSortableTable extends Feature {
|
||||||
setSortTypes() {
|
setSortTypes() {
|
||||||
let tf = this.tf,
|
let tf = this.tf,
|
||||||
sortTypes = this.sortTypes,
|
sortTypes = this.sortTypes,
|
||||||
_sortTypes = [],
|
_sortTypes = [];
|
||||||
dateType = tf.feature('dateType');
|
|
||||||
dateType.addConfigFormats(sortTypes);
|
|
||||||
|
|
||||||
for (let i = 0; i < tf.getCellsNb(); i++) {
|
for (let i = 0; i < tf.getCellsNb(); i++) {
|
||||||
let colType;
|
let colType;
|
||||||
|
|
||||||
if (sortTypes[i]) {
|
if (sortTypes[i]) {
|
||||||
colType = sortTypes[i];
|
colType = sortTypes[i];
|
||||||
if (isObj(colType)) {
|
if (isObj(colType)) {
|
||||||
if (colType.type === DATE) {
|
if (colType.type === DATE) {
|
||||||
colType = this._addDateType(i, sortTypes);
|
colType = this._addDateType(i, sortTypes);
|
||||||
}
|
}
|
||||||
}
|
else if (colType.type === NUMBER) {
|
||||||
colType = colType.toLowerCase();
|
let decimal = colType.decimal || tf.decimalSeparator;
|
||||||
if (colType === NONE) {
|
colType = this._addNumberType(i, decimal);
|
||||||
colType = 'None';
|
}
|
||||||
}
|
|
||||||
} else { // resolve column types
|
|
||||||
if (tf.hasType(i, [NUMBER, FORMATTED_NUMBER,
|
|
||||||
FORMATTED_NUMBER_EU, IP_ADDRESS])) {
|
|
||||||
colType = tf.colTypes[i].toLowerCase();
|
|
||||||
} else if (tf.hasType(i, [DATE])) {
|
|
||||||
colType = this._addDateType(i);
|
|
||||||
} else {
|
} else {
|
||||||
colType = STRING;
|
colType = colType.toLowerCase();
|
||||||
|
if (colType === NONE) {
|
||||||
|
colType = 'None';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
colType = STRING;
|
||||||
}
|
}
|
||||||
|
// if (sortTypes[i]) {
|
||||||
|
// colType = sortTypes[i];
|
||||||
|
// if (isObj(colType)) {
|
||||||
|
// if (colType.type === DATE) {
|
||||||
|
// colType = this._addDateType(i, sortTypes);
|
||||||
|
// }
|
||||||
|
// else if (colType.type === NUMBER) {
|
||||||
|
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// colType = colType.toLowerCase();
|
||||||
|
// if (colType === NONE) {
|
||||||
|
// colType = 'None';
|
||||||
|
// }
|
||||||
|
// } else { // resolve column types
|
||||||
|
// if (tf.hasType(i, [NUMBER/*, FORMATTED_NUMBER,
|
||||||
|
// FORMATTED_NUMBER_EU, IP_ADDRESS*/])) {
|
||||||
|
// colType = tf.colTypes[i].toLowerCase();
|
||||||
|
// } else if (tf.hasType(i, [DATE])) {
|
||||||
|
// colType = this._addDateType(i);
|
||||||
|
// } else {
|
||||||
|
// colType = STRING;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
_sortTypes.push(colType);
|
_sortTypes.push(colType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -430,10 +453,10 @@ export default class AdapterSortableTable extends Feature {
|
||||||
this.addSortType(NUMBER, Number);
|
this.addSortType(NUMBER, Number);
|
||||||
this.addSortType('caseinsensitivestring', SortableTable.toUpperCase);
|
this.addSortType('caseinsensitivestring', SortableTable.toUpperCase);
|
||||||
this.addSortType(STRING);
|
this.addSortType(STRING);
|
||||||
this.addSortType(FORMATTED_NUMBER, usNumberConverter);
|
// this.addSortType(FORMATTED_NUMBER, usNumberConverter);
|
||||||
this.addSortType(FORMATTED_NUMBER_EU, euNumberConverter);
|
// this.addSortType(FORMATTED_NUMBER_EU, euNumberConverter);
|
||||||
this.addSortType(IP_ADDRESS, ipAddress, sortIP);
|
this.addSortType(IP_ADDRESS, ipAddress, sortIP);
|
||||||
|
console.log(_sortTypes);
|
||||||
this.stt = new SortableTable(tf.tbl, _sortTypes);
|
this.stt = new SortableTable(tf.tbl, _sortTypes);
|
||||||
|
|
||||||
/*** external table headers adapter ***/
|
/*** external table headers adapter ***/
|
||||||
|
@ -466,8 +489,17 @@ export default class AdapterSortableTable extends Feature {
|
||||||
let locale = dateType.getOptions(colIndex, types).locale || tf.locale;
|
let locale = dateType.getOptions(colIndex, types).locale || tf.locale;
|
||||||
let colType = `${DATE}-${locale}`;
|
let colType = `${DATE}-${locale}`;
|
||||||
|
|
||||||
this.addSortType(colType, (dateStr) => {
|
this.addSortType(colType, (value) => {
|
||||||
return dateType.parse(dateStr, locale);
|
return dateType.parse(value, locale);
|
||||||
|
});
|
||||||
|
return colType;
|
||||||
|
}
|
||||||
|
|
||||||
|
_addNumberType(colIndex, decimal) {
|
||||||
|
let colType = `${NUMBER}-format${decimal === '.' ? '' : '-custom'}`;
|
||||||
|
|
||||||
|
this.addSortType(colType, (value) => {
|
||||||
|
return parseNb(value, decimal);
|
||||||
});
|
});
|
||||||
return colType;
|
return colType;
|
||||||
}
|
}
|
||||||
|
@ -501,12 +533,12 @@ export default class AdapterSortableTable extends Feature {
|
||||||
}
|
}
|
||||||
|
|
||||||
//Converters
|
//Converters
|
||||||
function usNumberConverter(s) {
|
// function usNumberConverter(s) {
|
||||||
return unformatNb(s, FORMATTED_NUMBER);
|
// return parseNb(s, FORMATTED_NUMBER);
|
||||||
}
|
// }
|
||||||
function euNumberConverter(s) {
|
// function euNumberConverter(s) {
|
||||||
return unformatNb(s, FORMATTED_NUMBER_EU);
|
// return parseNb(s, FORMATTED_NUMBER_EU);
|
||||||
}
|
// }
|
||||||
|
|
||||||
function ipAddress(value) {
|
function ipAddress(value) {
|
||||||
let vals = value.split('.');
|
let vals = value.split('.');
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import {isNumber} from './types';
|
import {isNumber} from './types';
|
||||||
import {FORMATTED_NUMBER} from './const';
|
// import {FORMATTED_NUMBER} from './const';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a number for a formatted number
|
* Returns a number for a formatted number
|
||||||
|
@ -8,7 +8,7 @@ import {FORMATTED_NUMBER} from './const';
|
||||||
* 'formatted-number-eu'
|
* 'formatted-number-eu'
|
||||||
* @return {Number} Unformatted number
|
* @return {Number} Unformatted number
|
||||||
*/
|
*/
|
||||||
export const unformat = (value, format = FORMATTED_NUMBER) => {
|
export const parse = (value, decimal = '.') => {
|
||||||
// Return the value as-is if it's already a number
|
// Return the value as-is if it's already a number
|
||||||
if (isNumber(value)) {
|
if (isNumber(value)) {
|
||||||
return value;
|
return value;
|
||||||
|
@ -16,7 +16,7 @@ export const unformat = (value, format = FORMATTED_NUMBER) => {
|
||||||
|
|
||||||
// Build regex to strip out everything except digits, decimal point and
|
// Build regex to strip out everything except digits, decimal point and
|
||||||
// minus sign
|
// minus sign
|
||||||
let decimal = format !== FORMATTED_NUMBER ? ',' : '.';
|
// let decimal = format !== FORMATTED_NUMBER ? ',' : '.';
|
||||||
let regex = new RegExp('[^0-9-' + decimal + ']', ['g']);
|
let regex = new RegExp('[^0-9-' + decimal + ']', ['g']);
|
||||||
let unformatted = parseFloat(
|
let unformatted = parseFloat(
|
||||||
('' + value)
|
('' + value)
|
||||||
|
|
|
@ -8,7 +8,7 @@ import {isEmpty as isEmptyString} from './string';
|
||||||
import {
|
import {
|
||||||
isArray, isEmpty, isFn, isNumber, isObj, isString, isUndef
|
isArray, isEmpty, isFn, isNumber, isObj, isString, isUndef
|
||||||
} from './types';
|
} from './types';
|
||||||
import {unformat as unformatNb} from './number'
|
import {parse as parseNb} from './number'
|
||||||
|
|
||||||
import {root} from './root';
|
import {root} from './root';
|
||||||
import {Emitter} from './emitter';
|
import {Emitter} from './emitter';
|
||||||
|
@ -31,8 +31,8 @@ import {DateType} from './modules/dateType';
|
||||||
import {
|
import {
|
||||||
INPUT, SELECT, MULTIPLE, CHECKLIST, NONE,
|
INPUT, SELECT, MULTIPLE, CHECKLIST, NONE,
|
||||||
ENTER_KEY, TAB_KEY, ESC_KEY, UP_ARROW_KEY, DOWN_ARROW_KEY,
|
ENTER_KEY, TAB_KEY, ESC_KEY, UP_ARROW_KEY, DOWN_ARROW_KEY,
|
||||||
CELL_TAG, AUTO_FILTER_DELAY, NUMBER, DATE, FORMATTED_NUMBER,
|
CELL_TAG, AUTO_FILTER_DELAY, NUMBER, DATE/*, FORMATTED_NUMBER,
|
||||||
FORMATTED_NUMBER_EU
|
FORMATTED_NUMBER_EU*/
|
||||||
} from './const';
|
} from './const';
|
||||||
|
|
||||||
let doc = root.document;
|
let doc = root.document;
|
||||||
|
@ -1752,8 +1752,8 @@ export class TableFilter {
|
||||||
// search args re-init
|
// search args re-init
|
||||||
let searchArgs = this.getFiltersValue();
|
let searchArgs = this.getFiltersValue();
|
||||||
|
|
||||||
let numCellData;
|
let numData;
|
||||||
let nbFormat;
|
let nbFormat = this.decimalSeparator;
|
||||||
let re_le = new RegExp(this.leOperator),
|
let re_le = new RegExp(this.leOperator),
|
||||||
re_ge = new RegExp(this.geOperator),
|
re_ge = new RegExp(this.geOperator),
|
||||||
re_l = new RegExp(this.lwOperator),
|
re_l = new RegExp(this.lwOperator),
|
||||||
|
@ -1903,49 +1903,62 @@ export class TableFilter {
|
||||||
|
|
||||||
else {
|
else {
|
||||||
//first numbers need to be unformatted
|
//first numbers need to be unformatted
|
||||||
|
// if (this.hasType(colIdx, [NUMBER])) {
|
||||||
|
// numData = Number(cellData);
|
||||||
|
// }
|
||||||
|
// else if (this.hasType(colIdx,
|
||||||
|
// [FORMATTED_NUMBER, FORMATTED_NUMBER_EU])) {
|
||||||
|
// numData =unformatNb(cellData, this.colTypes[colIdx]);
|
||||||
|
// nbFormat = this.colTypes[colIdx];
|
||||||
|
// } else {
|
||||||
|
// if (this.thousandsSeparator === ',' &&
|
||||||
|
// this.decimalSeparator === '.') {
|
||||||
|
// nbFormat = FORMATTED_NUMBER;
|
||||||
|
// } else {
|
||||||
|
// nbFormat = FORMATTED_NUMBER_EU;
|
||||||
|
// }
|
||||||
|
// numData = unformatNb(cellData, nbFormat);
|
||||||
|
// }
|
||||||
|
|
||||||
if (this.hasType(colIdx, [NUMBER])) {
|
if (this.hasType(colIdx, [NUMBER])) {
|
||||||
numCellData = Number(cellData);
|
let colType = this.colTypes[colIdx];
|
||||||
}
|
if (colType.hasOwnProperty('decimal')) {
|
||||||
else if (this.hasType(colIdx,
|
nbFormat = colType.decimal;
|
||||||
[FORMATTED_NUMBER, FORMATTED_NUMBER_EU])) {
|
|
||||||
numCellData = unformatNb(cellData, this.colTypes[colIdx]);
|
|
||||||
nbFormat = this.colTypes[colIdx];
|
|
||||||
} else {
|
|
||||||
if (this.thousandsSeparator === ',' &&
|
|
||||||
this.decimalSeparator === '.') {
|
|
||||||
nbFormat = FORMATTED_NUMBER;
|
|
||||||
} else {
|
|
||||||
nbFormat = FORMATTED_NUMBER_EU;
|
|
||||||
}
|
}
|
||||||
numCellData = unformatNb(cellData, nbFormat);
|
// numData = Number(cellData) ||parseNb(cellData, nbFormat);
|
||||||
}
|
}
|
||||||
|
// else {
|
||||||
|
// numData = Number(cellData) ||
|
||||||
|
// parseNb(cellData, tf.decimalSeparator);
|
||||||
|
// }
|
||||||
|
numData = Number(cellData) || parseNb(cellData, nbFormat);
|
||||||
|
|
||||||
// first checks if there is any operator (<,>,<=,>=,!,*,=,{,},
|
// first checks if there is any operator (<,>,<=,>=,!,*,=,{,},
|
||||||
// rgx:)
|
// rgx:)
|
||||||
// lower equal
|
// lower equal
|
||||||
if (hasLE) {
|
if (hasLE) {
|
||||||
occurence = numCellData <= unformatNb(
|
occurence = numData <= parseNb(
|
||||||
sA.replace(re_le, ''),
|
sA.replace(re_le, ''),
|
||||||
nbFormat
|
nbFormat
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
//greater equal
|
//greater equal
|
||||||
else if (hasGE) {
|
else if (hasGE) {
|
||||||
occurence = numCellData >= unformatNb(
|
occurence = numData >= parseNb(
|
||||||
sA.replace(re_ge, ''),
|
sA.replace(re_ge, ''),
|
||||||
nbFormat
|
nbFormat
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
//lower
|
//lower
|
||||||
else if (hasLO) {
|
else if (hasLO) {
|
||||||
occurence = numCellData < unformatNb(
|
occurence = numData < parseNb(
|
||||||
sA.replace(re_l, ''),
|
sA.replace(re_l, ''),
|
||||||
nbFormat
|
nbFormat
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
//greater
|
//greater
|
||||||
else if (hasGR) {
|
else if (hasGR) {
|
||||||
occurence = numCellData > unformatNb(
|
occurence = numData > parseNb(
|
||||||
sA.replace(re_g, ''),
|
sA.replace(re_g, ''),
|
||||||
nbFormat
|
nbFormat
|
||||||
);
|
);
|
||||||
|
@ -2001,16 +2014,17 @@ export class TableFilter {
|
||||||
} else {
|
} else {
|
||||||
// If numeric type data, perform a strict equality test and
|
// If numeric type data, perform a strict equality test and
|
||||||
// fallback to unformatted number string comparison
|
// fallback to unformatted number string comparison
|
||||||
if (numCellData &&
|
if (numData &&
|
||||||
this.hasType(colIdx,
|
this.hasType(colIdx,
|
||||||
[NUMBER, FORMATTED_NUMBER, FORMATTED_NUMBER_EU]) &&
|
[NUMBER
|
||||||
|
/*, FORMATTED_NUMBER, FORMATTED_NUMBER_EU*/]) &&
|
||||||
!this.singleSearchFlt) {
|
!this.singleSearchFlt) {
|
||||||
// unformatNb can return 0 for strings which are not
|
// parseNb can return 0 for strings which are not
|
||||||
// formatted numbers, in that case return the original
|
// formatted numbers, in that case return the original
|
||||||
// string. TODO: handle this in unformatNb
|
// string. TODO: handle this in parseNb
|
||||||
sA = unformatNb(sA, nbFormat) || sA;
|
sA = parseNb(sA, nbFormat) || sA;
|
||||||
occurence = numCellData === sA ||
|
occurence = numData === sA ||
|
||||||
contains(sA.toString(), numCellData.toString(),
|
contains(sA.toString(), numData.toString(),
|
||||||
this.isExactMatch(colIdx), this.caseSensitive);
|
this.isExactMatch(colIdx), this.caseSensitive);
|
||||||
} else {
|
} else {
|
||||||
// Finally test search term is contained in cell data
|
// Finally test search term is contained in cell data
|
||||||
|
@ -2165,10 +2179,17 @@ export class TableFilter {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
let cellData = this.getCellData(cell[j]);
|
let cellData = this.getCellData(cell[j]);
|
||||||
let nbFormat = this.hasType(colIndex,
|
// let nbFormat = this.hasType(colIndex,
|
||||||
[FORMATTED_NUMBER, FORMATTED_NUMBER_EU]) ?
|
// [FORMATTED_NUMBER, FORMATTED_NUMBER_EU]) ?
|
||||||
this.colTypes[colIndex] : undefined;
|
// this.colTypes[colIndex] : undefined;
|
||||||
let data = num ? unformatNb(cellData, nbFormat) : cellData;
|
let decimal = this.decimalSeparator;
|
||||||
|
if (this.hasType(colIndex, [NUMBER])) {
|
||||||
|
let colType = this.colTypes[colIndex];
|
||||||
|
if (colType.hasOwnProperty('decimal')) {
|
||||||
|
decimal = colType.decimal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let data = num ? parseNb(cellData, decimal) : cellData;
|
||||||
colValues.push(data);
|
colValues.push(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,9 @@ var tfConfig = {
|
||||||
name: 'sort',
|
name: 'sort',
|
||||||
types: [
|
types: [
|
||||||
'number', 'string', 'string',
|
'number', 'string', 'string',
|
||||||
'formatted-number', 'none', 'string'
|
{ type: 'number', decimal: '.' },
|
||||||
|
// 'number',
|
||||||
|
'none', 'string'
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -78,7 +78,11 @@ var tfConfig = {
|
||||||
'string', 'string', 'string',
|
'string', 'string', 'string',
|
||||||
{
|
{
|
||||||
type: 'number', decimal: ',', thousands: '.'
|
type: 'number', decimal: ',', thousands: '.'
|
||||||
}, 'formatted-number', 'string',
|
},
|
||||||
|
{
|
||||||
|
type: 'number', decimal: '.', thousands: ','
|
||||||
|
},
|
||||||
|
'string',
|
||||||
{
|
{
|
||||||
type: 'date', locale: 'en',
|
type: 'date', locale: 'en',
|
||||||
format: ['{dd}/{MM}/{yyyy}', '{dd}-{MM}-{yyyy|yy}']
|
format: ['{dd}/{MM}/{yyyy}', '{dd}-{MM}-{yyyy|yy}']
|
||||||
|
|
Loading…
Reference in a new issue