jsgrid.sort-strategies.js 805 B

123456789101112131415161718192021222324252627282930313233343536
  1. (function(jsGrid, $, undefined) {
  2. var isDefined = function(val) {
  3. return typeof(val) !== "undefined" && val !== null;
  4. };
  5. var sortStrategies = {
  6. string: function(str1, str2) {
  7. if(!isDefined(str1) && !isDefined(str2))
  8. return 0;
  9. if(!isDefined(str1))
  10. return -1;
  11. if(!isDefined(str2))
  12. return 1;
  13. return ("" + str1).localeCompare("" + str2);
  14. },
  15. number: function(n1, n2) {
  16. return n1 - n2;
  17. },
  18. date: function(dt1, dt2) {
  19. return dt1 - dt2;
  20. },
  21. numberAsString: function(n1, n2) {
  22. return parseFloat(n1) - parseFloat(n2);
  23. }
  24. };
  25. jsGrid.sortStrategies = sortStrategies;
  26. }(jsGrid, jQuery));