first commit
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
/**
|
||||
* @file js/StaticPageFormHandler.js
|
||||
*
|
||||
* Copyright (c) 2014-2020 Simon Fraser University
|
||||
* Copyright (c) 2000-2020 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* @package plugins.generic.staticPages
|
||||
* @class StaticPageFormHandler
|
||||
*
|
||||
* @brief Static pages form handler.
|
||||
*/
|
||||
(function($) {
|
||||
|
||||
/** @type {Object} */
|
||||
$.pkp.controllers.form.staticPages =
|
||||
$.pkp.controllers.form.staticPages || { };
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*
|
||||
* @extends $.pkp.controllers.form.AjaxFormHandler
|
||||
*
|
||||
* @param {jQueryObject} $formElement A wrapped HTML element that
|
||||
* represents the approved proof form interface element.
|
||||
* @param {Object} options Tabbed modal options.
|
||||
*/
|
||||
$.pkp.controllers.form.staticPages.StaticPageFormHandler =
|
||||
function($formElement, options) {
|
||||
this.parent($formElement, options);
|
||||
|
||||
// Save the preview URL for later
|
||||
this.previewUrl_ = options.previewUrl;
|
||||
|
||||
// bind a handler to make sure we update the required state
|
||||
// of the comments field.
|
||||
$('#previewButton', $formElement).click(this.callbackWrapper(
|
||||
this.showPreview_));
|
||||
};
|
||||
$.pkp.classes.Helper.inherits(
|
||||
$.pkp.controllers.form.staticPages.StaticPageFormHandler,
|
||||
$.pkp.controllers.form.AjaxFormHandler
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
// Private properties
|
||||
//
|
||||
/**
|
||||
* The preview url.
|
||||
* @private
|
||||
* @type {?string}
|
||||
*/
|
||||
$.pkp.controllers.form.staticPages.StaticPageFormHandler.prototype.
|
||||
previewUrl_ = null;
|
||||
|
||||
|
||||
//
|
||||
// Private methods.
|
||||
//
|
||||
/**
|
||||
* Callback triggered on clicking the "preview" button to open a preview window.
|
||||
*
|
||||
* @param {HTMLElement} submitButton The submit button.
|
||||
* @param {Event} event The event that triggered the
|
||||
* submit button.
|
||||
* @return {boolean} true.
|
||||
* @private
|
||||
*/
|
||||
$.pkp.controllers.form.staticPages.StaticPageFormHandler.
|
||||
prototype.showPreview_ = function(submitButton, event) {
|
||||
|
||||
var $formElement = this.getHtmlElement();
|
||||
$.post(this.previewUrl_,
|
||||
$formElement.serialize(),
|
||||
function(data) {
|
||||
var win = window.open('about:blank');
|
||||
with(win.document) {
|
||||
open();
|
||||
write(data);
|
||||
close();
|
||||
}
|
||||
});
|
||||
return true;
|
||||
};
|
||||
/** @param {jQuery} $ jQuery closure. */
|
||||
}(jQuery));
|
||||
Reference in New Issue
Block a user