mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-24 19:33:02 +03:00
48aaa53770
no issue - adds `lexicalEditor` alpha labs flag and associated toggle in Admin - when feature flag is enabled the new post/page routes will load the lexical editor instead of the mobiledoc editor
40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
import AuthenticatedRoute from 'ghost-admin/routes/authenticated';
|
|
import {inject as service} from '@ember/service';
|
|
|
|
export default class NewRoute extends AuthenticatedRoute {
|
|
@service feature;
|
|
@service router;
|
|
|
|
beforeModel(transition) {
|
|
super.beforeModel(...arguments);
|
|
|
|
if (this.feature.lexicalEditor) {
|
|
return this.transitionTo('lexical-editor.new', transition.to.params.type);
|
|
}
|
|
}
|
|
|
|
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.store.createRecord(modelName, {authors: [this.session.user]});
|
|
}
|
|
|
|
// there's no specific controller for this route, instead all editor
|
|
// handling is done on the editor route/controller
|
|
setupController(controller, newPost) {
|
|
let editor = this.controllerFor('editor');
|
|
editor.setPost(newPost);
|
|
}
|
|
|
|
buildRouteInfoMetadata() {
|
|
return {
|
|
mainClasses: ['editor-new']
|
|
};
|
|
}
|
|
}
|