alpaca
Version:
Alpaca provides the easiest and fastest way to generate interactive forms for the web and mobile devices. It runs simply as HTML5 or more elaborately using Bootstrap, jQuery Mobile or jQuery UI. Alpaca uses Handlebars to process JSON schema and provide
56 lines (52 loc) • 1.99 kB
JavaScript
/**
* This plug-in provides the ability to sort columns that contains time
* information in the most common formats used. It will automatically detect
* those date types.
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Time (dd/mm/YY)
* @summary Sort Times in the formats: `hh:mm, hh:mm:ss, hh:mm tt, hh:mm:ss tt`
* e.g. '22:50, 22:50:40, 10:50 pm, 10:50:40 pm'
* am and pm are not case sensitive. white space is not compulsory
* @author David Stoneham
* @deprecated
*
* @example
* $('#example').dataTable( {
* columnDefs: [
* { type: 'time-uni', targets: 0 }
* ]
* } );
*/
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"time-uni-pre": function (a) {
var uniTime;
if (a.toLowerCase().indexOf("am") > -1 || (a.toLowerCase().indexOf("pm") > -1 && Number(a.split(":")[0]) === 12)) {
uniTime = a.toLowerCase().split("pm")[0].split("am")[0];
while (uniTime.indexOf(":") > -1) {
uniTime = uniTime.replace(":", "");
}
} else if (a.toLowerCase().indexOf("pm") > -1 || (a.toLowerCase().indexOf("am") > -1 && Number(a.split(":")[0]) === 12)) {
uniTime = Number(a.split(":")[0]) + 12;
var leftTime = a.toLowerCase().split("pm")[0].split("am")[0].split(":");
for (var i = 1; i < leftTime.length; i++) {
uniTime = uniTime + leftTime[i].trim().toString();
}
} else {
uniTime = a.replace(":", "");
while (uniTime.indexOf(":") > -1) {
uniTime = uniTime.replace(":", "");
}
}
return Number(uniTime);
},
"time-uni-asc": function (a, b) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"time-uni-desc": function (a, b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});