Comments (6)
I'm interested to know, how are you using StupidTable? In general you shouldn't be invoking it loads of times on one page. If you have multiple tables you can set it up for all tables with any of these:
$("table").stupidtable(sortingTypes); // targets every table on the page
$(".datatable").stupidtable(sortingTypes); // targets a set of tables with the datatable class
$("#table1, #table2, #table3").stupidtable(sortingTypes); // targets 3 specific tables by ID
from stupid-table-plugin.
I know, but I'm creating tables dynamically in a quite rich UI, so I do have to call stupidtable separately every time the user does a certain action.
I decided to suggest the feature as it is present in some of the other plugins I use (datepicker, validation, cluetip). It is usually a setDefaults(user_defaults) method, that merges the "default defaults" with the "user defaults" and uses that object for default parameters of the subsequent plugin calls.
from stupid-table-plugin.
I think the best way to handle this without introducing any complexity (or lines of code) is to just expose the default sort object similar to how the ASC/DESC strings are stored
Stupid-Table-Plugin/stupidtable.js
Line 154 in 14325a7
// Enum containing sorting directions
$.fn.stupidtable.dir = {ASC: "asc", DESC: "desc"};
So we could have
// Merge sort functions with some default sort functions.
sortFns = $.extend({}, $.fn.stupidtable.defaultSortFns, sortFns);
And then
$.fn.stupidtable.defaultSortFns = {
"int": function(a, b) {
return parseInt(a, 10) - parseInt(b, 10);
},
"float": function(a, b) {
return parseFloat(a) - parseFloat(b);
},
"string": function(a, b) {
if (a < b) return -1;
if (a > b) return +1;
return 0;
},
"string-ins": function(a, b) {
a = a.toLowerCase();
b = b.toLowerCase();
if (a < b) return -1;
if (a > b) return +1;
return 0;
}
};
So when you invoke stupidtable
$.fn.stupidtable.defaultSortFns = {
// your default sort functions here
};
$("#mytable").stupidtable();
I personally don't see why passing in a variable containing the sort functions is such a hassle, but if we can solve a user's problem without introducing complexity, I say we should do it.
from stupid-table-plugin.
You should be able to use jQuery's "on" function to handle this...
from stupid-table-plugin.
In some cases I can. I'm not looking for workarounds, I just suggested a common feature for your consideration. joequery's solution is good imo.
from stupid-table-plugin.
@stevenbg I feel really silly, my entire comment was just repeating what you already recommended. I guess I'm management material ;)
from stupid-table-plugin.
Related Issues (20)
- Wrong behavior when stupid_table is inside an other table (bug) HOT 3
- Sorting - Remembering? HOT 2
- NFR: Mark the initializer of the table HOT 1
- Can't sort multiple float columns. Only 1 works HOT 1
- default sorting HOT 1
- Request for a new maintainer HOT 1
- Resort table HOT 3
- Sorting only works when there is more than 2 rows HOT 8
- Doesn't work at all...
- Doesn't sort properly... HOT 4
- Next row doesn't have columns, so I get a "b is undefined" error. Can I sort on every other row?
- Sort IP Address HOT 1
- Incorrect sorting of columns containing word+number, and numbers containing spaces. HOT 3
- data-sort-value clearing 0 values HOT 1
- Does not sort properly HOT 5
- How to sort a dynamically created table (by ajax)? HOT 2
- Cannot read property 'string' of undefined HOT 1
- Problems with data-sort-value
- possible to specify an element trigger sorting other than default TH?
- Is it possible to add div element inside Stupid Table?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stupid-table-plugin.