Fix class name registering

This commit is contained in:
koalyptus 2019-02-10 23:14:46 +11:00
parent 87ee312fc5
commit 34c56e5765
21 changed files with 41 additions and 18314 deletions

514
dist/starter.html vendored
View File

@ -1,514 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>tablefilter v0.6.76 - Starter</title>
</head>
<body>
<h1>tablefilter v0.6.76</h1>
<table id="demo">
<thead>
<tr>
<th>country</th>
<th>iso</th>
<th>year</th>
<th>POP</th>
<th>XRAT</th>
<th>PPP</th>
<th>cgdp</th>
<th>cc</th>
<th>ci</th>
</tr>
</thead>
<tbody>
<tr>
<td>Benin</td>
<td>BEN</td>
<td>1998</td>
<td>5950.33</td>
<td>589.9517822</td>
<td>190.95</td>
<td>1178.46</td>
<td>90.98</td>
<td>7.55</td>
</tr>
<tr>
<td>Benin</td>
<td>BEN</td>
<td>1999</td>
<td>6109.53</td>
<td>615.6990967</td>
<td>200.19</td>
<td>1174.90</td>
<td>92.61</td>
<td>7.86</td>
</tr>
<tr>
<td>Benin</td>
<td>BEN</td>
<td>2000</td>
<td>6272.00</td>
<td>711.9763184</td>
<td>200.61</td>
<td>1224.74</td>
<td>92.27</td>
<td>8.25</td>
</tr>
<tr>
<td>Burkina Faso</td>
<td>BFA</td>
<td>1994</td>
<td>9755.03</td>
<td>555.2047119</td>
<td>125.76</td>
<td>838.76</td>
<td>79.81</td>
<td>6.57</td>
</tr>
<tr>
<td>Burkina Faso</td>
<td>BFA</td>
<td>1995</td>
<td>9988.00</td>
<td>499.148407</td>
<td>136.65</td>
<td>860.89</td>
<td>80.41</td>
<td>9.29</td>
</tr>
<tr>
<td>Burkina Faso</td>
<td>BFA</td>
<td>1996</td>
<td>10225.00</td>
<td>511.5523987</td>
<td>144.18</td>
<td>881.11</td>
<td>80.40</td>
<td>12.12</td>
</tr>
<tr>
<td>Burkina Faso</td>
<td>BFA</td>
<td>1997</td>
<td>10473.53</td>
<td>583.6693726</td>
<td>141.78</td>
<td>899.01</td>
<td>76.94</td>
<td>14.94</td>
</tr>
<tr>
<td>Russia</td>
<td>RUS</td>
<td>1998</td>
<td>146899.01</td>
<td>9.705082893</td>
<td>2.64</td>
<td>7086.39</td>
<td>67.73</td>
<td>9.20</td>
</tr>
<tr>
<td>Russia</td>
<td>RUS</td>
<td>1999</td>
<td>146308.99</td>
<td>24.6199398</td>
<td>4.03</td>
<td>8074.70</td>
<td>57.35</td>
<td>8.81</td>
</tr>
<tr>
<td>Russia</td>
<td>RUS</td>
<td>2000</td>
<td>145555.01</td>
<td>28.12916946</td>
<td>4.85</td>
<td>9995.91</td>
<td>54.74</td>
<td>8.79</td>
</tr>
<tr>
<td>Rwanda</td>
<td>RWA</td>
<td>1994</td>
<td>6230.00</td>
<td>194.517</td>
<td>50.39</td>
<td>529.48</td>
<td>132.16</td>
<td>4.48</td>
</tr>
<tr>
<td>Rwanda</td>
<td>RWA</td>
<td>1995</td>
<td>6400.00</td>
<td>262.1975098</td>
<td>70.67</td>
<td>746.34</td>
<td>92.77</td>
<td>3.08</td>
</tr>
<tr>
<td>Rwanda</td>
<td>RWA</td>
<td>1996</td>
<td>6727.00</td>
<td>306.8200073</td>
<td>77.90</td>
<td>823.25</td>
<td>89.71</td>
<td>3.21</td>
</tr>
<tr>
<td>Rwanda</td>
<td>RWA</td>
<td>1997</td>
<td>7895.18</td>
<td>301.5297852</td>
<td>84.13</td>
<td>847.79</td>
<td>91.44</td>
<td>3.72</td>
</tr>
<tr>
<td>Rwanda</td>
<td>RWA</td>
<td>1998</td>
<td>8105.00</td>
<td>312.3140869</td>
<td>85.32</td>
<td>914.22</td>
<td>89.34</td>
<td>4.22</td>
</tr>
<tr>
<td>El Salvador</td>
<td>SLV</td>
<td>1995</td>
<td>5669.00</td>
<td>8.754583359</td>
<td>3.54</td>
<td>4143.59</td>
<td>89.31</td>
<td>10.35</td>
</tr>
<tr>
<td>El Salvador</td>
<td>SLV</td>
<td>1996</td>
<td>5798.00</td>
<td>8.755000114</td>
<td>3.69</td>
<td>4235.79</td>
<td>88.77</td>
<td>7.79</td>
</tr>
<tr>
<td>El Salvador</td>
<td>SLV</td>
<td>1997</td>
<td>5911.00</td>
<td>8.756250381</td>
<td>3.74</td>
<td>4408.41</td>
<td>87.05</td>
<td>7.90</td>
</tr>
<tr>
<td>Slovak Republic</td>
<td>SVK</td>
<td>2000</td>
<td>5401.00</td>
<td>46.0352</td>
<td>13.02</td>
<td>12618.53</td>
<td>52.22</td>
<td>24.78</td>
</tr>
<tr>
<td>Slovenia</td>
<td>SVN</td>
<td>1994</td>
<td>1988.90</td>
<td>128.8085938</td>
<td>79.97</td>
<td>11662.12</td>
<td>53.21</td>
<td>19.87</td>
</tr>
<tr>
<td>Slovenia</td>
<td>SVN</td>
<td>1995</td>
<td>1990.00</td>
<td>118.5185013</td>
<td>89.03</td>
<td>12574.96</td>
<td>54.46</td>
<td>23.11</td>
</tr>
<tr>
<td>Slovenia</td>
<td>SVN</td>
<td>1996</td>
<td>1991.00</td>
<td>135.3643036</td>
<td>97.27</td>
<td>13151.51</td>
<td>54.32</td>
<td>23.23</td>
</tr>
<tr>
<td>Slovenia</td>
<td>SVN</td>
<td>1997</td>
<td>1985.96</td>
<td>159.6882935</td>
<td>103.96</td>
<td>14143.02</td>
<td>53.24</td>
<td>24.14</td>
</tr>
<tr>
<td>Slovenia</td>
<td>SVN</td>
<td>1998</td>
<td>1982.60</td>
<td>166.134201</td>
<td>108.93</td>
<td>15067.34</td>
<td>52.82</td>
<td>25.35</td>
</tr>
<tr>
<td>Zambia</td>
<td>ZMB</td>
<td>1994</td>
<td>8740.72</td>
<td>669.3706055</td>
<td>307.48</td>
<td>834.19</td>
<td>75.43</td>
<td>9.86</td>
</tr>
<tr>
<td>Zambia</td>
<td>ZMB</td>
<td>1995</td>
<td>8980.00</td>
<td>864.1192017</td>
<td>402.40</td>
<td>829.37</td>
<td>76.55</td>
<td>10.31</td>
</tr>
<tr>
<td>Zambia</td>
<td>ZMB</td>
<td>1996</td>
<td>9214.40</td>
<td>1207.900024</td>
<td>515.01</td>
<td>838.05</td>
<td>78.74</td>
<td>10.99</td>
</tr>
<tr>
<td>Zambia</td>
<td>ZMB</td>
<td>1997</td>
<td>9443.21</td>
<td>1314.498047</td>
<td>596.97</td>
<td>851.47</td>
<td>77.59</td>
<td>12.15</td>
</tr>
<tr>
<td>Zambia</td>
<td>ZMB</td>
<td>1998</td>
<td>9665.71</td>
<td>1862.06897</td>
<td>744.91</td>
<td>800.69</td>
<td>85.12</td>
<td>13.75</td>
</tr>
<tr>
<td>Zambia</td>
<td>ZMB</td>
<td>1999</td>
<td>9881.21</td>
<td>2388.019043</td>
<td>941.87</td>
<td>765.24</td>
<td>91.82</td>
<td>15.30</td>
</tr>
<tr>
<td>Zambia</td>
<td>ZMB</td>
<td>2000</td>
<td>10089.00</td>
<td>3110.843994</td>
<td>1157.63</td>
<td>840.97</td>
<td>86.33</td>
<td>15.38</td>
</tr>
<tr>
<td>Zimbabwe</td>
<td>ZWE</td>
<td>1994</td>
<td>10775.35</td>
<td>8.151538849</td>
<td>2.01</td>
<td>2586.84</td>
<td>60.10</td>
<td>18.53</td>
</tr>
<tr>
<td>Zimbabwe</td>
<td>ZWE</td>
<td>1995</td>
<td>11011.00</td>
<td>8.66537571</td>
<td>2.15</td>
<td>2603.37</td>
<td>66.89</td>
<td>15.03</td>
</tr>
<tr>
<td>Zimbabwe</td>
<td>ZWE</td>
<td>1996</td>
<td>11242.16</td>
<td>10.00234985</td>
<td>2.64</td>
<td>2860.23</td>
<td>72.06</td>
<td>11.32</td>
</tr>
<tr>
<td>Zimbabwe</td>
<td>ZWE</td>
<td>1997</td>
<td>11923.52</td>
<td>12.11128998</td>
<td>3.17</td>
<td>2727.06</td>
<td>82.82</td>
<td>11.01</td>
</tr>
<tr>
<td>Zimbabwe</td>
<td>ZWE</td>
<td>1998</td>
<td>12153.85</td>
<td>23.67910957</td>
<td>4.06</td>
<td>2799.85</td>
<td>77.66</td>
<td>10.75</td>
</tr>
<tr>
<td>Zimbabwe</td>
<td>ZWE</td>
<td>1999</td>
<td>12388.32</td>
<td>38.30120087</td>
<td>6.12</td>
<td>2770.48</td>
<td>76.89</td>
<td>10.73</td>
</tr>
<tr>
<td>Zimbabwe</td>
<td>ZWE</td>
<td>2000</td>
<td>12627.00</td>
<td>44.41791916</td>
<td>9.48</td>
<td>2607.03</td>
<td>69.23</td>
<td>8.62</td>
</tr>
</tbody>
</table>
<script src="tablefilter/tablefilter.js"></script>
<script data-config>
var filtersConfig = {
base_path: 'tablefilter/',
col_1: 'select',
col_2: 'select',
col_3: 'select',
alternate_rows: true,
rows_counter: true,
btn_reset: true,
loader: true,
status_bar: true,
mark_active_columns: true,
highlight_keywords: true,
col_types: [
'string', 'string', 'number',
'number', 'number', 'number',
'number', 'number', 'number'
],
custom_options: {
cols:[3],
texts: [[
'0 - 25 000',
'100 000 - 1 500 000'
]],
values: [[
'>0 && <=25000',
'>100000 && <=1500000'
]],
sorts: [false]
},
col_widths: [
'150px', '100px', '100px',
'100px', '100px', '100px',
'70px', '60px', '60px'
],
extensions:[{ name: 'sort' }]
};
var tf = new TableFilter('demo', filtersConfig);
tf.init();
</script>
<pre></pre>
<!--
DO NOT COPY: NOT PART OF TABLEFILTER
-->
<script>
var configs = document.querySelectorAll('script[data-config]');
var pre = document.body.getElementsByTagName('pre')[0];
[].forEach.call(configs, function(config) {
if(pre){
pre.innerHTML +=
config.innerHTML.replace('<', '&lt;').replace('>', '&gt;');
}
});
</script>
<!-- -->
</body>
</html>

View File

@ -102,7 +102,7 @@ return /******/ (function(modules) { // webpackBootstrap
/******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ }
/******/ script.src = __webpack_require__.p + "tf-" + ({}[chunkId]||chunkId) + "-" + {"0":"090f7cf765d85d916b67"}[chunkId] + ".js";
/******/ script.src = __webpack_require__.p + "tf-" + ({}[chunkId]||chunkId) + "-" + {"0":"d95430c357ebd060de71"}[chunkId] + ".js";
/******/ var timeout = setTimeout(function(){
/******/ onScriptComplete({ type: 'timeout', target: script });
/******/ }, 120000);
@ -15623,7 +15623,7 @@ var has = function has(arr, val, caseSensitive) {
/*!**********************!*\
!*** ./src/const.js ***!
\**********************/
/*! exports provided: INPUT, SELECT, MULTIPLE, CHECKLIST, NONE, ENTER_KEY, TAB_KEY, ESC_KEY, UP_ARROW_KEY, DOWN_ARROW_KEY, HEADER_TAG, CELL_TAG, STRING, NUMBER, FORMATTED_NUMBER, DATE, IP_ADDRESS, AUTO_FILTER_DELAY, FEATURES */
/*! exports provided: INPUT, SELECT, MULTIPLE, CHECKLIST, NONE, ENTER_KEY, TAB_KEY, ESC_KEY, UP_ARROW_KEY, DOWN_ARROW_KEY, HEADER_TAG, CELL_TAG, STRING, NUMBER, FORMATTED_NUMBER, DATE, IP_ADDRESS, AUTO_FILTER_DELAY */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@ -15646,23 +15646,6 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DATE", function() { return DATE; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "IP_ADDRESS", function() { return IP_ADDRESS; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AUTO_FILTER_DELAY", function() { return AUTO_FILTER_DELAY; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FEATURES", function() { return FEATURES; });
// import {DateType} from './modules/dateType';
// import {Help} from './modules/help';
// import {State} from './modules/state';
// import {GridLayout} from './modules/gridLayout';
// import {Loader} from './modules/loader';
// import {HighlightKeyword} from './modules/highlightKeywords';
// import {PopupFilter} from './modules/popupFilter';
// import {MarkActiveColumns} from './modules/markActiveColumns';
// import {RowsCounter} from './modules/rowsCounter';
// import {StatusBar} from './modules/statusBar';
// import {ClearButton} from './modules/clearButton';
// import {AlternateRows} from './modules/alternateRows';
// import {NoResults} from './modules/noResults';
// import {Paging} from './modules/paging';
// import {Toolbar} from './modules/toolbar';
/**
* Filter types
*/
@ -15790,78 +15773,6 @@ var IP_ADDRESS = 'ipaddress';
*/
var AUTO_FILTER_DELAY = 750;
/**
* TableFilter features definitions
* @type {Array}
*/
var FEATURES = []; // export const FEATURES = {
// dateType: {
// class: DateType,
// name: 'dateType'
// },
// help: {
// class: Help,
// name: 'help',
// enforce: true
// },
// state: {
// class: State,
// name: 'state'
// },
// markActiveColumns: {
// class: MarkActiveColumns,
// name: 'markActiveColumns'
// },
// gridLayout: {
// class: GridLayout,
// name: 'gridLayout'
// },
// loader: {
// class: Loader,
// name: 'loader'
// },
// highlightKeyword: {
// class: HighlightKeyword,
// name: 'highlightKeyword',
// property: 'highlightKeywords'
// },
// popupFilter: {
// class: PopupFilter,
// name: 'popupFilter',
// property: 'popupFilters'
// },
// rowsCounter: {
// class: RowsCounter,
// name: 'rowsCounter'
// },
// statusBar: {
// class: StatusBar,
// name: 'statusBar'
// },
// clearButton: {
// class: ClearButton,
// name: 'clearButton',
// property: 'btnReset'
// },
// alternateRows: {
// class: AlternateRows,
// name: 'alternateRows'
// },
// noResults: {
// class: NoResults,
// name: 'noResults'
// },
// paging: {
// class: Paging,
// name: 'paging'
// },
// toolbar: {
// class: Toolbar,
// name: 'toolbar',
// enforce: true
// }
// };
/***/ }),
@ -16450,13 +16361,12 @@ function () {
this.tf = tf;
/**
* Feature name, retrieved from alternate class name if found or from
* camelised class name as per TableFilter convention
* Feature name is the camelised class name as per TableFilter's
* convention
* @type {String}
*/
this.feature = Object(_settings__WEBPACK_IMPORTED_MODULE_0__["defaultsStr"])(cls.meta.altName, Object(_string__WEBPACK_IMPORTED_MODULE_1__["toCamelCase"])(cls.name));
cls.meta.name = this.feature;
this.feature = Object(_string__WEBPACK_IMPORTED_MODULE_1__["toCamelCase"])(cls.name);
/**
* TableFilter feature setting
* @type {Boolean}
@ -16480,7 +16390,9 @@ function () {
* @type {Boolean}
*/
this.initialized = false;
this.initialized = false; // store resolved feature name
cls.meta.name = this.feature;
/** Subscribe to destroy event */
this.emitter.on(['destroy'], function () {
@ -19660,6 +19572,7 @@ function () {
}(); // TODO: remove as soon as feature name is fixed
HighlightKeyword.meta = {
name: 'highlightKeyword',
altName: 'highlightKeywords'
};
@ -24147,7 +24060,7 @@ function () {
* @type {String}
*/
this.version = '0.6.77';
this.version = '0.6.78';
/**
* Current year
* @type {Number}
@ -25007,11 +24920,9 @@ function () {
* @private
*/
this.ExtRegistry = {}; // conditionally instantiate required features
this.ExtRegistry = {}; // instantiate toolbar ui component as other components depend on it
this.instantiateFeatures( // //Object.keys(FEATURES).map((item) => FEATURES[item])
// //FEATURES
[_modules_toolbar__WEBPACK_IMPORTED_MODULE_24__["Toolbar"]]);
this.instantiateFeatures([_modules_toolbar__WEBPACK_IMPORTED_MODULE_24__["Toolbar"]]);
}
/**
* Initialise features and layout
@ -25032,20 +24943,9 @@ function () {
var Mod = this.Mod;
var inpclass; //loads theme
this.loadThemes(); // const { dateType, help, state, markActiveColumns, gridLayout, loader,
// highlightKeyword, popupFilter, rowsCounter, statusBar, clearButton,
// alternateRows, noResults, paging, toolbar } = FEATURES;
//explicitly initialise features in given order
this.loadThemes(); //explicitly initialise features in given order
this.initFeatures([// dateType,
// help,
// state,
// markActiveColumns,
// gridLayout,
// loader,
// highlightKeyword,
// popupFilter
_modules_dateType__WEBPACK_IMPORTED_MODULE_10__["DateType"], _modules_help__WEBPACK_IMPORTED_MODULE_11__["Help"], _modules_state__WEBPACK_IMPORTED_MODULE_12__["State"], _modules_markActiveColumns__WEBPACK_IMPORTED_MODULE_17__["MarkActiveColumns"], _modules_gridLayout__WEBPACK_IMPORTED_MODULE_13__["GridLayout"], _modules_loader__WEBPACK_IMPORTED_MODULE_14__["Loader"], _modules_highlightKeywords__WEBPACK_IMPORTED_MODULE_15__["HighlightKeyword"], _modules_popupFilter__WEBPACK_IMPORTED_MODULE_16__["PopupFilter"]]); //filters grid is not generated
this.initFeatures([_modules_dateType__WEBPACK_IMPORTED_MODULE_10__["DateType"], _modules_help__WEBPACK_IMPORTED_MODULE_11__["Help"], _modules_state__WEBPACK_IMPORTED_MODULE_12__["State"], _modules_markActiveColumns__WEBPACK_IMPORTED_MODULE_17__["MarkActiveColumns"], _modules_gridLayout__WEBPACK_IMPORTED_MODULE_13__["GridLayout"], _modules_loader__WEBPACK_IMPORTED_MODULE_14__["Loader"], _modules_highlightKeywords__WEBPACK_IMPORTED_MODULE_15__["HighlightKeyword"], _modules_popupFilter__WEBPACK_IMPORTED_MODULE_16__["PopupFilter"]]); //filters grid is not generated
if (!this.fltGrid) {
this._initNoFilters();
@ -25111,14 +25011,7 @@ function () {
this.setExcludeRows();
}
this.initFeatures([// rowsCounter,
// statusBar,
// clearButton,
// alternateRows,
// noResults,
// paging,
// toolbar
_modules_rowsCounter__WEBPACK_IMPORTED_MODULE_18__["RowsCounter"], _modules_statusBar__WEBPACK_IMPORTED_MODULE_19__["StatusBar"], _modules_clearButton__WEBPACK_IMPORTED_MODULE_20__["ClearButton"], _modules_alternateRows__WEBPACK_IMPORTED_MODULE_21__["AlternateRows"], _modules_noResults__WEBPACK_IMPORTED_MODULE_22__["NoResults"], _modules_paging__WEBPACK_IMPORTED_MODULE_23__["Paging"], _modules_toolbar__WEBPACK_IMPORTED_MODULE_24__["Toolbar"]]);
this.initFeatures([_modules_rowsCounter__WEBPACK_IMPORTED_MODULE_18__["RowsCounter"], _modules_statusBar__WEBPACK_IMPORTED_MODULE_19__["StatusBar"], _modules_clearButton__WEBPACK_IMPORTED_MODULE_20__["ClearButton"], _modules_alternateRows__WEBPACK_IMPORTED_MODULE_21__["AlternateRows"], _modules_noResults__WEBPACK_IMPORTED_MODULE_22__["NoResults"], _modules_paging__WEBPACK_IMPORTED_MODULE_23__["Paging"], _modules_toolbar__WEBPACK_IMPORTED_MODULE_24__["Toolbar"]]);
this.setColWidths(); //TF css class is added to table
if (!this.gridLayout) {
@ -25363,25 +25256,15 @@ function () {
var _this5 = this;
var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
// features.forEach((feature) => {
// // TODO: remove the property field.
// // Due to naming convention inconsistencies, a `property`
// // field is added to allow a conditional instanciation based
// // on that property on TableFilter, if supplied.
// feature.property = feature.property || feature.name;
// if (!this.hasConfig || this[feature.property] === true ||
// feature.enforce === true) {
// let {class: Cls, name} = feature;
// this.Mod[name] = this.Mod[name] || new Cls(this);
// }
// });
features.forEach(function (featureCls) {
var Cls = featureCls;
var inst = new Cls(_this5);
var meta = Cls.meta;
var name = meta.name;
var name = meta.name,
altName = meta.altName;
console.log(name, altName);
if (!_this5.hasConfig || _this5[name] === true || Boolean(meta.alwaysInstantiate)) {
if (!_this5.hasConfig || _this5[altName || name] === true || Boolean(meta.alwaysInstantiate)) {
_this5.Mod[name] = _this5.Mod[name] || inst;
}
});
@ -25398,13 +25281,6 @@ function () {
var _this6 = this;
var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
// features.forEach((feature) => {
// let {property, name} = feature;
// if (this[property] === true && this.Mod[name]) {
// this.Mod[name].init();
// }
// });
// this.instantiateFeatures(features);
features.forEach(function (featureCls) {
_this6.instantiateFeatures([featureCls]);

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

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

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

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

File diff suppressed because one or more lines are too long

View File

@ -1,19 +1,3 @@
// import {DateType} from './modules/dateType';
// import {Help} from './modules/help';
// import {State} from './modules/state';
// import {GridLayout} from './modules/gridLayout';
// import {Loader} from './modules/loader';
// import {HighlightKeyword} from './modules/highlightKeywords';
// import {PopupFilter} from './modules/popupFilter';
// import {MarkActiveColumns} from './modules/markActiveColumns';
// import {RowsCounter} from './modules/rowsCounter';
// import {StatusBar} from './modules/statusBar';
// import {ClearButton} from './modules/clearButton';
// import {AlternateRows} from './modules/alternateRows';
// import {NoResults} from './modules/noResults';
// import {Paging} from './modules/paging';
// import {Toolbar} from './modules/toolbar';
/**
* Filter types
*/
@ -132,76 +116,3 @@ export const IP_ADDRESS = 'ipaddress';
* @type {Number}
*/
export const AUTO_FILTER_DELAY = 750;
/**
* TableFilter features definitions
* @type {Array}
*/
export const FEATURES = [];
// export const FEATURES = {
// dateType: {
// class: DateType,
// name: 'dateType'
// },
// help: {
// class: Help,
// name: 'help',
// enforce: true
// },
// state: {
// class: State,
// name: 'state'
// },
// markActiveColumns: {
// class: MarkActiveColumns,
// name: 'markActiveColumns'
// },
// gridLayout: {
// class: GridLayout,
// name: 'gridLayout'
// },
// loader: {
// class: Loader,
// name: 'loader'
// },
// highlightKeyword: {
// class: HighlightKeyword,
// name: 'highlightKeyword',
// property: 'highlightKeywords'
// },
// popupFilter: {
// class: PopupFilter,
// name: 'popupFilter',
// property: 'popupFilters'
// },
// rowsCounter: {
// class: RowsCounter,
// name: 'rowsCounter'
// },
// statusBar: {
// class: StatusBar,
// name: 'statusBar'
// },
// clearButton: {
// class: ClearButton,
// name: 'clearButton',
// property: 'btnReset'
// },
// alternateRows: {
// class: AlternateRows,
// name: 'alternateRows'
// },
// noResults: {
// class: NoResults,
// name: 'noResults'
// },
// paging: {
// class: Paging,
// name: 'paging'
// },
// toolbar: {
// class: Toolbar,
// name: 'toolbar',
// enforce: true
// }
// };

View File

@ -22,13 +22,11 @@ export class Feature {
this.tf = tf;
/**
* Feature name, retrieved from alternate class name if found or from
* camelised class name as per TableFilter convention
* Feature name is the camelised class name as per TableFilter's
* convention
* @type {String}
*/
this.feature = defaultsStr(cls.meta.altName, toCamelCase(cls.name));
cls.meta.name = this.feature;
this.feature = toCamelCase(cls.name);
/**
* TableFilter feature setting
@ -54,6 +52,9 @@ export class Feature {
*/
this.initialized = false;
// store resolved feature name
cls.meta.name = this.feature;
/** Subscribe to destroy event */
this.emitter.on(['destroy'], () => this.destroy());
}

View File

@ -174,4 +174,7 @@ export class HighlightKeyword {
}
// TODO: remove as soon as feature name is fixed
HighlightKeyword.meta = {altName: 'highlightKeywords'};
HighlightKeyword.meta = {
name: 'highlightKeyword',
altName: 'highlightKeywords'
};

View File

@ -1,27 +0,0 @@
import {defaultsStr} from './settings';
import {toCamelCase} from './string';
import {FEATURES} from './const';
export class Register {
constructor(tf, cls = {}) {
cls.meta = cls.meta || {};
/**
* TableFilter instance
* @type {TableFilter}
*/
this.tf = tf;
/**
* Feature name, retrieved from alternate class name if found or from
* camelised class name as per TableFilter convention
* @type {String}
*/
this.feature = defaultsStr(cls.meta.altName, toCamelCase(cls.name));
cls.meta.name = this.feature;
FEATURES[this.feature] = cls;
}
}

View File

@ -36,8 +36,7 @@ import {Toolbar} from './modules/toolbar';
import {
INPUT, SELECT, MULTIPLE, CHECKLIST, NONE,
ENTER_KEY, TAB_KEY, ESC_KEY, UP_ARROW_KEY, DOWN_ARROW_KEY,
CELL_TAG, AUTO_FILTER_DELAY, NUMBER, DATE, FORMATTED_NUMBER,
FEATURES
CELL_TAG, AUTO_FILTER_DELAY, NUMBER, DATE, FORMATTED_NUMBER
} from './const';
let doc = root.document;
@ -941,12 +940,8 @@ export class TableFilter {
*/
this.ExtRegistry = {};
// conditionally instantiate required features
this.instantiateFeatures(
// //Object.keys(FEATURES).map((item) => FEATURES[item])
// //FEATURES
[Toolbar]
);
// instantiate toolbar ui component as other components depend on it
this.instantiateFeatures([Toolbar]);
}
/**
@ -966,20 +961,8 @@ export class TableFilter {
//loads theme
this.loadThemes();
// const { dateType, help, state, markActiveColumns, gridLayout, loader,
// highlightKeyword, popupFilter, rowsCounter, statusBar, clearButton,
// alternateRows, noResults, paging, toolbar } = FEATURES;
//explicitly initialise features in given order
this.initFeatures([
// dateType,
// help,
// state,
// markActiveColumns,
// gridLayout,
// loader,
// highlightKeyword,
// popupFilter
DateType,
Help,
State,
@ -1060,13 +1043,6 @@ export class TableFilter {
}
this.initFeatures([
// rowsCounter,
// statusBar,
// clearButton,
// alternateRows,
// noResults,
// paging,
// toolbar
RowsCounter,
StatusBar,
ClearButton,
@ -1290,27 +1266,14 @@ export class TableFilter {
* @private
*/
instantiateFeatures(features = []) {
// features.forEach((feature) => {
// // TODO: remove the property field.
// // Due to naming convention inconsistencies, a `property`
// // field is added to allow a conditional instanciation based
// // on that property on TableFilter, if supplied.
// feature.property = feature.property || feature.name;
// if (!this.hasConfig || this[feature.property] === true ||
// feature.enforce === true) {
// let {class: Cls, name} = feature;
// this.Mod[name] = this.Mod[name] || new Cls(this);
// }
// });
features.forEach(featureCls => {
let Cls = featureCls;
let inst = new Cls(this);
let {meta} = Cls;
let {name} = meta;
let {name, altName} = meta; console.log(name, altName);
if (!this.hasConfig || this[name] === true
if (!this.hasConfig || this[altName || name] === true
|| Boolean(meta.alwaysInstantiate)) {
this.Mod[name] = this.Mod[name] || inst;
}
@ -1323,14 +1286,6 @@ export class TableFilter {
* @private
*/
initFeatures(features = []) {
// features.forEach((feature) => {
// let {property, name} = feature;
// if (this[property] === true && this.Mod[name]) {
// this.Mod[name].init();
// }
// });
// this.instantiateFeatures(features);
features.forEach(featureCls => {
this.instantiateFeatures([featureCls]);

View File

@ -6,6 +6,7 @@ var tf = new TableFilter('demo', {
tf.init();
var clearButton = tf.feature('clearButton');
console.log(clearButton)
module('Sanity checks');
test('Clear button component', function() {
deepEqual(typeof clearButton, 'object', 'ClearButton instanciated');
@ -174,8 +175,8 @@ test('Destroy and init in external container', function() {
'container id');
});
module('Tear-down');
test('can destroy TableFilter DOM elements', function() {
tf.destroy();
deepEqual(tf.isInitialized(), false, 'Filters removed');
});
// module('Tear-down');
// test('can destroy TableFilter DOM elements', function() {
// tf.destroy();
// deepEqual(tf.isInitialized(), false, 'Filters removed');
// });