first commit
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
/**
|
||||
* @defgroup plugins_pubIds_urn_js
|
||||
*/
|
||||
/**
|
||||
* @file plugins/pubIds/urn/js/URNSettingsFormHandler.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 URNSettingsFormHandler.js
|
||||
* @ingroup plugins_pubIds_urn_js
|
||||
*
|
||||
* @brief Handle the URN Settings form.
|
||||
*/
|
||||
(function($) {
|
||||
|
||||
/** @type {Object} */
|
||||
$.pkp.plugins.pubIds.urn =
|
||||
$.pkp.plugins.pubIds.urn ||
|
||||
{ js: { } };
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*
|
||||
* @extends $.pkp.controllers.form.AjaxFormHandler
|
||||
*
|
||||
* @param {jQueryObject} $form the wrapped HTML form element.
|
||||
* @param {Object} options form options.
|
||||
*/
|
||||
$.pkp.plugins.pubIds.urn.js.URNSettingsFormHandler =
|
||||
function($form, options) {
|
||||
|
||||
this.parent($form, options);
|
||||
|
||||
$(':radio, :checkbox', $form).click(
|
||||
this.callbackWrapper(this.updatePatternFormElementStatus_));
|
||||
//ping our handler to set the form's initial state.
|
||||
this.callbackWrapper(this.updatePatternFormElementStatus_());
|
||||
};
|
||||
$.pkp.classes.Helper.inherits(
|
||||
$.pkp.plugins.pubIds.urn.js.URNSettingsFormHandler,
|
||||
$.pkp.controllers.form.AjaxFormHandler);
|
||||
|
||||
|
||||
/**
|
||||
* Callback to replace the element's content.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
$.pkp.plugins.pubIds.urn.js.URNSettingsFormHandler.prototype.
|
||||
updatePatternFormElementStatus_ =
|
||||
function() {
|
||||
var $element = this.getHtmlElement(), pattern, $contentChoices;
|
||||
if ($('[id^="urnSuffix"]').filter(':checked').val() == 'pattern') {
|
||||
$contentChoices = $element.find(':checkbox');
|
||||
pattern = new RegExp('enable(.*)URN');
|
||||
$contentChoices.each(function() {
|
||||
var patternCheckResult = pattern.exec($(this).attr('name')),
|
||||
$correspondingTextField = $element.find('[id*="' +
|
||||
patternCheckResult[1] + 'SuffixPattern"]').
|
||||
filter(':text');
|
||||
|
||||
if (patternCheckResult !== null &&
|
||||
patternCheckResult[1] !== 'undefined') {
|
||||
if ($(this).is(':checked')) {
|
||||
$correspondingTextField.removeAttr('disabled');
|
||||
} else {
|
||||
$correspondingTextField.attr('disabled', 'disabled');
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$element.find('[id*="SuffixPattern"]').filter(':text').
|
||||
attr('disabled', 'disabled');
|
||||
}
|
||||
};
|
||||
|
||||
/** @param {jQuery} $ jQuery closure. */
|
||||
}(jQuery));
|
||||
Reference in New Issue
Block a user