X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Fcore%2Fmodules%2Fhistory%2Fjs%2Fhistory.js;fp=web%2Fcore%2Fmodules%2Fhistory%2Fjs%2Fhistory.js;h=aa5ca78a8b15af4e92be6a65bbe14989def8503f;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hp=6ce807c074d1ad6415ff0f0d2db85cb4312fcace;hpb=aea91e65e895364e460983b890e295aa5d5540a5;p=yaffs-website diff --git a/web/core/modules/history/js/history.js b/web/core/modules/history/js/history.js index 6ce807c07..aa5ca78a8 100644 --- a/web/core/modules/history/js/history.js +++ b/web/core/modules/history/js/history.js @@ -1,41 +1,22 @@ /** - * @file - * JavaScript API for the History module, with client-side caching. - * - * May only be loaded for authenticated users, with the History module enabled. - */ +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ (function ($, Drupal, drupalSettings, storage) { - - 'use strict'; - var currentUserID = parseInt(drupalSettings.user.uid, 10); - // Any comment that is older than 30 days is automatically considered read, - // so for these we don't need to perform a request at all! var thirtyDaysAgo = Math.round(new Date().getTime() / 1000) - 30 * 24 * 60 * 60; - // Use the data embedded in the page, if available. var embeddedLastReadTimestamps = false; if (drupalSettings.history && drupalSettings.history.lastReadTimestamps) { embeddedLastReadTimestamps = drupalSettings.history.lastReadTimestamps; } - /** - * @namespace - */ Drupal.history = { - - /** - * Fetch "last read" timestamps for the given nodes. - * - * @param {Array} nodeIDs - * An array of node IDs. - * @param {function} callback - * A callback that is called after the requested timestamps were fetched. - */ - fetchTimestamps: function (nodeIDs, callback) { - // Use the data embedded in the page, if available. + fetchTimestamps: function fetchTimestamps(nodeIDs, callback) { if (embeddedLastReadTimestamps) { callback(); return; @@ -44,9 +25,9 @@ $.ajax({ url: Drupal.url('history/get_node_read_timestamps'), type: 'POST', - data: {'node_ids[]': nodeIDs}, + data: { 'node_ids[]': nodeIDs }, dataType: 'json', - success: function (results) { + success: function success(results) { for (var nodeID in results) { if (results.hasOwnProperty(nodeID)) { storage.setItem('Drupal.history.' + currentUserID + '.' + nodeID, results[nodeID]); @@ -56,38 +37,18 @@ } }); }, - - /** - * Get the last read timestamp for the given node. - * - * @param {number|string} nodeID - * A node ID. - * - * @return {number} - * A UNIX timestamp. - */ - getLastRead: function (nodeID) { - // Use the data embedded in the page, if available. + getLastRead: function getLastRead(nodeID) { if (embeddedLastReadTimestamps && embeddedLastReadTimestamps[nodeID]) { return parseInt(embeddedLastReadTimestamps[nodeID], 10); } return parseInt(storage.getItem('Drupal.history.' + currentUserID + '.' + nodeID) || 0, 10); }, - - /** - * Marks a node as read, store the last read timestamp client-side. - * - * @param {number|string} nodeID - * A node ID. - */ - markAsRead: function (nodeID) { + markAsRead: function markAsRead(nodeID) { $.ajax({ url: Drupal.url('history/' + nodeID + '/read'), type: 'POST', dataType: 'json', - success: function (timestamp) { - // If the data is embedded in the page, don't store on the client - // side. + success: function success(timestamp) { if (embeddedLastReadTimestamps && embeddedLastReadTimestamps[nodeID]) { return; } @@ -96,32 +57,11 @@ } }); }, - - /** - * Determines whether a server check is necessary. - * - * Any content that is >30 days old never gets a "new" or "updated" - * indicator. Any content that was published before the oldest known reading - * also never gets a "new" or "updated" indicator, because it must've been - * read already. - * - * @param {number|string} nodeID - * A node ID. - * @param {number} contentTimestamp - * The time at which some content (e.g. a comment) was published. - * - * @return {bool} - * Whether a server check is necessary for the given node and its - * timestamp. - */ - needsServerCheck: function (nodeID, contentTimestamp) { - // First check if the content is older than 30 days, then we can bail - // early. + needsServerCheck: function needsServerCheck(nodeID, contentTimestamp) { if (contentTimestamp < thirtyDaysAgo) { return false; } - // Use the data embedded in the page, if available. if (embeddedLastReadTimestamps && embeddedLastReadTimestamps[nodeID]) { return contentTimestamp > parseInt(embeddedLastReadTimestamps[nodeID], 10); } @@ -130,5 +70,4 @@ return contentTimestamp > minLastReadTimestamp; } }; - -})(jQuery, Drupal, drupalSettings, window.localStorage); +})(jQuery, Drupal, drupalSettings, window.localStorage); \ No newline at end of file