File Manager
Upload
Current Directory: /home/lartcid/public_html/journal.lartc.id
[Back]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
.well-known
[Open]
Hapus
Rename
README.md
[Edit]
Hapus
Rename
api
[Open]
Hapus
Rename
cache
[Open]
Hapus
Rename
cgi-bin
[Open]
Hapus
Rename
classes
[Open]
Hapus
Rename
config.TEMPLATE.inc.php
[Edit]
Hapus
Rename
config.inc.php
[Edit]
Hapus
Rename
controllers
[Open]
Hapus
Rename
cypress.json
[Edit]
Hapus
Rename
dbscripts
[Open]
Hapus
Rename
docs
[Open]
Hapus
Rename
error_log
[Edit]
Hapus
Rename
favicon.ico
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
js
[Open]
Hapus
Rename
lib
[Open]
Hapus
Rename
locale
[Open]
Hapus
Rename
mini.php
[Edit]
Hapus
Rename
pages
[Open]
Hapus
Rename
php.ini
[Edit]
Hapus
Rename
plugins
[Open]
Hapus
Rename
public
[Open]
Hapus
Rename
registry
[Open]
Hapus
Rename
scheduledTaskLogs
[Open]
Hapus
Rename
schemas
[Open]
Hapus
Rename
styles
[Open]
Hapus
Rename
templates
[Open]
Hapus
Rename
tools
[Open]
Hapus
Rename
Edit File
/** * @file js/controllers/form/AjaxFormHandler.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 AjaxFormHandler * @ingroup js_controllers_form * * @brief Form handler that submits the form to the server via AJAX and * either replaces the form if it is re-rendered by the server or * triggers the "formSubmitted" event after the server confirmed * form submission. */ (function($) { /** * @constructor * * @extends $.pkp.controllers.form.FormHandler * * @param {jQueryObject} $form the wrapped HTML form element. * @param {Object} options options to configure the AJAX form handler. */ $.pkp.controllers.form.AjaxFormHandler = function($form, options) { options.submitHandler = this.submitForm; this.parent($form, options); if (typeof options.confirmText !== 'undefined') { this.confirmText = options.confirmText; } this.bind('refreshForm', this.refreshFormHandler_); }; $.pkp.classes.Helper.inherits( $.pkp.controllers.form.AjaxFormHandler, $.pkp.controllers.form.FormHandler); /** * Overridden default from FormHandler -- disable form controls * on AJAX forms by default. * @protected * @type {boolean} */ $.pkp.controllers.form.AjaxFormHandler.prototype. disableControlsOnSubmit = true; /** * A confirmation message to display before submitting the form * @protected * @type {string} */ $.pkp.controllers.form.AjaxFormHandler.prototype. confirmText = ''; // // Public methods // /** * Internal callback called after form validation to handle form * submission. * * @param {Object} validator The validator plug-in. * @param {HTMLElement} formElement The wrapped HTML form. */ $.pkp.controllers.form.AjaxFormHandler.prototype.submitForm = function(validator, formElement) { // This form implementation will post the form, // and act depending on the returned JSON message. var $form = this.getHtmlElement(); this.disableFormControls(); if (!this.confirmText.length || confirm(this.confirmText)) { $.post($form.attr('action'), $form.serialize(), this.callbackWrapper(this.handleResponse), 'json'); } }; /** * Callback to replace the element's content. * * @private * * @param {jQueryObject} sourceElement The containing element. * @param {Event} event The calling event. * @param {string} content The content to replace with. */ $.pkp.controllers.form.AjaxFormHandler.prototype.refreshFormHandler_ = function(sourceElement, event, content) { if (content) { this.replaceWith(content); } }; /** * Internal callback called after form validation to handle the * response to a form submission. * * You can override this handler if you want to do custom handling * of a form response. * * @param {HTMLElement} formElement The wrapped HTML form. * @param {Object} jsonData The data returned from the server. * @return {boolean} The response status. */ $.pkp.controllers.form.AjaxFormHandler.prototype.handleResponse = function(formElement, jsonData) { var $form, formSubmittedEvent, processedJsonData; processedJsonData = this.handleJson(jsonData); if (processedJsonData !== false) { if (processedJsonData.content === '') { // Notify any nested formWidgets of form submitted event. formSubmittedEvent = new $.Event('formSubmitted'); $(this.getHtmlElement()).find('.formWidget').trigger(formSubmittedEvent); // Trigger the "form submitted" event. this.trigger('formSubmitted'); // Fire off any other optional events. this.publishChangeEvents(); // re-enable the form control if it was disabled previously. if (this.disableControlsOnSubmit) { this.enableFormControls(); } } else { // Redisplay the form. this.replaceWith(processedJsonData.content); } } else { // data was false -- assume errors, re-enable form controls. this.enableFormControls(); } // Trigger the notify user event, passing this // html element as data. this.trigger('notifyUser'); // Hide the form spinner. this.hideSpinner(); return processedJsonData.status; }; }(jQuery));
Simpan