58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
/**
|
|
* @file js/classes/linkAction/EventAction.js
|
|
*
|
|
* Copyright (c) 2014-2021 Simon Fraser University
|
|
* Copyright (c) 2000-2021 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class EventAction
|
|
* @ingroup js_classes_linkAction
|
|
*
|
|
* @brief A simple action request that triggers a Javascript event.
|
|
*/
|
|
(function($) {
|
|
|
|
|
|
/**
|
|
* @constructor
|
|
*
|
|
* @extends $.pkp.classes.linkAction.LinkActionRequest
|
|
*
|
|
* @param {jQueryObject} $linkActionElement The element the link
|
|
* action was attached to.
|
|
* @param {Object} options Configuration of the link action
|
|
* request.
|
|
*/
|
|
$.pkp.classes.linkAction.EventAction =
|
|
function($linkActionElement, options) {
|
|
this.parent($linkActionElement, options);
|
|
};
|
|
$.pkp.classes.Helper.inherits(
|
|
$.pkp.classes.linkAction.EventAction,
|
|
$.pkp.classes.linkAction.LinkActionRequest);
|
|
|
|
|
|
//
|
|
// Public methods
|
|
//
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
$.pkp.classes.linkAction.EventAction.prototype.activate =
|
|
function(element, event) {
|
|
$(this.options.target).trigger(this.options.event,
|
|
/** @type {Array} */ (this.options));
|
|
return /** @type {boolean} */ (this.parent('activate', element, event));
|
|
};
|
|
|
|
|
|
/**
|
|
* Determine whether or not the link action should be debounced.
|
|
* @return {boolean} Whether or not to debounce the link action.
|
|
*/
|
|
$.pkp.classes.linkAction.EventAction.prototype.shouldDebounce =
|
|
function() {
|
|
return false;
|
|
};
|
|
}(jQuery));
|