HOME


Mini Shell 1.0
DIR: /home/dhnidqcz/journal.africaprag.org/lib/pkp/js/controllers/
Upload File :
Current File : //home/dhnidqcz/journal.africaprag.org/lib/pkp/js/controllers/EditorialActionsHandler.js
/**
 * @file js/controllers/EditorialActionsHandler.js
 *
 * Copyright (c) 2014-2018 Simon Fraser University
 * Copyright (c) 2000-2018 John Willinsky
 * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
 *
 * @class EditorialActionsHandler
 * @ingroup js_controllers
 *
 * @brief A handler for the editorial actions button in the workflow
 */
(function($) {


	/**
	 * @constructor
	 *
	 * @extends $.pkp.classes.Handler
	 *
	 * @param {jQueryObject} $element The outer <div> element
	 * @param {Object} options Handler options.
	 */
	$.pkp.controllers.EditorialActionsHandler = function($element, options) {
		this.parent($element, options);
		$element.find('.pkp_workflow_change_decision')
				.click(this.callbackWrapper(this.showActions_));
		$element.find('[data-decision]')
				.click(this.callbackWrapper(this.emitRevisionDecision_));
		$element.find('[data-recommendation]')
				.click(this.callbackWrapper(this.emitRevisionRecommendation_));
	};
	$.pkp.classes.Helper.inherits(
			$.pkp.controllers.EditorialActionsHandler, $.pkp.classes.Handler);


	//
	// Private methods
	//
	/**
	 * Show the editorial actions
	 * @private
	 * @param {HTMLElement} sourceElement The clicked link.
	 * @param {Event} event The triggered event (click).
	 */
	$.pkp.controllers.EditorialActionsHandler.prototype.showActions_ =
			function(sourceElement, event) {
		this.getHtmlElement().find('.pkp_workflow_change_decision').hide();
		this.getHtmlElement().find('.pkp_workflow_decisions_options')
				.removeClass('pkp_workflow_decisions_options_hidden');
	};


	/**
	 * Emit an event when a request revisions decision is initiated
	 * @private
	 * @param {HTMLElement} sourceElement The clicked link.
	 * @param {Event} event The triggered event (click).
	 */
	$.pkp.controllers.EditorialActionsHandler.prototype.emitRevisionDecision_ =
			function(sourceElement, event) {
		var $el = $(sourceElement);
		pkp.eventBus.$emit('decision:revisions', $el.data('reviewRoundId'));
	};


	/**
	 * Emit an event when a request revisions recommendation is initiated
	 * @private
	 * @param {HTMLElement} sourceElement The clicked link.
	 * @param {Event} event The triggered event (click).
	 */
	$.pkp.controllers.EditorialActionsHandler.prototype.
			emitRevisionRecommendation_ = function(sourceElement, event) {
		var $el = $(sourceElement);
		pkp.eventBus.$emit('recommendation:revisions', $el.data('reviewRoundId'));
	};


}(jQuery));