Make "like" links one way

- Updated dolike() function to accept a "un-" switch
- [frio] Updated doLikeAction() function to call dolike() instead of having duplicated code
- Added boolean logic (with explanatory truth table) to smartly delete existing activities in Model\Item::performActivity
- Moved verb/activity parameter handling closer to their use in Model\Item::performActivity
- Updated all references to dolike() and doLikeAction() to include the "un-" switch
This commit is contained in:
Hypolite Petovan 2020-05-27 08:40:00 -04:00
commit df1c74bd33
13 changed files with 117 additions and 92 deletions

View file

@ -721,22 +721,17 @@ function htmlToText(htmlString) {
* Sends a /like API call and updates the display of the relevant action button
* before the update reloads the item.
*
* @param {string} ident The id of the relevant item
* @param {string} verb The verb of the action
* @returns {undefined}
* @param {int} ident The id of the relevant item
* @param {string} verb The verb of the action
* @param {boolean} un Whether to perform an activity removal instead of creation
*/
function doLikeAction(ident, verb) {
unpause();
function doLikeAction(ident, verb, un) {
if (verb.indexOf('attend') === 0) {
$('.item-' + ident + ' .button-event:not(#' + verb + '-' + ident + ')').removeClass('active');
}
$('#' + verb + '-' + ident).toggleClass('active');
$('#like-rotator-' + ident.toString()).show();
$.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate );
liking = 1;
force_update = true;
update_item = ident.toString();
dolike(ident, verb, un);
}
// Decodes a hexadecimally encoded binary string