Ghost/ghost/admin/app/routes/lexical-editor/new.js
Kevin Ansfield 3fd32ce3cf
Lexical-powered editor experiment (#15278)
no issue

We're spending a bit of time playing with an alternative to mobiledoc-kit to test it's feasibility as a base for future editor improvements.

- add `editor.lexicalUrl` config that points at the unpkg release by default
- set up a route on `/ghost/#/lexical-editor/post/` for the test playground which renders `<KoenigLexicialEditor>` as the editor
- adds `<KoenigLexicalEditor>` component that lazy loads the external react component
2022-08-23 11:45:50 +01:00

28 lines
864 B
JavaScript

import AuthenticatedRoute from 'ghost-admin/routes/authenticated';
export default class NewRoute extends AuthenticatedRoute {
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/controler
setupController(controller, newPost) {
let editor = this.controllerFor('lexical-editor');
editor.setPost(newPost);
}
buildRouteInfoMetadata() {
return {
mainClasses: ['editor-new']
};
}
}