|
50 | 50 |
|
51 | 51 | return val;
|
52 | 52 | case "Date":
|
53 |
| - return String(val).replace(/[^0-9a-zA-Z-\/]/g, ""); |
| 53 | + return $.fn.griddly.defaults.getCleanedDate(val); |
54 | 54 | default:
|
55 | 55 | return val;
|
56 | 56 | }
|
|
122 | 122 |
|
123 | 123 | return val;
|
124 | 124 | case "Date":
|
125 |
| - val = parseForValidDate(val); |
126 |
| - |
127 |
| - if (val == null || !isFinite(val)) |
128 |
| - return null; |
129 |
| - else |
130 |
| - return (val.getMonth() + 1) + "/" + val.getDate() + "/" + val.getFullYear(); |
| 125 | + return $.fn.griddly.defaults.getFormattedDate(val); |
131 | 126 | default:
|
132 | 127 | return val;
|
133 | 128 | }
|
|
347 | 342 | switch (datatype)
|
348 | 343 | {
|
349 | 344 | case "Date":
|
350 |
| - var date; |
351 |
| - var pos; |
352 |
| - |
353 |
| - if (typeof (value) === "string" && (pos = value.indexOf("T")) != -1) |
354 |
| - { |
355 |
| - value = value.substr(0, pos); |
356 |
| - |
357 |
| - // Strip time, we only want date |
358 |
| - var parts = value.split('-'); |
359 |
| - |
360 |
| - // new Date(year, month [, day [, hours[, minutes[, seconds[, ms]]]]]) |
361 |
| - date = new Date(parts[0], parts[1] - 1, parts[2]); // Note: months are 0-based |
362 |
| - } |
363 |
| - else |
364 |
| - date = new Date(value); |
365 |
| - |
366 |
| - date.setHours(0, 0, 0, 0); |
367 |
| - |
368 |
| - value = date.toLocaleDateString(); |
369 |
| - |
| 345 | + value = $.fn.griddly.defaults.getFilterDate(value); |
370 | 346 | break;
|
371 | 347 | case "Currency":
|
372 | 348 | value = parseFloat(value).toFixed(2);
|
|
2044 | 2020 | return this;
|
2045 | 2021 | };
|
2046 | 2022 |
|
| 2023 | + const defaultCleanedDate = str => String(str).replace(/[^0-9a-zA-Z-\/]/g, ""); |
| 2024 | + const defaultFormatedDate = str => { |
| 2025 | + var val = parseForValidDate(str); |
| 2026 | + return (val == null || !isFinite(val)) |
| 2027 | + ? null |
| 2028 | + : (val.getMonth() + 1) + "/" + val.getDate() + "/" + val.getFullYear(); |
| 2029 | + }; |
| 2030 | + const defaultFilterDate = strOrDate => { |
| 2031 | + var date; |
| 2032 | + var pos; |
| 2033 | + |
| 2034 | + if (typeof (strOrDate) === "string" && (pos = strOrDate.indexOf("T")) != -1) |
| 2035 | + { |
| 2036 | + strOrDate = strOrDate.substr(0, pos); |
| 2037 | + |
| 2038 | + // Strip time, we only want date |
| 2039 | + var parts = strOrDate.split('-'); |
| 2040 | + |
| 2041 | + // new Date(year, month [, day [, hours[, minutes[, seconds[, ms]]]]]) |
| 2042 | + date = new Date(parts[0], parts[1] - 1, parts[2]); // Note: months are 0-based |
| 2043 | + } |
| 2044 | + else |
| 2045 | + date = new Date(strOrDate); |
| 2046 | + |
| 2047 | + date.setHours(0, 0, 0, 0); |
| 2048 | + |
| 2049 | + return date.toLocaleDateString(); |
| 2050 | + }; |
| 2051 | + |
2047 | 2052 | $.fn.griddly.defaults = $.extend({},
|
2048 | 2053 | {
|
2049 | 2054 | pageNumber: 0,
|
|
2065 | 2070 | serializeSkipEmpty: true,
|
2066 | 2071 | filtersSelector: "input[name], select[name]",
|
2067 | 2072 | exportCustomFunction: null,
|
2068 |
| - exportFunction: null |
| 2073 | + exportFunction: null, |
| 2074 | + getCleanedDate: defaultCleanedDate, |
| 2075 | + getFormattedDate: defaultFormatedDate, |
| 2076 | + getFilterDate: defaultFilterDate |
2069 | 2077 | }, $.fn.griddlyGlobalDefaults);
|
2070 | 2078 |
|
2071 | 2079 | var GriddlyFilterBar = function (element, options)
|
|
0 commit comments