Skip to content
Snippets Groups Projects
Commit 3e122026 authored by chris's avatar chris
Browse files

add nodeviews

parent 354c4663
No related branches found
No related tags found
1 merge request!359new node structure
import AbstractNodeView from '../PortalService/AbstractNodeView'; import AbstractNodeView from '../PortalService/AbstractNodeView';
export default class EssayNodeView extends AbstractNodeView { export default class EssayAnswerNodeView extends AbstractNodeView {
constructor( constructor(
node, node,
view, view,
......
import AbstractNodeView from '../PortalService/AbstractNodeView';
export default class EssayQuestionNodeView extends AbstractNodeView {
constructor(
node,
view,
getPos,
decorations,
createPortal,
Component,
context,
) {
super(node, view, getPos, decorations, createPortal, Component, context);
this.node = node;
this.outerView = view;
this.getPos = getPos;
this.context = context;
}
static name() {
return 'essay';
}
update(node) {
return true;
}
stopEvent(event) {
console.log(event.target.type);
if (event.target.type === 'textarea') {
return true;
}
const innerView = this.context.view[this.node.attrs.id];
return innerView && innerView.dom.contains(event.target);
}
}
...@@ -4,7 +4,9 @@ import essayContainerNode from './schema/essayContainerNode'; ...@@ -4,7 +4,9 @@ import essayContainerNode from './schema/essayContainerNode';
import essayQuestionNode from './schema/essayQuestionNode'; import essayQuestionNode from './schema/essayQuestionNode';
import essayAnswerNode from './schema/essayAnswerNode'; import essayAnswerNode from './schema/essayAnswerNode';
import EssayQuestionComponent from './components/EssayQuestionComponent'; import EssayQuestionComponent from './components/EssayQuestionComponent';
import EssayNodeView from './EssayNodeView'; import EssayAnswerComponent from './components/EssayAnswerComponent';
import EssayQuestionNodeView from './EssayQuestionNodeView';
import EssayAnswerNodeView from './EssayAnswerNodeView';
class EssayService extends Service { class EssayService extends Service {
register() { register() {
...@@ -25,10 +27,16 @@ class EssayService extends Service { ...@@ -25,10 +27,16 @@ class EssayService extends Service {
}); });
addPortal({ addPortal({
nodeView: EssayNodeView, nodeView: EssayQuestionNodeView,
component: EssayQuestionComponent, component: EssayQuestionComponent,
context: this.app, context: this.app,
}); });
addPortal({
nodeView: EssayAnswerNodeView,
component: EssayAnswerComponent,
context: this.app,
});
} }
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment