mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-30 01:42:29 +03:00
14c0c5ff65
refs https://github.com/TryGhost/Team/issues/1310 We want to use parts of the "Brand setting" form in a separate streamlined settings screen after site setup but that wasn't possible without a lot of duplication. - extracted individual form fields into separate components for re-use - included minor refactors like using `uploader.registerFileInput` and `uploader.triggerFileDialog` instead of continually duplicating the same file input trigger method - fixed accessibility issues - changed input titles from `<div>` to `<label>` and associated with the component's input fields - changed `<img {{on "click" upload}}>` to `<input type="image">` so they act as proper buttons and are linked to the label (required a styling change so `img` and `input[type="image"]` are treated equally) - finished cleanup of `.description-container-labs` by renaming to `.description-container`
21 lines
579 B
JavaScript
21 lines
579 B
JavaScript
import Component from '@glimmer/component';
|
|
import {action} from '@ember/object';
|
|
import {inject as service} from '@ember/service';
|
|
|
|
export default class SiteDescriptionFormField extends Component {
|
|
@service settings;
|
|
|
|
@action
|
|
update(event) {
|
|
this.settings.set('description', event.target.value);
|
|
}
|
|
|
|
@action
|
|
async validate(event) {
|
|
const value = event.target.value;
|
|
this.settings.set('description', value);
|
|
await this.settings.validate({property: 'description'});
|
|
this.args.didUpdate('description', value);
|
|
}
|
|
}
|