Ghost/ghost/admin/app/components/custom-theme-settings/boolean.js
Kevin Ansfield 9d38a0a1e1 Added support for boolean custom theme settings
refs https://github.com/TryGhost/Team/issues/1106

- removed `'string'` from the `attr()` definition for `customThemeSetting.value` so that we're not coercing the value from the API into something that doesn't work when applied to the `checked` attribute on checkbox inputs
- added initial `<CustomThemeSettings::Boolean>` component and used it for display in theme setting forms when `type === 'boolean'`
2021-10-13 17:55:17 +01:00

17 lines
528 B
JavaScript

import Component from '@glimmer/component';
import {action} from '@ember/object';
import {camelize} from '@ember/string';
import {guidFor} from '@ember/object/internals';
export default class CustomThemeSettingsBooleanComponent extends Component {
checkboxId = `checkbox-${guidFor(this)}`;
checkboxName = camelize(this.args.setting.key);
@action
toggleValue(changeEvent) {
const value = changeEvent.target.checked;
this.args.setting.set('value', value);
this.args.onChange?.();
}
}