mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-30 01:42:29 +03:00
ca46308abe
refs TryGhost/Team#3247 - The feedback form UI is hidden by default - Enabling “Lexical editor” doesn’t show the feedback form - Disabling “Lexical editor” shows the feedback form below this lab item and user can send the feedback - Refreshing the page or navigating to some other page and then back to Labs → the form is hidden again
56 lines
1.2 KiB
JavaScript
56 lines
1.2 KiB
JavaScript
import Component from '@ember/component';
|
|
import classic from 'ember-classic-decorator';
|
|
import {attributeBindings, classNames, tagName} from '@ember-decorators/component';
|
|
import {computed, defineProperty} from '@ember/object';
|
|
import {readOnly} from '@ember/object/computed';
|
|
import {inject as service} from '@ember/service';
|
|
|
|
@classic
|
|
@tagName('label')
|
|
@classNames('switch')
|
|
@attributeBindings('for', 'disabled')
|
|
class FeatureFlagComponent extends Component {
|
|
@service feature;
|
|
|
|
@computed('_disabled')
|
|
get disabled() {
|
|
if (this._disabled) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@computed('_flagValue')
|
|
get value() {
|
|
return this._flagValue;
|
|
}
|
|
|
|
set value(value) {
|
|
this.set(`feature.${this.flag}`, value);
|
|
}
|
|
|
|
@computed('flag')
|
|
get for() {
|
|
return `labs-${this.flag}`;
|
|
}
|
|
|
|
@computed('flag')
|
|
get name() {
|
|
return `labs[${this.flag}]`;
|
|
}
|
|
|
|
get testKey() {
|
|
return `labs-${this.flag}`;
|
|
}
|
|
|
|
init() {
|
|
super.init(...arguments);
|
|
|
|
defineProperty(this, '_flagValue', readOnly(`feature.${this.flag}`), function () {
|
|
return this.get(`feature.${this.flag}`);
|
|
});
|
|
}
|
|
}
|
|
|
|
export default FeatureFlagComponent;
|