70 lines
1.8 KiB
JavaScript
70 lines
1.8 KiB
JavaScript
/**
|
|
* @defgroup js_controllers_informationCenter
|
|
*/
|
|
// Create the modal namespace.
|
|
jQuery.pkp.controllers.informationCenter =
|
|
jQuery.pkp.controllers.informationCenter || { };
|
|
|
|
|
|
/**
|
|
* @file js/controllers/informationCenter/NotesHandler.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 NotesHandler
|
|
* @ingroup js_controllers_informationCenter
|
|
*
|
|
* @brief Information center "notes" tab handler.
|
|
*/
|
|
(function($) {
|
|
|
|
|
|
/**
|
|
* @constructor
|
|
*
|
|
* @extends $.pkp.classes.Handler
|
|
*
|
|
* @param {jQueryObject} $notesDiv A wrapped HTML element that
|
|
* represents the "notes" interface element.
|
|
* @param {Object} options Tabbed modal options.
|
|
*/
|
|
$.pkp.controllers.informationCenter.NotesHandler =
|
|
function($notesDiv, options) {
|
|
this.parent($notesDiv, options);
|
|
|
|
// Refresh the widget when a note is added or deleted
|
|
this.bind('noteAdded', this.handleRefreshNoteList);
|
|
this.bind('noteDeleted', this.handleRefreshNoteList);
|
|
};
|
|
$.pkp.classes.Helper.inherits(
|
|
$.pkp.controllers.informationCenter.NotesHandler,
|
|
$.pkp.classes.Handler
|
|
);
|
|
|
|
|
|
//
|
|
// Public methods
|
|
//
|
|
/**
|
|
* Handle the "note added" event triggered by the
|
|
* note form whenever a new note is added.
|
|
*
|
|
* @param {$.pkp.controllers.form.AjaxFormHandler} callingForm The form
|
|
* that triggered the event.
|
|
* @param {Event} event The upload event.
|
|
* @param {string} html Rendered HTML to refresh the notes handler
|
|
*/
|
|
$.pkp.controllers.informationCenter.NotesHandler.
|
|
prototype.handleRefreshNoteList = function(callingForm, event, html) {
|
|
|
|
// Scroll back to the top of the notes list, where the note will appear
|
|
$('.pkp_modal').first().scrollTop(0);
|
|
|
|
this.replaceWith(html);
|
|
};
|
|
|
|
|
|
}(jQuery));
|