docbrown/app/javascript/admin/controllers/config_controller.js
Jacob Herrington c91c07920f
Add config option for Forem collective noun (#11107)
Not everyone will want to use "Community" to describe their Forem, so
now they have some flexibility there.
2020-10-27 12:45:52 -04:00

37 lines
1.1 KiB
JavaScript

import { Controller } from 'stimulus';
const recaptchaFields = document.querySelector('#recaptchaContainer');
export default class ConfigController extends Controller {
static targets = [
'authenticationProviders',
'collectiveNoun',
'requireCaptchaForEmailPasswordRegistration',
];
disableTargetField(event) {
const targetElementName = event.target.dataset.disableTarget;
const targetElement = this[`${targetElementName}Target`];
const newValue = event.target.checked;
targetElement.disabled = newValue;
// Disable the button generated by ERB for select tags
if (targetElement.nodeName === 'SELECT') {
const snakeCaseName = targetElementName.replace(
/[A-Z]/g,
(letter) => `_${letter.toLowerCase()}`,
);
document.querySelector(
`button[data-id=site_config_${snakeCaseName}]`,
).disabled = newValue;
}
}
toggleGoogleRecaptchaFields() {
if (this.requireCaptchaForEmailPasswordRegistrationTarget.checked) {
recaptchaFields.classList.remove('collapse');
} else {
recaptchaFields.classList.add('collapse');
}
}
}