Ghost/ghost/admin/app/routes/editor/new.js
Kevin Ansfield 3653cfbfbf Refactored document-title handler
no issue
- moved `document-title` Route extension's functionality into the `ui` service
  - updates the title each time the router service emits a route changed event
  - `ui.updateDocumentTitle()` can now be called directly from components rather than the confusing `this.send('updateDocumentTitle')` bubbling behaviour
- refactored the `titleToken` implementation to use the now-formalised `RouteInfo`'s `metadata` field (https://github.com/emberjs/rfcs/blob/master/text/0398-RouteInfo-Metadata.md#appendix-a)
2019-05-20 16:16:19 +01:00

30 lines
894 B
JavaScript

import AuthenticatedRoute from 'ghost-admin/routes/authenticated';
export default AuthenticatedRoute.extend({
model(params, transition) {
let {type: modelName} = params;
if (!['post','page'].includes(modelName)) {
let path = transition.intent.url.replace(/^\//, '');
return this.replaceWith('error404', {path, status: 404});
}
return this.get('session.user').then(user => (
this.store.createRecord(modelName, {authors: [user]})
));
},
// there's no specific controller for this route, instead all editor
// handling is done on the editor route/controler
setupController(controller, newPost) {
let editor = this.controllerFor('editor');
editor.setPost(newPost);
},
buildRouteInfoMetadata() {
return {
mainClasses: ['editor-new']
};
}
});