mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-05-10 10:26:38 +02:00
wip
This commit is contained in:
parent
fbeb52bda2
commit
e205a6b15a
514
dist/starter.html
vendored
514
dist/starter.html
vendored
|
@ -1,514 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>tablefilter v0.6.2 - Starter</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>tablefilter v0.6.2</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',
|
||||
'70px', '70px', '70px',
|
||||
'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('<', '<').replace('>', '>');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<!-- -->
|
||||
|
||||
</body>
|
||||
</html>
|
4
dist/tablefilter/style/colsVisibility.css
vendored
4
dist/tablefilter/style/colsVisibility.css
vendored
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.6.2 by Max Guglielmi
|
||||
* build date: 2017-11-01T11:06:37.113Z
|
||||
* tablefilter v0.6.3 by Max Guglielmi
|
||||
* build date: 2017-11-10T11:25:19.518Z
|
||||
* MIT License
|
||||
*/
|
||||
span.colVisSpan{text-align:left;}span.colVisSpan a.colVis{display:inline-block;padding:7px 5px 0;font-size:inherit;font-weight:inherit;vertical-align:top}div.colVisCont{position:relative;background:#fff;-webkit-box-shadow:3px 3px 2px #888;-moz-box-shadow:3px 3px 2px #888;box-shadow:3px 3px 2px #888;position:absolute;display:none;border:1px solid #ccc;height:auto;width:250px;background-color:#fff;margin:35px 0 0 -100px;z-index:10000;padding:10px 10px 10px 10px;text-align:left;font-size:inherit;}div.colVisCont:after,div.colVisCont:before{bottom:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.colVisCont:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:10px;margin-left:-10px}div.colVisCont:before{border-color:rgba(255,255,255,0);border-bottom-color:#ccc;border-width:12px;margin-left:-12px}div.colVisCont p{margin:6px auto 6px auto}div.colVisCont a.colVis{display:initial;font-weight:inherit}ul.cols_checklist{padding:0;margin:0;list-style-type:none;}ul.cols_checklist label{display:block}ul.cols_checklist input{vertical-align:middle;margin:2px 5px 2px 1px}li.cols_checklist_item{padding:4px;margin:0;}li.cols_checklist_item:hover{background-color:#335ea8;color:#fff}.cols_checklist_slc_item{background-color:#335ea8;color:#fff}
|
4
dist/tablefilter/style/filtersVisibility.css
vendored
4
dist/tablefilter/style/filtersVisibility.css
vendored
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.6.2 by Max Guglielmi
|
||||
* build date: 2017-11-01T11:06:37.113Z
|
||||
* tablefilter v0.6.3 by Max Guglielmi
|
||||
* build date: 2017-11-10T11:25:19.518Z
|
||||
* MIT License
|
||||
*/
|
||||
span.expClpFlt a.btnExpClpFlt{width:35px;height:35px;display:inline-block;}span.expClpFlt a.btnExpClpFlt:hover{background-color:#f4f4f4}span.expClpFlt img{padding:8px 11px 11px 11px}
|
4
dist/tablefilter/style/tablefilter.css
vendored
4
dist/tablefilter/style/tablefilter.css
vendored
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.6.2 by Max Guglielmi
|
||||
* build date: 2017-11-01T11:06:37.113Z
|
||||
* tablefilter v0.6.3 by Max Guglielmi
|
||||
* build date: 2017-11-10T11:25:19.518Z
|
||||
* MIT License
|
||||
*/
|
||||
.activeHeader{background-color:#66afe9 !important;color:#fff !important}.activeCell{background-color:rgba(0,0,0,0.075)}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.6.2 by Max Guglielmi
|
||||
* build date: 2017-11-01T11:06:37.113Z
|
||||
* tablefilter v0.6.3 by Max Guglielmi
|
||||
* build date: 2017-11-10T11:25:19.518Z
|
||||
* MIT License
|
||||
*/
|
||||
table.TF{border-left:1px solid #ccc;border-top:none;border-right:none;border-bottom:none;}table.TF th{background:#ebecee url("images/bg_th.jpg") left top repeat-x;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;border-left:1px solid #fff;border-top:1px solid #fff;color:#333}table.TF td{border-bottom:1px dotted #999;padding:5px}.fltrow{background-color:#ebecee !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #666 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #999 !important}input.flt{width:99% !important}.inf{height:$min-height;background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important}input.reset{background:transparent url("images/btn_eraser.gif") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;}.nextPage:hover{background:transparent url("images/btn_over_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important;}.previousPage:hover{background:transparent url("images/btn_over_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;}.firstPage:hover{background:transparent url("images/btn_over_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;}.lastPage:hover{background:transparent url("images/btn_over_last_page.gif") center center no-repeat !important}div.grd_Cont{background-color:#ebecee !important;border:1px solid #ccc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#d5d5d5}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important;}div.grd_headTblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#ebecee url("images/bg_th.jpg") left top repeat-x !important;border-bottom:1px solid #d0d0d0 !important;border-right:1px solid #d0d0d0 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #999 !important}.grd_inf{background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important;border-top:1px solid #d0d0d0 !important}.loader{border:1px solid #999}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#fff}.odd{background-color:#d5d5d5}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.activeHeader{background:#999 !important}
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.6.2 by Max Guglielmi
|
||||
* build date: 2017-11-01T11:06:37.113Z
|
||||
* tablefilter v0.6.3 by Max Guglielmi
|
||||
* build date: 2017-11-10T11:25:19.518Z
|
||||
* MIT License
|
||||
*/
|
||||
table.TF{border-left:1px dotted #81963b;border-top:none;border-right:0;border-bottom:none;}table.TF th{background:#39424b url("images/bg_headers.jpg") left top repeat-x;border-bottom:0;border-right:1px dotted #d0d0d0;border-left:0;border-top:0;color:#fff}table.TF td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b;padding:5px}.fltrow{background-color:#81963b !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #687830 !important}input.flt{width:99% !important}.inf{background:#d8d8d8;height:$min-height}input.reset{width:53px;background:transparent url("images/btn_filter.png") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important}div.grd_Cont{background:#81963b url("images/bg_headers.jpg") left top repeat-x !important;border:1px solid #ccc !important;padding:0 1px 1px 1px !important;}div.grd_Cont .even{background-color:#bccd83}div.grd_Cont .odd{background-color:#fff}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important;}div.grd_tblCont table td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b}div.grd_tblCont table th,div.grd_headTblCont table th{background:transparent url("images/bg_headers.jpg") 0 0 repeat-x !important;border-bottom:0 !important;border-right:1px dotted #d0d0d0 !important;border-left:0 !important;border-top:0 !important;padding:0 4px 0 4px !important;color:#fff !important;height:35px !important}div.grd_headTblCont table td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;background-color:#81963b !important;padding:1px 3px 1px 3px !important}.grd_inf{background-color:#d8d8d8;border-top:1px solid #d0d0d0 !important}.loader{border:0 !important;background:#81963b !important}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#bccd83}.odd{background-color:#fff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.activeHeader{background:#81963b !important}
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.6.2 by Max Guglielmi
|
||||
* build date: 2017-11-01T11:06:37.113Z
|
||||
* tablefilter v0.6.3 by Max Guglielmi
|
||||
* build date: 2017-11-10T11:25:19.518Z
|
||||
* MIT License
|
||||
*/
|
||||
table.TF{padding:0;color:#000;border-right:1px solid #a4bed4;border-top:1px solid #a4bed4;border-left:1px solid #a4bed4;border-bottom:0;}table.TF th{margin:0;color:inherit;background:#d1e5fe url("images/bg_skyblue.gif") 0 0 repeat-x;border-color:#fdfdfd #a4bed4 #a4bed4 #fdfdfd;border-width:1px;border-style:solid}table.TF td{margin:0;padding:5px;color:inherit;border-bottom:1px solid #a4bed4;border-left:0;border-top:0;border-right:0}.fltrow{background-color:#d1e5fe !important;}.fltrow th,.fltrow td{padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #a4bed4 !important}input.flt{width:99% !important}.inf{background-color:#e3efff !important;border:1px solid #a4bed4;height:$min-height;color:#004a6f}div.tot,div.status{border-right:0 !important}.helpBtn:hover{background-color:transparent}input.reset{background:transparent url("images/icn_clear_filters.png") center center no-repeat !important}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.nextPage:hover{background:#ffe4ab url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.previousPage{background:transparent url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.previousPage:hover{background:#ffe4ab url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.firstPage:hover{background:#ffe4ab url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.lastPage:hover{background:#ffe4ab url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.activeHeader{background:#ffe4ab !important;border:1px solid #ffb552 !important;color:inherit !important}div.grd_Cont{background-color:#d9eaed !important;border:1px solid #9cc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#e3efff}div.grd_headTblCont{background-color:#d9eaed !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#d9eaed url("images/bg_skyblue.gif") left top repeat-x;border-bottom:1px solid #a4bed4;border-right:1px solid #a4bed4 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #a4bed4 !important;border-right:0 !important;border-left:0 !important;border-top:0 !important}.grd_inf{background-color:#cce2fe;color:#004a6f;border-top:1px solid #9cc !important;}.grd_inf a{text-decoration:none;font-weight:bold}.loader{background-color:#2d8eef;border:1px solid #cce2fe;border-radius:5px}.even{background-color:#fff}.odd{background-color:#e3efff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.ezActiveRow{background-color:#ffdc61 !important;color:inherit}.ezSelectedRow{background-color:#ffe4ab !important;color:inherit}.ezActiveCell{background-color:#fff !important;color:#000 !important;font-weight:bold}.ezETSelectedCell{background-color:#fff !important;font-weight:bold;color:#000 !important}
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.6.2 by Max Guglielmi
|
||||
* build date: 2017-11-01T11:06:37.113Z
|
||||
* tablefilter v0.6.3 by Max Guglielmi
|
||||
* build date: 2017-11-10T11:25:19.518Z
|
||||
* MIT License
|
||||
*/
|
||||
table.TF{padding:0;color:inherit;border-right:1px solid transparent;border-top:1px solid transparent;border-left:1px solid transparent;border-bottom:0;}table.TF th{margin:0;color:inherit;background-color:transparent;border-color:transparent;border-width:1px;border-style:solid;}table.TF th:last-child{border-right:1px solid transparent}table.TF td{margin:0;padding:5px;color:inherit;border-bottom:1px solid transparent;border-left:0;border-top:0;border-right:0}.fltrow{background-color:transparent;}.fltrow th,.fltrow td{padding:1px 3px 1px 3px;border-bottom:1px solid transparent !important;}.fltrow th:last-child,.fltrow td:last-child{border-right:1px solid transparent}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #a4bed4}input.flt{width:99% !important}.inf{background-color:transparent;border:1px solid transparent;height:$min-height;color:inherit}div.tot,div.status{border-right:0 !important}.helpBtn:hover{background-color:transparent}input.reset{background:transparent url("images/icn_clear_filters.png") center center no-repeat !important}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.nextPage:hover{background:#f7f7f7 url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.previousPage{background:transparent url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.previousPage:hover{background:#f7f7f7 url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.firstPage:hover{background:#f7f7f7 url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.lastPage:hover{background:#f7f7f7 url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.activeHeader{background:#f7f7f7 !important;border:1px solid transparent;color:inherit !important}div.grd_Cont{-webkit-box-shadow:0 0 0 0 rgba(50,50,50,0.75);-moz-box-shadow:0 0 0 0 rgba(50,50,50,0.75);box-shadow:0 0 0 0 rgba(50,50,50,0.75);background-color:transparent;border:1px solid transparent;padding:0 !important;}div.grd_Cont .even{background-color:transparent}div.grd_Cont .odd{background-color:#f7f7f7}div.grd_headTblCont{background-color:transparent;border-bottom:none !important}div.grd_tblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:transparent;border-bottom:1px solid transparent;border-right:1px solid transparent !important;border-left:1px solid transparent;border-top:1px solid transparent}div.grd_tblCont table td{border-bottom:1px solid transparent;border-right:0 !important;border-left:0 !important;border-top:0 !important}.grd_inf{background-color:transparent;color:inherit;border-top:1px solid transparent;}.grd_inf a{text-decoration:none;font-weight:bold}.loader{background-color:#f7f7f7;border:1px solid #f7f7f7;border-radius:5px;color:#000;text-shadow:none}.even{background-color:transparent}.odd{background-color:#f7f7f7}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.ezActiveRow{background-color:#ccc !important;color:inherit}.ezSelectedRow{background-color:#ccc !important;color:inherit}.ezActiveCell{background-color:transparent;color:inherit;font-weight:bold}.ezETSelectedCell{background-color:transparent;font-weight:bold;color:inherit}
|
12202
dist/tablefilter/tablefilter.js
vendored
12202
dist/tablefilter/tablefilter.js
vendored
File diff suppressed because one or more lines are too long
2
dist/tablefilter/tablefilter.js.map
vendored
2
dist/tablefilter/tablefilter.js.map
vendored
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
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "tablefilter",
|
||||
"version": "0.6.2",
|
||||
"version": "0.6.3",
|
||||
"description": "A Javascript library making HTML tables filterable and a bit more",
|
||||
"license": "MIT",
|
||||
"author": {
|
||||
|
|
|
@ -123,10 +123,12 @@ export class AlternateRows extends Feature {
|
|||
if (!this.initialized) {
|
||||
return;
|
||||
}
|
||||
let nbRows = this.tf.getRowsNb(true);
|
||||
for (let i = 0; i < nbRows; i++) {
|
||||
this.removeRowBg(i);
|
||||
}
|
||||
// let nbRows = this.tf.getRowsNb(true);
|
||||
// for (let i = 0; i < nbRows; i++) {
|
||||
// this.removeRowBg(i);
|
||||
// }
|
||||
let eachRow = this.tf.eachRow(0);
|
||||
eachRow((row, i) => this.removeRowBg(i));
|
||||
|
||||
// Unsubscribe to events
|
||||
this.emitter.off(['row-processed', 'row-paged'],
|
||||
|
|
|
@ -190,7 +190,7 @@ export class CheckList extends BaseDropdown {
|
|||
*/
|
||||
build(colIndex, isLinked = false) {
|
||||
let tf = this.tf;
|
||||
colIndex = parseInt(colIndex, 10);
|
||||
colIndex = Number(colIndex);
|
||||
|
||||
this.emitter.emit('before-populating-filter', tf, colIndex);
|
||||
|
||||
|
@ -205,8 +205,8 @@ export class CheckList extends BaseDropdown {
|
|||
['colIndex', colIndex]);
|
||||
ul.className = this.filterCssClass;
|
||||
|
||||
let rows = tf.dom().rows;
|
||||
let nbRows = tf.getRowsNb(true);
|
||||
// let rows = tf.dom().rows;
|
||||
// let nbRows = tf.getRowsNb(true);
|
||||
let caseSensitive = tf.caseSensitive;
|
||||
/** @inherited */
|
||||
this.isCustom = tf.isCustomOptions(colIndex);
|
||||
|
@ -233,51 +233,83 @@ export class CheckList extends BaseDropdown {
|
|||
|
||||
flt.innerHTML = '';
|
||||
|
||||
for (let k = tf.refRow; k < nbRows; k++) {
|
||||
// always visible rows don't need to appear on selects as always
|
||||
// valid
|
||||
if (tf.excludeRows.indexOf(k) !== -1) {
|
||||
continue;
|
||||
}
|
||||
// for (let k = tf.refRow; k < nbRows; k++) {
|
||||
// // always visible rows don't need to appear on selects as always
|
||||
// // valid
|
||||
// if (tf.excludeRows.indexOf(k) !== -1) {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
let cells = rows[k].cells;
|
||||
let ncells = cells.length;
|
||||
// let cells = rows[k].cells;
|
||||
// let ncells = cells.length;
|
||||
|
||||
// checks if row has exact cell #
|
||||
if (ncells !== tf.nbCells || this.isCustom) {
|
||||
continue;
|
||||
}
|
||||
// // checks if row has exact cell #
|
||||
// if (ncells !== tf.nbCells || this.isCustom) {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
if (isLinked && !this.isValidLinkedValue(k, activeIdx)) {
|
||||
continue;
|
||||
}
|
||||
// if (isLinked && !this.isValidLinkedValue(k, activeIdx)) {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
// this loop retrieves cell data
|
||||
for (let j = 0; j < ncells; j++) {
|
||||
if (colIndex !== j) {
|
||||
continue;
|
||||
}
|
||||
// let cellValue = tf.getCellValue(cells[colIndex]);
|
||||
// //Vary Peter's patch
|
||||
// let cellString = matchCase(cellValue, caseSensitive);
|
||||
// // checks if celldata is already in array
|
||||
// if (!has(this.opts, cellString, caseSensitive)) {
|
||||
// this.opts.push(cellValue);
|
||||
// }
|
||||
// let filteredCol = filteredDataCol[colIndex];
|
||||
// if (isLinked && tf.disableExcludedOptions) {
|
||||
// if (!filteredCol) {
|
||||
// filteredCol = tf.getVisibleColumnValues(colIndex);
|
||||
// }
|
||||
// if (!has(filteredCol, cellString, caseSensitive) &&
|
||||
// !has(this.excludedOpts, cellString,
|
||||
// caseSensitive)) {
|
||||
// this.excludedOpts.push(cellValue);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
let cellValue = tf.getCellValue(cells[j]);
|
||||
let eachRow = tf.eachRow();
|
||||
eachRow(
|
||||
(row) => {
|
||||
let cellValue = tf.getCellValue(row.cells[colIndex]);
|
||||
//Vary Peter's patch
|
||||
let cellString = matchCase(cellValue, caseSensitive);
|
||||
// checks if celldata is already in array
|
||||
if (!has(this.opts, cellString, caseSensitive)) {
|
||||
this.opts.push(cellValue);
|
||||
}
|
||||
let filteredCol = filteredDataCol[j];
|
||||
let filteredCol = filteredDataCol[colIndex];
|
||||
if (isLinked && tf.disableExcludedOptions) {
|
||||
if (!filteredCol) {
|
||||
filteredCol = tf.getVisibleColumnValues(j);
|
||||
filteredCol = tf.getVisibleColumnValues(colIndex);
|
||||
}
|
||||
if (!has(filteredCol, cellString, caseSensitive) &&
|
||||
!has(this.excludedOpts, cellString,
|
||||
caseSensitive)) {
|
||||
!has(this.excludedOpts, cellString, caseSensitive)) {
|
||||
this.excludedOpts.push(cellValue);
|
||||
}
|
||||
}
|
||||
},
|
||||
// continue conditions function
|
||||
(row, k) => {
|
||||
// excluded rows don't need to appear on selects as always valid
|
||||
if (tf.excludeRows.indexOf(k) !== -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// checks if row has expected number of cells
|
||||
if (row.cells.length !== tf.nbCells || this.isCustom) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (isLinked && !this.isValidLinkedValue(k, activeIdx)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
//sort options
|
||||
this.opts = this.sortOptions(colIndex, this.opts);
|
||||
|
|
|
@ -148,7 +148,7 @@ export class Dropdown extends BaseDropdown {
|
|||
*/
|
||||
build(colIndex, isLinked = false) {
|
||||
let tf = this.tf;
|
||||
colIndex = parseInt(colIndex, 10);
|
||||
colIndex = Number(colIndex);
|
||||
|
||||
this.emitter.emit('before-populating-filter', tf, colIndex);
|
||||
|
||||
|
@ -157,10 +157,12 @@ export class Dropdown extends BaseDropdown {
|
|||
/** @inherited */
|
||||
this.optsTxt = [];
|
||||
|
||||
let slcId = tf.fltIds[colIndex];
|
||||
let slc = elm(slcId);
|
||||
let rows = tf.dom().rows;
|
||||
let nbRows = tf.getRowsNb(true);
|
||||
// let slcId = tf.fltIds[colIndex];
|
||||
// let slc = elm(slcId);
|
||||
// let rows = tf.dom().rows;
|
||||
// let nbRows = tf.getRowsNb(true);
|
||||
|
||||
let slc = tf.getFilterElement(colIndex);
|
||||
|
||||
//custom select test
|
||||
/** @inherited */
|
||||
|
@ -187,34 +189,52 @@ export class Dropdown extends BaseDropdown {
|
|||
filteredDataCol = [];
|
||||
}
|
||||
|
||||
for (let k = tf.refRow; k < nbRows; k++) {
|
||||
// always visible rows don't need to appear on selects as always
|
||||
// valid
|
||||
if (tf.excludeRows.indexOf(k) !== -1) {
|
||||
continue;
|
||||
}
|
||||
// for (let k = tf.refRow; k < nbRows; k++) {
|
||||
// // always visible rows don't need to appear on selects as always
|
||||
// // valid
|
||||
// if (tf.excludeRows.indexOf(k) !== -1) {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
let cell = rows[k].cells,
|
||||
nchilds = cell.length;
|
||||
// let cell = rows[k].cells,
|
||||
// nchilds = cell.length;
|
||||
|
||||
// checks if row has exact cell #
|
||||
if (nchilds !== tf.nbCells || this.isCustom) {
|
||||
continue;
|
||||
}
|
||||
// // checks if row has exact cell #
|
||||
// if (nchilds !== tf.nbCells || this.isCustom) {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
if (isLinked && !this.isValidLinkedValue(k, activeIdx)) {
|
||||
continue;
|
||||
}
|
||||
// if (isLinked && !this.isValidLinkedValue(k, activeIdx)) {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
// this loop retrieves cell data
|
||||
for (let j = 0; j < nchilds; j++) {
|
||||
if (colIndex !== j) {
|
||||
continue;
|
||||
}
|
||||
// let cellValue = tf.getCellValue(cell[colIndex]),
|
||||
// //Vary Peter's patch
|
||||
// cellString = matchCase(cellValue, tf.caseSensitive);
|
||||
|
||||
let cellValue = tf.getCellValue(cell[j]),
|
||||
//Vary Peter's patch
|
||||
cellString = matchCase(cellValue, tf.caseSensitive);
|
||||
// // checks if celldata is already in array
|
||||
// if (!has(this.opts, cellString, tf.caseSensitive)) {
|
||||
// this.opts.push(cellValue);
|
||||
// }
|
||||
|
||||
// if (isLinked && tf.disableExcludedOptions) {
|
||||
// let filteredCol = filteredDataCol[colIndex];
|
||||
// if (!filteredCol) {
|
||||
// filteredCol = tf.getVisibleColumnValues(colIndex);
|
||||
// }
|
||||
// if (!has(filteredCol, cellString, tf.caseSensitive) &&
|
||||
// !has(excludedOpts, cellString, tf.caseSensitive)) {
|
||||
// excludedOpts.push(cellValue);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
let eachRow = tf.eachRow();
|
||||
eachRow(
|
||||
(row) => {
|
||||
let cellValue = tf.getCellValue(row.cells[colIndex]);
|
||||
//Vary Peter's patch
|
||||
let cellString = matchCase(cellValue, tf.caseSensitive);
|
||||
|
||||
// checks if celldata is already in array
|
||||
if (!has(this.opts, cellString, tf.caseSensitive)) {
|
||||
|
@ -222,17 +242,33 @@ export class Dropdown extends BaseDropdown {
|
|||
}
|
||||
|
||||
if (isLinked && tf.disableExcludedOptions) {
|
||||
let filteredCol = filteredDataCol[j];
|
||||
let filteredCol = filteredDataCol[colIndex];
|
||||
if (!filteredCol) {
|
||||
filteredCol = tf.getVisibleColumnValues(j);
|
||||
filteredCol = tf.getVisibleColumnValues(colIndex);
|
||||
}
|
||||
if (!has(filteredCol, cellString, tf.caseSensitive) &&
|
||||
!has(excludedOpts, cellString, tf.caseSensitive)) {
|
||||
excludedOpts.push(cellValue);
|
||||
}
|
||||
}
|
||||
}//for j
|
||||
}//for k
|
||||
},
|
||||
// continue conditions function
|
||||
(row, k) => {
|
||||
// excluded rows don't need to appear on selects as always valid
|
||||
if (tf.excludeRows.indexOf(k) !== -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// checks if row has expected number of cells
|
||||
if (row.cells.length !== tf.nbCells || this.isCustom) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (isLinked && !this.isValidLinkedValue(k, activeIdx)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
//sort options
|
||||
this.opts = this.sortOptions(colIndex, this.opts);
|
||||
|
|
|
@ -1291,10 +1291,12 @@ export class TableFilter {
|
|||
__webpack_public_path__ = this.basePath;
|
||||
|
||||
this.emitter.emit('before-loading-extensions', this);
|
||||
for (let i = 0, len = exts.length; i < len; i++) {
|
||||
let ext = exts[i];
|
||||
|
||||
// for (let i = 0, len = exts.length; i < len; i++) {
|
||||
exts.forEach((ext) => {
|
||||
// let ext = exts[i];
|
||||
this.loadExtension(ext);
|
||||
}
|
||||
});
|
||||
this.emitter.emit('after-loading-extensions', this);
|
||||
}
|
||||
|
||||
|
@ -1307,8 +1309,9 @@ export class TableFilter {
|
|||
return;
|
||||
}
|
||||
|
||||
let name = ext.name;
|
||||
let path = ext.path;
|
||||
// let name = ext.name;
|
||||
// let path = ext.path;
|
||||
let {name, path} = ext;
|
||||
let modulePath;
|
||||
|
||||
if (name && path) {
|
||||
|
@ -1383,24 +1386,26 @@ export class TableFilter {
|
|||
let defaultTheme = { name: 'default' };
|
||||
this.themes.push(defaultTheme);
|
||||
}
|
||||
if (isArray(themes)) {
|
||||
for (let i = 0, len = themes.length; i < len; i++) {
|
||||
let theme = themes[i];
|
||||
let name = theme.name;
|
||||
let path = theme.path;
|
||||
let styleId = this.prfxTf + name;
|
||||
if (name && !path) {
|
||||
path = this.themesPath + name + '/' + name + '.css';
|
||||
}
|
||||
else if (!name && theme.path) {
|
||||
name = 'theme{0}'.replace('{0}', i);
|
||||
}
|
||||
|
||||
if (!this.isImported(path, 'link')) {
|
||||
this.import(styleId, path, null, 'link');
|
||||
}
|
||||
// if (isArray(themes)) {
|
||||
themes.forEach((theme, i) => {
|
||||
// for (let i = 0, len = themes.length; i < len; i++) {
|
||||
// let theme = themes[i];
|
||||
// let name = theme.name;
|
||||
// let path = theme.path;
|
||||
let {name, path} = theme;
|
||||
let styleId = this.prfxTf + name;
|
||||
if (name && !path) {
|
||||
path = this.themesPath + name + '/' + name + '.css';
|
||||
}
|
||||
}
|
||||
else if (!name && theme.path) {
|
||||
name = 'theme{0}'.replace('{0}', i);
|
||||
}
|
||||
|
||||
if (!this.isImported(path, 'link')) {
|
||||
this.import(styleId, path, null, 'link');
|
||||
}
|
||||
});
|
||||
// }
|
||||
|
||||
// Enable loader indicator
|
||||
this.loader = true;
|
||||
|
@ -1467,15 +1472,16 @@ export class TableFilter {
|
|||
if (!this.isExternalFlt()) {
|
||||
return;
|
||||
}
|
||||
let ids = this.externalFltTgtIds,
|
||||
len = ids.length;
|
||||
for (let ct = 0; ct < len; ct++) {
|
||||
let externalFltTgtId = ids[ct],
|
||||
externalFlt = elm(externalFltTgtId);
|
||||
let ids = this.externalFltTgtIds/*,
|
||||
len = ids.length*/;
|
||||
ids.forEach((id) => {
|
||||
// for (let ct = 0; ct < len; ct++) {
|
||||
let /*externalFltTgtId = ids[ct],*/
|
||||
externalFlt = elm(id);
|
||||
if (externalFlt) {
|
||||
externalFlt.innerHTML = '';
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1535,113 +1541,119 @@ export class TableFilter {
|
|||
this.onBeforeFilter(this);
|
||||
this.emitter.emit('before-filtering', this);
|
||||
|
||||
let row = this.dom().rows,
|
||||
nbRows = this.getRowsNb(true),
|
||||
let /*row = this.dom().rows,
|
||||
nbRows = this.getRowsNb(true),*/
|
||||
hiddenRows = 0;
|
||||
|
||||
this.validRowsIndex = [];
|
||||
// search args re-init
|
||||
let searchArgs = this.getFiltersValue();
|
||||
|
||||
for (let k = this.refRow; k < nbRows; k++) {
|
||||
// already filtered rows display re-init
|
||||
row[k].style.display = '';
|
||||
let eachRow = this.eachRow();
|
||||
eachRow(
|
||||
(row, k) => {
|
||||
// for (let k = this.refRow; k < nbRows; k++) {
|
||||
// already filtered rows display re-init
|
||||
row.style.display = '';
|
||||
|
||||
let cells = row[k].cells;
|
||||
let nchilds = cells.length;
|
||||
let cells = row.cells;
|
||||
let nbCells = cells.length;
|
||||
|
||||
// checks if row has exact cell #
|
||||
if (nchilds !== this.nbCells) {
|
||||
continue;
|
||||
}
|
||||
// // checks if row has exact cell #
|
||||
// if (nbCells !== this.nbCells) {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
let occurence = [],
|
||||
isRowValid = true,
|
||||
//only for single filter search
|
||||
singleFltRowValid = false;
|
||||
let occurence = [],
|
||||
isRowValid = true,
|
||||
//only for single filter search
|
||||
singleFltRowValid = false;
|
||||
|
||||
// this loop retrieves cell data
|
||||
for (let j = 0; j < nchilds; j++) {
|
||||
//searched keyword
|
||||
let sA = searchArgs[this.singleSearchFlt ? 0 : j];
|
||||
// this loop retrieves cell data
|
||||
for (let j = 0; j < nbCells; j++) {
|
||||
//searched keyword
|
||||
let sA = searchArgs[this.singleSearchFlt ? 0 : j];
|
||||
|
||||
if (sA === '') {
|
||||
continue;
|
||||
}
|
||||
|
||||
let cellValue = matchCase(this.getCellValue(cells[j]),
|
||||
this.caseSensitive);
|
||||
|
||||
//multiple search parameter operator ||
|
||||
let sAOrSplit = sA.toString().split(this.orOperator),
|
||||
//multiple search || parameter boolean
|
||||
hasMultiOrSA = sAOrSplit.length > 1,
|
||||
//multiple search parameter operator &&
|
||||
sAAndSplit = sA.toString().split(this.anOperator),
|
||||
//multiple search && parameter boolean
|
||||
hasMultiAndSA = sAAndSplit.length > 1;
|
||||
|
||||
//detect operators or array query
|
||||
if (isArray(sA) || hasMultiOrSA || hasMultiAndSA) {
|
||||
let cS,
|
||||
s,
|
||||
occur = false;
|
||||
if (isArray(sA)) {
|
||||
s = sA;
|
||||
} else {
|
||||
s = hasMultiOrSA ? sAOrSplit : sAAndSplit;
|
||||
if (sA === '') {
|
||||
continue;
|
||||
}
|
||||
// isolate search term and check occurence in cell data
|
||||
for (let w = 0, len = s.length; w < len; w++) {
|
||||
cS = trim(s[w]);
|
||||
occur = this._matcth(cS, cellValue, j);
|
||||
|
||||
if (occur) {
|
||||
let cellValue = matchCase(this.getCellValue(cells[j]),
|
||||
this.caseSensitive);
|
||||
|
||||
//multiple search parameter operator ||
|
||||
let sAOrSplit = sA.toString().split(this.orOperator),
|
||||
//multiple search || parameter boolean
|
||||
hasMultiOrSA = sAOrSplit.length > 1,
|
||||
//multiple search parameter operator &&
|
||||
sAAndSplit = sA.toString().split(this.anOperator),
|
||||
//multiple search && parameter boolean
|
||||
hasMultiAndSA = sAAndSplit.length > 1;
|
||||
|
||||
//detect operators or array query
|
||||
if (isArray(sA) || hasMultiOrSA || hasMultiAndSA) {
|
||||
let cS,
|
||||
s,
|
||||
occur = false;
|
||||
if (isArray(sA)) {
|
||||
s = sA;
|
||||
} else {
|
||||
s = hasMultiOrSA ? sAOrSplit : sAAndSplit;
|
||||
}
|
||||
// isolate search term and check occurence in cell data
|
||||
for (let w = 0, len = s.length; w < len; w++) {
|
||||
cS = trim(s[w]);
|
||||
occur = this._matcth(cS, cellValue, j);
|
||||
|
||||
if (occur) {
|
||||
this.emitter.emit('highlight-keyword', this,
|
||||
cells[j], cS);
|
||||
}
|
||||
if ((hasMultiOrSA && occur) ||
|
||||
(hasMultiAndSA && !occur)) {
|
||||
break;
|
||||
}
|
||||
if (isArray(sA) && occur) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
occurence[j] = occur;
|
||||
|
||||
}
|
||||
//single search parameter
|
||||
else {
|
||||
occurence[j] = this._matcth(trim(sA), cellValue, j);
|
||||
if (occurence[j]) {
|
||||
this.emitter.emit('highlight-keyword', this,
|
||||
cells[j], cS);
|
||||
}
|
||||
if ((hasMultiOrSA && occur) ||
|
||||
(hasMultiAndSA && !occur)) {
|
||||
break;
|
||||
}
|
||||
if (isArray(sA) && occur) {
|
||||
break;
|
||||
cells[j], sA);
|
||||
}
|
||||
}//else single param
|
||||
|
||||
if (!occurence[j]) {
|
||||
isRowValid = false;
|
||||
}
|
||||
occurence[j] = occur;
|
||||
|
||||
}
|
||||
//single search parameter
|
||||
else {
|
||||
occurence[j] = this._matcth(trim(sA), cellValue, j);
|
||||
if (occurence[j]) {
|
||||
this.emitter.emit('highlight-keyword', this, cells[j],
|
||||
sA);
|
||||
if (this.singleSearchFlt && occurence[j]) {
|
||||
singleFltRowValid = true;
|
||||
}
|
||||
}//else single param
|
||||
|
||||
if (!occurence[j]) {
|
||||
isRowValid = false;
|
||||
}
|
||||
if (this.singleSearchFlt && occurence[j]) {
|
||||
singleFltRowValid = true;
|
||||
this.emitter.emit('cell-processed', this, j, cells[j]);
|
||||
}//for j
|
||||
|
||||
if (this.singleSearchFlt && singleFltRowValid) {
|
||||
isRowValid = true;
|
||||
}
|
||||
|
||||
this.emitter.emit('cell-processed', this, j, cells[j]);
|
||||
}//for j
|
||||
this.validateRow(k, isRowValid);
|
||||
if (!isRowValid) {
|
||||
hiddenRows++;
|
||||
}
|
||||
|
||||
if (this.singleSearchFlt && singleFltRowValid) {
|
||||
isRowValid = true;
|
||||
}
|
||||
|
||||
this.validateRow(k, isRowValid);
|
||||
if (!isRowValid) {
|
||||
hiddenRows++;
|
||||
}
|
||||
|
||||
this.emitter.emit('row-processed', this, k,
|
||||
this.validRowsIndex.length, isRowValid);
|
||||
}// for k
|
||||
this.emitter.emit('row-processed', this, k,
|
||||
this.validRowsIndex.length, isRowValid);
|
||||
},
|
||||
// continue condition
|
||||
(row) => row.cells.length !== this.nbCells
|
||||
);
|
||||
|
||||
this.nbHiddenRows = hiddenRows;
|
||||
|
||||
|
@ -1923,8 +1935,8 @@ export class TableFilter {
|
|||
typed = false,
|
||||
exclude = []
|
||||
) {
|
||||
let row = this.dom().rows;
|
||||
let nbRows = this.getRowsNb(true);
|
||||
// let row = this.dom().rows;
|
||||
// let nbRows = this.getRowsNb(true);
|
||||
let colValues = [];
|
||||
let getContent = typed ? this.getCellData.bind(this) :
|
||||
this.getCellValue.bind(this);
|
||||
|
@ -1933,21 +1945,36 @@ export class TableFilter {
|
|||
colValues.push(this.getHeadersText()[colIndex]);
|
||||
}
|
||||
|
||||
for (let i = this.refRow; i < nbRows; i++) {
|
||||
// for (let i = this.refRow; i < nbRows; i++) {
|
||||
// let isExludedRow = false;
|
||||
// // checks if current row index appears in exclude array
|
||||
// if (exclude.length > 0) {
|
||||
// isExludedRow = exclude.indexOf(i) !== -1;
|
||||
// }
|
||||
// let cell = row[i].cells,
|
||||
// nbCells = cell.length;
|
||||
|
||||
// // checks if row has exact cell # and is not excluded
|
||||
// if (nbCells === this.nbCells && !isExludedRow) {
|
||||
// let data = getContent(cell[colIndex]);
|
||||
// colValues.push(data);
|
||||
// }
|
||||
// }
|
||||
let eachRow = this.eachRow();
|
||||
eachRow((row, i) => {
|
||||
let isExludedRow = false;
|
||||
// checks if current row index appears in exclude array
|
||||
if (exclude.length > 0) {
|
||||
isExludedRow = exclude.indexOf(i) !== -1;
|
||||
}
|
||||
let cell = row[i].cells,
|
||||
nchilds = cell.length;
|
||||
let cells = row.cells;
|
||||
|
||||
// checks if row has exact cell # and is not excluded
|
||||
if (nchilds === this.nbCells && !isExludedRow) {
|
||||
let data = getContent(cell[colIndex]);
|
||||
if (cells.length === this.nbCells && !isExludedRow) {
|
||||
let data = getContent(cells[colIndex]);
|
||||
colValues.push(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
return colValues;
|
||||
}
|
||||
|
||||
|
@ -2175,8 +2202,8 @@ export class TableFilter {
|
|||
excludeHiddenCols = false,
|
||||
typed = false
|
||||
) {
|
||||
let rows = this.dom().rows;
|
||||
let nbRows = this.getRowsNb(true);
|
||||
// let rows = this.dom().rows;
|
||||
// let nbRows = this.getRowsNb(true);
|
||||
let tblData = [];
|
||||
let getContent = typed ? this.getCellData.bind(this) :
|
||||
this.getCellValue.bind(this);
|
||||
|
@ -2185,20 +2212,35 @@ export class TableFilter {
|
|||
let headers = this.getHeadersText(excludeHiddenCols);
|
||||
tblData.push([this.getHeadersRowIndex(), headers]);
|
||||
}
|
||||
for (let k = this.refRow; k < nbRows; k++) {
|
||||
// for (let k = this.refRow; k < nbRows; k++) {
|
||||
// let rowData = [k, []];
|
||||
// let cells = rows[k].cells;
|
||||
// for (let j = 0, len = cells.length; j < len; j++) {
|
||||
// if (excludeHiddenCols && this.hasExtension('colsVisibility')) {
|
||||
// if (this.extension('colsVisibility').isColHidden(j)) {
|
||||
// continue;
|
||||
// }
|
||||
// }
|
||||
// let cellValue = getContent(cells[j]);
|
||||
// rowData[1].push(cellValue);
|
||||
// }
|
||||
// tblData.push(rowData);
|
||||
// }
|
||||
let eachRow = this.eachRow();
|
||||
eachRow((row, k) => {
|
||||
let rowData = [k, []];
|
||||
let cells = rows[k].cells;
|
||||
let cells = row.cells;
|
||||
for (let j = 0, len = cells.length; j < len; j++) {
|
||||
if (excludeHiddenCols && this.hasExtension('colsVisibility')) {
|
||||
if (this.extension('colsVisibility').isColHidden(j)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
let cellValue = getContent(cells[j]);
|
||||
rowData[1].push(cellValue);
|
||||
let cellContent = getContent(cells[j]);
|
||||
rowData[1].push(cellContent);
|
||||
}
|
||||
tblData.push(rowData);
|
||||
}
|
||||
});
|
||||
return tblData;
|
||||
}
|
||||
|
||||
|
@ -2763,6 +2805,22 @@ export class TableFilter {
|
|||
}
|
||||
}
|
||||
|
||||
eachRow(startIdx = this.refRow) {
|
||||
return (fn = EMPTY_FN, continueFn = EMPTY_FN, breakFn = EMPTY_FN) => {
|
||||
let rows = this.dom().rows;
|
||||
let len = this.getRowsNb(true);
|
||||
for (let i = startIdx; i < len; i++) {
|
||||
if (continueFn(rows[i], i) === true) {
|
||||
continue;
|
||||
}
|
||||
if (breakFn(rows[i], i) === true) {
|
||||
break;
|
||||
}
|
||||
fn(rows[i], i);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if passed script or stylesheet is already imported
|
||||
* @param {String} filePath Ressource path
|
||||
|
@ -2856,21 +2914,36 @@ export class TableFilter {
|
|||
return this.validRowsIndex;
|
||||
}
|
||||
|
||||
let nbRows = this.getRowsNb(true);
|
||||
// let nbRows = this.getRowsNb(true);
|
||||
this.validRowsIndex = [];
|
||||
for (let k = this.refRow; k < nbRows; k++) {
|
||||
let r = this.dom().rows[k];
|
||||
// for (let k = this.refRow; k < nbRows; k++) {
|
||||
// let r = this.dom().rows[k];
|
||||
// if (!this.paging) {
|
||||
// if (this.getRowDisplay(r) !== NONE) {
|
||||
// this.validRowsIndex.push(r.rowIndex);
|
||||
// }
|
||||
// } else {
|
||||
// if (r.getAttribute('validRow') === 'true' ||
|
||||
// r.getAttribute('validRow') === null) {
|
||||
// this.validRowsIndex.push(r.rowIndex);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
let eachRow = this.eachRow();
|
||||
eachRow((row) => {
|
||||
// for (let k = this.refRow; k < nbRows; k++) {
|
||||
// let r = this.dom().rows[k];
|
||||
if (!this.paging) {
|
||||
if (this.getRowDisplay(r) !== NONE) {
|
||||
this.validRowsIndex.push(r.rowIndex);
|
||||
if (this.getRowDisplay(row) !== NONE) {
|
||||
this.validRowsIndex.push(row.rowIndex);
|
||||
}
|
||||
} else {
|
||||
if (r.getAttribute('validRow') === 'true' ||
|
||||
r.getAttribute('validRow') === null) {
|
||||
this.validRowsIndex.push(r.rowIndex);
|
||||
if (row.getAttribute('validRow') === 'true' ||
|
||||
row.getAttribute('validRow') === null) {
|
||||
this.validRowsIndex.push(row.rowIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return this.validRowsIndex;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue