| Server IP : 195.134.90.114 / Your IP : 216.73.216.86 Web Server : Apache/2.4.58 System : Linux nepub 6.8.0-88-generic #89-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 01:02:46 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.2.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/public_html/lib/pkp/js/classes/linkAction/ |
Upload File : |
/**
* @file js/classes/linkAction/AjaxRequest.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 AjaxRequest
* @ingroup js_classes_linkAction
*
* @brief AJAX link action request.
*/
(function($) {
/**
* @constructor
*
* @extends $.pkp.classes.linkAction.LinkActionRequest
*
* @param {jQueryObject} $linkActionElement The element the link
* action was attached to.
* @param {{
* requestType: string,
* data: PlainObject
* }} options Configuration of the link action
* request.
*/
$.pkp.classes.linkAction.AjaxRequest =
function($linkActionElement, options) {
this.parent($linkActionElement, options);
};
$.pkp.classes.Helper.inherits(
$.pkp.classes.linkAction.AjaxRequest,
$.pkp.classes.linkAction.LinkActionRequest);
//
// Public methods
//
/**
* @inheritDoc
*/
$.pkp.classes.linkAction.AjaxRequest.prototype.activate =
function(element, event) {
var returnValue = /** @type {boolean} */ (
this.parent('activate', element, event)),
options = this.getOptions(),
responseHandler = $.pkp.classes.Helper.curry(
this.handleResponse, this);
switch (options.requestType) {
case 'get':
$.getJSON(options.url, options.data, responseHandler);
break;
case 'post':
$.post(options.url, options.data, responseHandler, 'json');
break;
}
return returnValue;
};
/**
* Handle the AJAX response.
* @param {Object} jsonData The data returned by the server.
*/
$.pkp.classes.linkAction.AjaxRequest.prototype.handleResponse =
function(jsonData) {
var $linkActionHandler = this.getLinkActionElement().data('pkp.handler');
$linkActionHandler.handleJson(jsonData);
this.finish();
};
}(jQuery));