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/UserFormHandler.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 UserFormHandler * @ingroup js_controllers_form * * @brief Add tools to the AjaxFormHandler facilitating user creation/editing. */ (function($) { /** * @constructor * * @extends $.pkp.controllers.form.AjaxFormHandler * * @param {jQueryObject} $form the wrapped HTML form element. * @param {{ * fetchUsernameSuggestionUrl: string, * usernameSuggestionTextAlert: string, * hideNonReviewerInterests: boolean * }} options options to configure the form handler. */ $.pkp.controllers.form.UserFormHandler = function($form, options) { this.parent($form, options); // Set data for suggesting usernames. Both keys should be present. if (options.fetchUsernameSuggestionUrl && options.usernameSuggestionTextAlert) { this.fetchUsernameSuggestionUrl_ = options.fetchUsernameSuggestionUrl; this.usernameSuggestionTextAlert_ = options.usernameSuggestionTextAlert; } // Attach handler to suggest username button (if present) $('[id^="suggestUsernameButton"]', $form).click( this.callbackWrapper(this.generateUsername)); if (options.hideNonReviewerInterests) { $('[id^="reviewerGroup-"]', $form).click( this.callbackWrapper(this.setInterestsVisibility_)); this.setInterestsVisibility_(); } }; $.pkp.classes.Helper.inherits( $.pkp.controllers.form.UserFormHandler, $.pkp.controllers.form.AjaxFormHandler); // // Private properties // /** * The URL to be called to fetch a username suggestion. * @private * @type {string} */ $.pkp.controllers.form.UserFormHandler. prototype.fetchUsernameSuggestionUrl_ = ''; /** * The message that will be displayed if users click on suggest * username button with no data in family name. * @private * @type {string} */ $.pkp.controllers.form.UserFormHandler. prototype.usernameSuggestionTextAlert_ = ''; // // Protected methods // /** * Event handler that is called when the suggest username button is clicked. * * @param {HTMLElement} el clicked by this event * @param {Event} e triggered */ $.pkp.controllers.form.UserFormHandler.prototype. generateUsername = function(el, e) { // Don't submit the form! e.preventDefault(); var $form = this.getHtmlElement(), givenName, familyName, fetchUrl, sitePrimaryLocale; // Fetch entered names sitePrimaryLocale = /** @type {string} */ ($('[name="sitePrimaryLocale"]', $form).val()); givenName = /** @type {string} */ ($('[name="givenName[' + sitePrimaryLocale + ']"]', $form).val()); familyName = /** @type {string} */ ($('[name="familyName[' + sitePrimaryLocale + ']"]', $form).val()); // Replace dummy values in the URL with entered values fetchUrl = this.fetchUsernameSuggestionUrl_. replace('GIVEN_NAME_PLACEHOLDER', givenName). replace('FAMILY_NAME_PLACEHOLDER', familyName); $.get(fetchUrl, this.callbackWrapper(this.setUsername), 'json'); }; /** * Check JSON message and set it to username, back on form. * @param {HTMLElement} formElement The Form HTML element. * @param {JSONType} jsonData The jsonData response. */ $.pkp.controllers.form.UserFormHandler.prototype. setUsername = function(formElement, jsonData) { var processedJsonData = this.handleJson(jsonData), $form = this.getHtmlElement(); if (processedJsonData === false) { throw new Error('JSON response must be set to true!'); } // Re-validate the field $('[id^="username"]', $form).val(processedJsonData.content) .trigger('blur'); }; // // Private methods // /** * Event handler that is called when a reviewer role checkbox is clicked. * @private */ $.pkp.controllers.form.UserFormHandler.prototype. setInterestsVisibility_ = function() { var $form = this.getHtmlElement(), $interestsElement = $('#interests', $form); if ($('[id^="reviewerGroup-"]:checked', $form).size()) { // At least one checked reviewer role was found; show interests $interestsElement.show(300); } else { // No checked reviewer roles found; hide interests $interestsElement.hide(300); } }; }(jQuery));
Simpan