first commit
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
/**
|
||||
* @defgroup js_controllers_grid_users_reviewer
|
||||
*/
|
||||
/**
|
||||
* @file js/controllers/grid/users/reviewer/ReadReviewHandler.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 ReadReviewHandler
|
||||
* @ingroup js_controllers_grid_users_reviewer
|
||||
*
|
||||
* @brief Handle the advanced reviewer search tab in the add reviewer modal.
|
||||
*/
|
||||
(function($) {
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*
|
||||
* @extends $.pkp.controllers.form.AjaxFormHandler
|
||||
*
|
||||
* @param {jQueryObject} $form the wrapped page element.
|
||||
* @param {Object} options handler options.
|
||||
*/
|
||||
$.pkp.controllers.grid.users.reviewer.ReadReviewHandler =
|
||||
function($form, options) {
|
||||
this.parent($form, options);
|
||||
|
||||
this.reviewCompleted_ = options.reviewCompleted;
|
||||
// bind a handler to make sure that a review file has been uploaded.
|
||||
$form.find('[id^=\'submitFormButton-\']').click(this.callbackWrapper(
|
||||
this.reviewFilesRequired_));
|
||||
|
||||
};
|
||||
$.pkp.classes.Helper.inherits(
|
||||
$.pkp.controllers.grid.users.reviewer.ReadReviewHandler,
|
||||
$.pkp.controllers.form.AjaxFormHandler);
|
||||
|
||||
|
||||
//
|
||||
// Private methods.
|
||||
//
|
||||
/**
|
||||
* Is the review completed.
|
||||
* @private
|
||||
* @type {boolean}
|
||||
*/
|
||||
$.pkp.controllers.grid.users.reviewer.ReadReviewHandler.
|
||||
prototype.reviewCompleted_ = false;
|
||||
|
||||
|
||||
/**
|
||||
* Internal callback called on form submit to ensure there are
|
||||
* some review files uploaded.
|
||||
* @private
|
||||
* @param {HTMLElement} submitButton The submit button.
|
||||
* @param {Event} event The event that triggered the
|
||||
* submit button.
|
||||
* @return {boolean} true.
|
||||
*/
|
||||
$.pkp.controllers.grid.users.reviewer.ReadReviewHandler.
|
||||
prototype.reviewFilesRequired_ = function(submitButton, event) {
|
||||
|
||||
if (!this.reviewCompleted_ && $('#readReviewAttachmentsGridContainer').
|
||||
find('tbody.empty:visible').length == 1) {
|
||||
// There's nothing in the files grid; don't submit the form
|
||||
this.showWarning_();
|
||||
return false;
|
||||
} else {
|
||||
// There's something in the files grid;
|
||||
this.hideWarning_();
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Hide the "no files" warning.
|
||||
* @private
|
||||
*/
|
||||
$.pkp.controllers.grid.users.reviewer.ReadReviewHandler.
|
||||
prototype.hideWarning_ = function() {
|
||||
this.getHtmlElement().find('#noFilesWarning').hide(250);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Show the "no files" warning.
|
||||
* @private
|
||||
*/
|
||||
$.pkp.controllers.grid.users.reviewer.ReadReviewHandler.
|
||||
prototype.showWarning_ = function() {
|
||||
this.getHtmlElement().find('#noFilesWarning').show(250);
|
||||
};
|
||||
|
||||
|
||||
}(jQuery));
|
||||
Reference in New Issue
Block a user