Skip to content
Snippets Groups Projects
Commit 6e74b389 authored by chris's avatar chris
Browse files

Text tool service

parent 7393a195
No related branches found
No related tags found
1 merge request!45Develop
Showing
with 228 additions and 26 deletions
......@@ -51,9 +51,8 @@ const Editoria = () => (
value="<p> <span style='font-style:italic;'>test</span>hello <code> this is the code</code></p>"
layout={EditoriaLayout}
user={user}
debug
/>
<div id="editors"></div>
<div id="editors" />
</Fragment>
);
......
......@@ -14,7 +14,9 @@ import {
BaseToolGroupService,
DisplayBlockLevelService,
DisplayToolGroupService,
ImageToolGroupService
ImageToolGroupService,
TextBlockLevelService,
TextToolGroupService
} from "wax-prosemirror-services";
import invisibles, {
......@@ -31,7 +33,7 @@ export default {
},
{
templateArea: "leftSideBar",
toolGroups: ["Display"]
toolGroups: ["Display", "Text"]
}
],
......@@ -59,8 +61,8 @@ export default {
new BaseToolGroupService(),
new DisplayBlockLevelService(),
new DisplayToolGroupService(),
new ImageToolGroupService()
// new TextBlockLevelService(),
// new TextToolGroupService()
new ImageToolGroupService(),
new TextBlockLevelService(),
new TextToolGroupService()
]
};
......@@ -22,7 +22,7 @@ const extractPoetry = {
],
toDOM(hook, next) {
const attrs = blockLevelToDOM(hook.node);
hook.value[("p", attrs, 0)];
hook.value = ["p", attrs, 0];
next();
}
};
......
import Tools from "../../lib/Tools";
import { injectable } from "inversify";
import { wrapIn } from "prosemirror-commands";
@injectable()
class BlockQuote extends Tools {
title = "Change to Block Quote";
content = "Block Quote";
get run() {
return (state, dispatch) => {
wrapIn(state.config.schema.nodes.blockquote)(state, dispatch);
};
}
get enable() {
return state => {
return wrapIn(state.config.schema.nodes.blockquote)(state);
};
}
}
export default BlockQuote;
import Service from "wax-prosemirror-core/src/services/Service";
import { blockQuoteNode } from "wax-prosemirror-schema";
import BlockQuote from "./BlockQuote";
class BlockQuoteService extends Service {
boot() {}
register() {
this.container.bind("BlockQuote").to(BlockQuote);
const createNode = this.container.get("CreateNode");
createNode(
{
blockquote: blockQuoteNode
},
{ toWaxSchema: true }
);
}
}
export default BlockQuoteService;
import Tools from "../../lib/Tools";
import { injectable } from "inversify";
import { setBlockType } from "prosemirror-commands";
@injectable()
class ExtractPoetry extends Tools {
title = "Change to Extract Poetry";
content = "Extract Poetry";
get run() {
return (state, dispatch) => {
setBlockType(state.config.schema.nodes.extractPoetry)(state, dispatch);
};
}
get enable() {
return state => {
return setBlockType(state.config.schema.nodes.extractPoetry)(state);
};
}
}
export default ExtractPoetry;
import Service from "wax-prosemirror-core/src/services/Service";
import { extractPoetryNode } from "wax-prosemirror-schema";
import ExtractPoetry from "./ExtractPoetry";
class ExtractPoetryService extends Service {
boot() {}
register() {
this.container.bind("ExtractPoetry").to(ExtractPoetry);
const createNode = this.container.get("CreateNode");
createNode(
{
extractPoetry: extractPoetryNode
},
{ toWaxSchema: true }
);
}
}
export default ExtractPoetryService;
import Tools from "../../lib/Tools";
import { injectable } from "inversify";
import { setBlockType } from "prosemirror-commands";
@injectable()
class ExtractProse extends Tools {
title = "Change to Extract Prose";
content = "Extract Prose";
get run() {
return (state, dispatch) => {
setBlockType(state.config.schema.nodes.extractProse)(state, dispatch);
};
}
get enable() {
return state => {
return setBlockType(state.config.schema.nodes.extractProse)(state);
};
}
}
export default ExtractProse;
import Service from "wax-prosemirror-core/src/services/Service";
import { extractProseNode } from "wax-prosemirror-schema";
import ExtractProse from "./ExtractProse";
class ExtractProseService extends Service {
boot() {}
register() {
this.container.bind("ExtractProse").to(ExtractProse);
const createNode = this.container.get("CreateNode");
createNode(
{
extractProse: extractProseNode
},
{ toWaxSchema: true }
);
}
}
export default ExtractProseService;
......@@ -9,13 +9,13 @@ class ParagraphContinued extends Tools {
get run() {
return (state, dispatch) => {
setBlockType(state.config.schema.nodes.paragraph)(state, dispatch);
setBlockType(state.config.schema.nodes.paragraphCont)(state, dispatch);
};
}
get enable() {
return state => {
return setBlockType(state.config.schema.nodes.paragraph)(state);
return setBlockType(state.config.schema.nodes.paragraphCont)(state);
};
}
}
......
import Service from "wax-prosemirror-core/src/services/Service";
import { paragraphContNode } from "wax-prosemirror-schema";
import ParagraphContinued from "./ParagraphContinued";
class ParagraphContinuedService extends Service {
......@@ -6,6 +7,13 @@ class ParagraphContinuedService extends Service {
register() {
this.container.bind("ParagraphContinued").to(ParagraphContinued);
const createNode = this.container.get("CreateNode");
createNode(
{
paragraphCont: paragraphContNode
},
{ toWaxSchema: true }
);
}
}
......
import Service from "wax-prosemirror-core/src/services/Service";
import Paragraph from "./Paragraph";
class PsragraphService extends Service {
class ParagraphService extends Service {
boot() {}
register() {
......
import Tools from "../../lib/Tools";
import { injectable } from "inversify";
import { setBlockType } from "prosemirror-commands";
@injectable()
class SourceNote extends Tools {
title = "Change to Source Note";
content = "Source Note";
get run() {
return (state, dispatch) => {
setBlockType(state.config.schema.nodes.sourceNote)(state, dispatch);
};
}
get enable() {
return state => {
return setBlockType(state.config.schema.nodes.sourceNote)(state);
};
}
}
export default SourceNote;
import Service from "wax-prosemirror-core/src/services/Service";
import { sourceNoteNode } from "wax-prosemirror-schema";
import SourceNote from "./SourceNote";
class SourceNoteService extends Service {
boot() {}
register() {
this.container.bind("SourceNote").to(SourceNote);
const createNode = this.container.get("CreateNode");
createNode(
{
sourceNote: sourceNoteNode
},
{ toWaxSchema: true }
);
}
}
export default SourceNoteService;
// import ExtractPoetryService from "./ExtractPoetryService/ExtractPoetryService";
// import ExtractProseService from "./ExtractProseService/ExtractProseService";
// import ParagraphContinuedService from "./ParagraphContinuedService/ParagraphContinuedService";
// import ParagraphService from "./ParagraphService/ParagraphService";
// import SourceNoteService from "./SourceNoteService/SourceNoteService";
//
// export default [
// new ExtractPoetryService(),
// new ExtractProseService(),
// new ParagraphContinuedService(),
// new ParagraphService(),
// new SourceNoteService()
// ];
import ExtractPoetryService from "./ExtractPoetryService/ExtractPoetryService";
import ExtractProseService from "./ExtractProseService/ExtractProseService";
import ParagraphContinuedService from "./ParagraphContinuedService/ParagraphContinuedService";
import ParagraphService from "./ParagraphService/ParagraphService";
import SourceNoteService from "./SourceNoteService/SourceNoteService";
import BlockQuoteService from "./BlockQuoteService/BlockQuoteService";
export default [
new ExtractPoetryService(),
new ExtractProseService(),
new ParagraphContinuedService(),
new ParagraphService(),
new SourceNoteService(),
new BlockQuoteService()
];
import React from "react";
import { injectable, inject } from "inversify";
import ToolGroup from "../../lib/ToolGroup";
@injectable()
class Text extends ToolGroup {
tools = [];
constructor() {
title = () => {
return (
<span>
Text
<hr />
</span>
);
};
constructor(
@inject("Paragraph") paragraph,
@inject("ParagraphContinued") paragraphContinued,
@inject("ExtractProse") extractProse,
@inject("ExtractPoetry") extractPoetry,
@inject("SourceNote") sourceNote,
@inject("BlockQuote") blockQuote
) {
super();
this.tools = [];
this.tools = [
paragraph,
paragraphContinued,
extractProse,
extractPoetry,
sourceNote,
blockQuote
];
}
}
......
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