PageSourceSearch

https://knkt.go.id/Plugins/datatables/datetime-moment.js

js knkt.go.id collected 2026-10-02 10:16:30 UTC 2,216 bytes, 74 lines download raw bytes

1/**
2 * This plug-in for DataTables represents the ultimate option in extensibility
3 * for sorting date / time strings correctly. It uses
4 * [Moment.js](http://momentjs.com) to create automatic type detection and
5 * sorting plug-ins for DataTables based on a given format. This way, DataTables
6 * will automatically detect your temporal information and sort it correctly.
7 *
8 * For usage instructions, please see the DataTables blog
9 * post that [introduces it](//datatables.net/blog/2014-12-18).
10 *
11 * @name Ultimate Date / Time sorting
12 * @summary Sort date and time in any format using Moment.js
13 * @author [Allan Jardine](//datatables.net)
14 * @depends DataTables 1.10+, Moment.js 1.7+
15 *
16 * @example
17 *    $.fn.dataTable.moment( 'HH:mm MMM D, YY' );
18 *    $.fn.dataTable.moment( 'dddd, MMMM Do, YYYY' );
19 *
20 *    $('#example').DataTable();
21 */
22
23(function (factory) {
24	if (typeof define === "function" && define.amd) {
25		define(["jquery", "moment", "datatables.net"], factory);
26	} else {
27		factory(jQuery, moment);
28	}
29}(function ($, moment) {
30
31	$.fn.dataTable.moment = function (format, locale, reverseEmpties) {
32		var types = $.fn.dataTable.ext.type;
33
34		// Add type detection
35		types.detect.unshift(function (d) {
36			if (d) {
37				// Strip HTML tags and newline characters if possible
38				if (d.replace) {
39					d = d.replace(/(<.*?>)|(\r?\n|\r)/g, '');
40				}
41
42				// Strip out surrounding white space
43				d = $.trim(d);
44			}
45
46			// Null and empty values are acceptable
47			if (d === '' || d === null) {
48				return 'moment-' + format;
49			}
50
51			return moment(d, format, locale, true).isValid() ?
52				'moment-' + format :
53				null;
54		});
55
56		// Add sorting method - use an integer for the sorting
57		types.order['moment-' + format + '-pre'] = function (d) {
58			if (d) {
59				// Strip HTML tags and newline characters if possible
60				if (d.replace) {
61					d = d.replace(/(<.*?>)|(\r?\n|\r)/g, '');
62				}
63
64				// Strip out surrounding white space
65				d = $.trim(d);
66			}
67
68			return !moment(d, format, locale, true).isValid() ?
69				(reverseEmpties ? -Infinity : Infinity) :
70				parseInt(moment(d, format, locale, true).format('x'), 10);
71		};
72	};
73
74}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.