1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-12 19:36:41 +02:00

Started sort test

This commit is contained in:
Max Guglielmi 2015-03-29 20:56:32 +11:00
parent 59518efc07
commit 92162b9a44
10 changed files with 7491 additions and 3 deletions

View file

@ -236,7 +236,7 @@ module.exports = function (grunt) {
grunt.registerTask('default', ['jshint', 'toes5', 'requirejs', 'concat', 'uglify', 'cssmin', 'copy', 'qunit']);
grunt.registerTask('build', ['jshint', 'toes5', 'requirejs', 'concat', /*'uglify',*/ 'cssmin', 'copy']);
grunt.registerTask('dev', ['jshint', 'toes5', 'concat', 'cssmin', 'copy']);
grunt.registerTask('build-requirejs', ['requirejs:compile-main', 'requirejs:compile-main']);
grunt.registerTask('build-requirejs', ['requirejs:compile-main']);
grunt.registerTask('toes5', ['babel:build-main','babel:build-extensions']);
grunt.registerTask('test', ['qunit']);
};

3590
dist/_core_.js vendored Normal file

File diff suppressed because it is too large Load diff

56
dist/build.txt vendored Normal file
View file

@ -0,0 +1,56 @@
filtergrid.css
----------------
filtergrid.css
TF_Themes/Default/TF_Default.css
----------------
TF_Themes/Default/TF_Default.css
TF_Themes/MyTheme/MyTheme.css
----------------
TF_Themes/MyTheme/MyTheme.css
TF_Themes/SkyBlue/TF_SkyBlue.css
----------------
TF_Themes/SkyBlue/TF_SkyBlue.css
extensions/sortabletable/adapterSortabletable.js
----------------
types.js
dom.js
string.js
array.js
event.js
date.js
helpers.js
extensions/sortabletable/adapterSortabletable.js
extensions/sortabletable/sortabletable.js
tablefilter.js
----------------
almond.js
event.js
dom.js
string.js
cookie.js
types.js
array.js
helpers.js
date.js
sort.js
modules/store.js
modules/gridLayout.js
modules/loader.js
modules/highlightKeywords.js
modules/popupFilter.js
modules/dropdown.js
modules/checkList.js
modules/rowsCounter.js
modules/statusBar.js
modules/paging.js
modules/clearButton.js
modules/help.js
modules/alternateRows.js
modules/colOps.js
tablefilter.js

File diff suppressed because it is too large Load diff

2
dist/filtergrid.css vendored
View file

@ -1,6 +1,6 @@
/*------------------------------------------------------------------------
- TableFilter stylesheet by Max Guglielmi
- (build date: Sat Mar 14 2015 21:48:11)
- (build date: Sun Mar 29 2015 20:55:57)
- Edit below for your projects' needs
------------------------------------------------------------------------*/

133
dist/index.html vendored Normal file
View file

@ -0,0 +1,133 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>HTML Table Filter Generator</title>
<link href="./filtergrid.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
var tf;
</script>
</head>
<body>
<p align="right">
<input type="button" value="Reset paging"
onclick="
if( tf.paging ) return;
tf.Cpt.paging.addPaging();" >
<input type="button" value="Remove paging"
onclick="
if( !tf.paging ) return;
tf.paging = false; //behaviour is removed here
tf.Cpt.paging.destroy();
tf.Filter();" >
</p>
<div style="width: 900px;">
<table id="demo" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th>From</th>
<th>Destination</th>
<th>Road Distance (km)</th>
<th>By Air (hrs)</th>
<th>By Rail (hrs)</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sydney</strong></td>
<td>Adelaide</td>
<td>1412</td>
<td>1.4</td>
<td>25.3</td>
</tr>
<tr>
<td><strong>Sydney</strong></td>
<td>Brisbane</td>
<td>982</td>
<td>1.5</td>
<td>16</td>
</tr>
<tr>
<td><strong>Sydney</strong></td>
<td>Canberra</td>
<td>286</td>
<td>.6</td>
<td>4.3</td>
</tr>
<tr>
<td><strong>Sydney</strong></td>
<td>Melbourne</td>
<td>872</td>
<td>1.1</td>
<td>10.5</td>
</tr>
<tr>
<td><strong>Adelaide</strong></td>
<td>Perth</td>
<td>2781</td>
<td>3.1</td>
<td>38</td>
</tr>
<tr>
<td><strong>Adelaide</strong></td>
<td>Alice Springs</td>
<td>1533</td>
<td>2</td>
<td>20.25</td>
</tr>
<tr>
<td><strong>Adelaide</strong></td>
<td>Brisbane</td>
<td>2045</td>
<td>2.15</td>
<td>40</td>
</tr>
</tbody>
</table>
</div>
<script src="../libs/requirejs/require.js"></script>
<script>
requirejs(['tablefilter'], function(TableFilter){
// Your logic here
tf = new TableFilter("demo", {
col_0: 'select',
col_2: 'multiple',
col_3: 'checklist',
base_path: './',
loader: false,
rows_counter: true,
enable_default_theme: true,
// slc_filling_method: 'innerhtml',
sort: true,
sort_config: {
sort_types: ['string','string','number','number','number']
},
paging: true,
paging_length: 4,
// page_selector_type: 'input',
//results_per_page: ['Results per page', [2,4,6]],
remember_grid_values: true,
// remember_page_number: true,
// remember_page_length: true,
fill_slc_on_demand: false,
linked_filters: false,
popup_filters: false,
alternate_rows: true,
highlight_keywords: true,
match_case: false,
btn_reset: true,
status_bar: true,
watermark: [null, 'Filter column...', null, null, 'Helo'],
grid_layout: false,
// grid_width: '500px',
// grid_height: '200px',
on_before_show_msg: function(tf){
// console.log('on_before_show_msg');
}
});
tf.init();
});
</script>
</body>
</html>

2076
dist/require.js vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,11 @@
// Configure RequireJS so it resolves relative module paths from the `src`
// folder.
require.config({
baseUrl: '../src'
baseUrl: '../src',
paths: {
extensions: '../src/extensions'/*,
sortabletable: 'extensions/sortabletable/'*/
}
});
}());

84
test/test-sort.html Normal file
View file

@ -0,0 +1,84 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TableFilter column sort</title>
<link rel="stylesheet" href="libs/qunit/qunit.css">
<link rel="stylesheet" href="../src/filtergrid.css">
<script src="libs/qunit/qunit.js"></script>
<script>
// Defer Qunit so RequireJS can work its magic and resolve all modules.
QUnit.config.autostart = false;
QUnit.config.autoload = false;
</script>
</head>
<body>
<table id="demo" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th>From</th>
<th>Destination</th>
<th>Road Distance (km)</th>
<th>By Air (hrs)</th>
<th>By Rail (hrs)</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sydney</strong></td>
<td>Adelaide</td>
<td>1412</td>
<td>1.4</td>
<td>25.3</td>
</tr>
<tr>
<td><strong>Sydney</strong></td>
<td>Brisbane</td>
<td>982</td>
<td>1.5</td>
<td>16</td>
</tr>
<tr>
<td><strong>Sydney</strong></td>
<td>Canberra</td>
<td>286</td>
<td>.6</td>
<td>4.3</td>
</tr>
<tr>
<td><strong>Sydney</strong></td>
<td>Melbourne</td>
<td>872</td>
<td>1.1</td>
<td>10.5</td>
</tr>
<tr>
<td><strong>Adelaide</strong></td>
<td>Perth</td>
<td>2781</td>
<td>3.1</td>
<td>38</td>
</tr>
<tr>
<td><strong>Adelaide</strong></td>
<td>Alice Springs</td>
<td>1533</td>
<td>2</td>
<td>20.25</td>
</tr>
<tr>
<td><strong>Adelaide</strong></td>
<td>Brisbane</td>
<td>2045</td>
<td>2.15</td>
<td>40</td>
</tr>
</tbody>
</table>
<script data-main="test-sort" src="../libs/requirejs/require.js"></script>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
</body>
</html>

54
test/test-sort.js Normal file
View file

@ -0,0 +1,54 @@
requirejs(['test-config', '../src/tablefilter'], function(config, TableFilter){
var types = require('types').Types,
dom = require('dom').Dom;
var tf = new TableFilter('demo', {
base_path: '../src/',
sort: true,
sort_config: {
sort_types: ['string','string','number','number','number']
},
on_sort_loaded: startTests
});
tf.init();
function startTests(tf){
var sort = tf.Extensions.sort;
QUnit.start();
module('Sanity checks');
test('Sort extension', function() {
notEqual(sort, null, 'Sort instanciated');
deepEqual(sort.stt instanceof SortableTable, true, 'Sort type');
// notEqual(clearButton.btnResetEl, null, 'btnResetEl property');
});
// module('UI elements');
// test('ClearButton UI elements', function() {
// var container = clearButton.btnResetEl;
// deepEqual(container.nodeName, 'INPUT', 'Clear button container');
// deepEqual(container.parentNode.id, tf.prfxResetSpan+tf.id, 'Container id');
// });
// module('Destroy and re-init');
// test('Remove UI', function() {
// clearButton.destroy();
// var btnResetEl = tf.Cpt.clearButton.btnResetEl;
// deepEqual(btnResetEl, null, 'Clear button is removed');
// });
// test('Re-set UI', function() {
// tf.enableIcons = false;
// tf.Cpt.clearButton.btnResetHtml = null;
// tf.Cpt.clearButton.btnResetText = 'Clear';
// tf.Cpt.clearButton.init();
// var btnResetEl = tf.Cpt.clearButton.btnResetEl;
// deepEqual(btnResetEl.nodeName, 'A', 'Clear button tag changed');
// deepEqual(dom.getText(btnResetEl), 'Clear', 'Clear button text');
// });
}
});