mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-25 00:54:50 +03:00
e852c29699
no issue - `PublishOptions` was exported from the `<EditorLabs::PublishManagement>` component as a convenience when development started but both have now grown in size and are easier to read as separate files
48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
import PublishOptions from '../utils/publish-options';
|
|
import {Resource} from 'ember-could-get-used-to-this';
|
|
import {inject as service} from '@ember/service';
|
|
import {tracked} from '@glimmer/tracking';
|
|
|
|
export default class PublishOptionsResource extends Resource {
|
|
@service config;
|
|
@service limit;
|
|
@service session;
|
|
@service settings;
|
|
@service store;
|
|
|
|
@tracked publishOptions;
|
|
|
|
get value() {
|
|
return this.publishOptions;
|
|
}
|
|
|
|
setup() {
|
|
const post = this.args.positional[0];
|
|
this._post = post;
|
|
|
|
this.publishOptions = this._createPublishOptions(post);
|
|
}
|
|
|
|
update() {
|
|
// required due to a weird invalidation issue when using Ember Data with ember-could-get-used-to-this
|
|
// TODO: re-test after upgrading to ember-resources
|
|
const post = this.args.positional[0];
|
|
if (post !== this._post) {
|
|
this.publishOptions = this._createPublishOptions(post);
|
|
}
|
|
}
|
|
|
|
_createPublishOptions(post) {
|
|
const {config, limit, settings, store} = this;
|
|
|
|
return new PublishOptions({
|
|
config,
|
|
limit,
|
|
post,
|
|
settings,
|
|
store,
|
|
user: this.session.user
|
|
});
|
|
}
|
|
}
|