Giter VIP home page Giter VIP logo

Comments (6)

svivian avatar svivian commented on July 30, 2024

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.

stevenbg avatar stevenbg commented on July 30, 2024

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.

joequery avatar joequery commented on July 30, 2024

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

$.fn.stupidtable.dir = {ASC: "asc", DESC: "desc"};

// 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.

sp1d3rx avatar sp1d3rx commented on July 30, 2024

You should be able to use jQuery's "on" function to handle this...

http://api.jquery.com/on/

from stupid-table-plugin.

stevenbg avatar stevenbg commented on July 30, 2024

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.

joequery avatar joequery commented on July 30, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.