From f66fcf8f59abd3df182d154e6c0c7f25b9746c22 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Wed, 17 Apr 2019 16:01:39 +0300
Subject: [PATCH] create schema

---
 editors/default/src/Default.js                | 11 ++++-----
 package.json                                  |  9 +++----
 wax-prosemirror-core/Wax.js                   |  1 -
 .../config/classes/CodeBlockView.js           |  4 ++--
 .../config/classes/WaxSchema.js               | 24 -------------------
 wax-prosemirror-core/config/rules.js          |  4 ++--
 wax-prosemirror-core/index.js                 |  2 +-
 7 files changed, 15 insertions(+), 40 deletions(-)
 delete mode 100644 wax-prosemirror-core/config/classes/WaxSchema.js

diff --git a/editors/default/src/Default.js b/editors/default/src/Default.js
index 88e0598bd..29a89c275 100644
--- a/editors/default/src/Default.js
+++ b/editors/default/src/Default.js
@@ -1,22 +1,21 @@
 import React, { Component } from "react";
-import { Schema } from "prosemirror-model";
-import { Wax } from "wax-prosemirror-core";
+import { Wax, createSchema } from "wax-prosemirror-core";
 import { defaultSchema } from "wax-prosemirror-schema";
 
-const { nodes, marks } = defaultSchema;
+const plugins = [];
+const keys = {};
 
 const options = {
-  schema: new Schema({ nodes, marks })
+  schema: new createSchema(defaultSchema)
 };
 
 class Default extends Component {
   render() {
-    console.log(options.schema);
     return (
       <Wax
-        placeholder="Type Something..."
         options={options}
         autoFocus
+        placeholder="Type Something..."
         theme="default"
         layout="default"
         debug
diff --git a/package.json b/package.json
index ef902561f..9829ae6ae 100644
--- a/package.json
+++ b/package.json
@@ -20,18 +20,19 @@
     "clean:root": "rm -rf node_modules",
     "reset": "yarn clean && yarn",
     "build": "lerna run build --concurrency=1 --stream",
+    "aleksis": "cd editors/aleksis && yarn start",
     "default": "cd editors/default && yarn start"
   },
   "dependencies": {},
   "devDependencies": {
-    "lerna": "^2.6.0",
+    "@babel/plugin-proposal-class-properties": "^7.0.0",
     "@babel/preset-env": "^7.0.0",
     "@babel/preset-react": "^7.0.0",
-    "@babel/plugin-proposal-class-properties": "^7.0.0",
     "css-loader": "^0.28.11",
+    "lerna": "^2.6.0",
     "style-loader": "^0.23.1",
-    "svg-inline-loader": "^0.8.0",
-    "stylelint": "^8.2.0"
+    "stylelint": "^8.2.0",
+    "svg-inline-loader": "^0.8.0"
   },
   "workspaces": [
     "wax-prosemirror-core",
diff --git a/wax-prosemirror-core/Wax.js b/wax-prosemirror-core/Wax.js
index 4f1d59e72..b6e6d9a43 100644
--- a/wax-prosemirror-core/Wax.js
+++ b/wax-prosemirror-core/Wax.js
@@ -4,7 +4,6 @@ import debounce from "lodash/debounce";
 import { DOMParser, DOMSerializer } from "prosemirror-model";
 
 import Editor from "./Editor";
-import WaxSchema from "./config/classes/WaxSchema";
 import plugins from "./config/plugins";
 import placeholder from "./config/plugins/placeholder";
 
diff --git a/wax-prosemirror-core/config/classes/CodeBlockView.js b/wax-prosemirror-core/config/classes/CodeBlockView.js
index 0c5ad469f..4ef236479 100644
--- a/wax-prosemirror-core/config/classes/CodeBlockView.js
+++ b/wax-prosemirror-core/config/classes/CodeBlockView.js
@@ -16,9 +16,9 @@ import { undo, redo } from "prosemirror-history";
 import { TextSelection } from "prosemirror-state";
 import { keymap } from "prosemirror-keymap";
 
-import WaxSchema from "./WaxSchema";
+// import WaxSchema from "./WaxSchema";
 
-const schema = WaxSchema();
+// const schema = WaxSchema();
 
 class CodeBlockView {
   constructor(node, view, getPos) {
diff --git a/wax-prosemirror-core/config/classes/WaxSchema.js b/wax-prosemirror-core/config/classes/WaxSchema.js
deleted file mode 100644
index 774325758..000000000
--- a/wax-prosemirror-core/config/classes/WaxSchema.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Schema } from "prosemirror-model";
-
-import nodes from "../nodes";
-import marks from "../marks";
-
-class WaxSchema {
-  constructor(config = { nodes: {}, marks: {} }) {
-    if (!WaxSchema.instance) {
-      this.schema = {};
-      Object.assign(nodes, config.nodes);
-      Object.assign(marks, config.marks);
-      const schema = new Schema({ nodes, marks });
-      WaxSchema.instance = schema;
-      return WaxSchema.instance;
-    }
-
-    return WaxSchema.instance;
-  }
-}
-
-export default config => {
-  const instance = new WaxSchema(config);
-  return Object.freeze(instance);
-};
diff --git a/wax-prosemirror-core/config/rules.js b/wax-prosemirror-core/config/rules.js
index 7396e57be..83ea4ad27 100644
--- a/wax-prosemirror-core/config/rules.js
+++ b/wax-prosemirror-core/config/rules.js
@@ -7,9 +7,9 @@ import {
   ellipsis
 } from "prosemirror-inputrules";
 
-import WaxSchema from "./classes/WaxSchema";
+// import WaxSchema from "./classes/WaxSchema";
 
-const schema = WaxSchema();
+// const schema = WaxSchema();
 
 export default inputRules({
   rules: [
diff --git a/wax-prosemirror-core/index.js b/wax-prosemirror-core/index.js
index 2e3049cbd..35d79a14c 100644
--- a/wax-prosemirror-core/index.js
+++ b/wax-prosemirror-core/index.js
@@ -1,6 +1,6 @@
 export { default as Wax } from "./Wax";
 
-export { default as WaxSchema } from "./config/classes/WaxSchema";
+export { default as createSchema } from "./config/classes/createSchema";
 export { default as plugins } from "./config/plugins";
 
 //Components
-- 
GitLab