One Hat Cyber Team
Your IP :
216.73.216.182
Server IP :
203.175.9.166
Server :
Linux tanggamus.iixcp.rumahweb.net 5.14.0-427.28.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 2 03:44:10 EDT 2024 x86_64
Server Software :
LiteSpeed
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
cite5577
/
www
/
lib
/
pkp
/
js
/
controllers
/
modal
/
Edit File:
ConfirmationModalHandler.js
/** * @file js/controllers/modal/ConfirmationModalHandler.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 ConfirmationModalHandler * @ingroup js_controllers_modal * * @brief A modal that displays a static explanatory text and has cancel and * confirmation buttons. */ (function($) { /** * @constructor * * @extends $.pkp.controllers.modal.ModalHandler * * @param {jQueryObject} $handledElement The clickable element * the modal will be attached to. * @param {{ * callback: Function, * callbackArgs: Object * }} options Non-default options to configure the modal. * * Options are: * - okButton string the name for the confirmation button. * - cancelButton string the name for the cancel button * (or false for no button). * - dialogText string the text to be displayed in the modal. * - All options from the ModalHandler widget. * - callback function A callback function to close when confirmed * - callbackArgs object Arguments to pass to the callback function */ $.pkp.controllers.modal.ConfirmationModalHandler = function($handledElement, options) { this.parent($handledElement, options); this.callback_ = options.callback || null; this.callbackArgs_ = options.callbackArgs || null; // Bind to the confirmation button $handledElement.find('.pkpModalConfirmButton') .on('click', this.callbackWrapper(this.modalConfirm)); }; $.pkp.classes.Helper.inherits($.pkp.controllers.modal.ConfirmationModalHandler, $.pkp.controllers.modal.ModalHandler); // // Private properties // /** * A callback to fire when confirmed * @private * @type {?Function} */ $.pkp.controllers.modal.ConfirmationModalHandler.prototype. callback_ = null; /** * Arguments to pass to the callback function * @private * @type {?Object} */ $.pkp.controllers.modal.ConfirmationModalHandler.prototype. callbackArgs_ = null; // // Protected methods // /** * @inheritDoc */ $.pkp.controllers.modal.ConfirmationModalHandler.prototype.checkOptions = function(options) { // Check the mandatory options of the ModalHandler handler. if (!this.parent('checkOptions', options)) { return false; } // Hack to prevent closure compiler type mismatches var castOptions = /** @type {{okButton: string, cancelButton: string, dialogText: string}} */ (options); // Check for our own mandatory options. return typeof castOptions.okButton === 'string' && (/** @type {boolean} */ (castOptions.cancelButton) === false || typeof castOptions.cancelButton === 'string') && typeof castOptions.dialogText === 'string'; }; // // Public methods // /** * Add content to modal * * @return {jQueryObject} jQuery object representing modal content */ $.pkp.controllers.modal.ConfirmationModalHandler.prototype.modalBuild = function() { var $modal = this.parent('modalBuild'), buttons = '<button class="ok pkpModalConfirmButton">' + (/** @type {{ okButton: string }} */ (this.options)).okButton + '</button>'; $modal.addClass('pkp_modal_confirmation').find('.content') .append('<div class="message">' + (/** @type {{ dialogText: string }} */ (this.options)).dialogText + '</div>'); if (this.options.cancelButton) { buttons += '<button class="cancel pkpModalCloseButton">' + this.options.cancelButton + '</button>'; } $modal.append('<div class="footer">' + buttons + '</div>'); // Add aria role and label $modal.attr('role', 'dialog') .attr('aria-label', this.options.title); return /** @type {jQueryObject} */ ($modal); }; /** * Callback that will be activated when the modal's * confirm button is clicked. * * @param {HTMLElement} dialogElement The element the * dialog was created on. * @param {Event} event The click event. */ $.pkp.controllers.modal.ConfirmationModalHandler.prototype.modalConfirm = function(dialogElement, event) { // The default implementation will simply close the modal. this.modalClose(dialogElement); if (this.callback_) { this.callback_.call(null, this.callbackArgs_); } }; }(jQuery));
Simpan