diff options
Diffstat (limited to 'src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts')
| -rw-r--r-- | src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts | 24 | 
1 files changed, 9 insertions, 15 deletions
| diff --git a/src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts b/src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts index a0b02880e..0e3e7f91e 100644 --- a/src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts +++ b/src/client/views/nodes/formattedText/ProsemirrorExampleTransfer.ts @@ -7,10 +7,10 @@ import { splitListItem, wrapInList, } from "prosemirror-schema-list";  import { EditorState, Transaction, TextSelection } from "prosemirror-state";  import { SelectionManager } from "../../../util/SelectionManager";  import { Docs } from "../../../documents/Documents"; -import { NumCast, BoolCast, Cast, StrCast } from "../../../../new_fields/Types"; -import { Doc } from "../../../../new_fields/Doc"; +import { NumCast, BoolCast, Cast, StrCast } from "../../../../fields/Types"; +import { Doc } from "../../../../fields/Doc";  import { FormattedTextBox } from "./FormattedTextBox"; -import { Id } from "../../../../new_fields/FieldSymbols"; +import { Id } from "../../../../fields/FieldSymbols";  const mac = typeof navigator !== "undefined" ? /Mac/.test(navigator.platform) : false; @@ -154,15 +154,12 @@ export default function buildKeymap<S extends Schema<any>>(schema: S, props: any          const originalDoc = layoutDoc.rootDocument || layoutDoc;          if (originalDoc instanceof Doc) {              const layoutKey = StrCast(originalDoc.layoutKey); -            const newDoc = Docs.Create.TextDocument("", { -                layout: Cast(originalDoc.layout, Doc, null) || FormattedTextBox.DefaultLayout, -                layoutKey, -                _singleLine: BoolCast(originalDoc._singleLine), -                x: NumCast(originalDoc.x), y: NumCast(originalDoc.y) + NumCast(originalDoc._height) + 10, _width: NumCast(layoutDoc._width), _height: NumCast(layoutDoc._height) -            }); +            const newDoc = Doc.MakeCopy(originalDoc, true); +            newDoc.y = NumCast(originalDoc.y) + NumCast(originalDoc._height) + 10;              if (layoutKey !== "layout" && originalDoc[layoutKey] instanceof Doc) {                  newDoc[layoutKey] = originalDoc[layoutKey];              } +            Doc.GetProto(newDoc).text = undefined;              FormattedTextBox.SelectOnLoad = newDoc[Id];              props.addDocument(newDoc);          } @@ -178,15 +175,12 @@ export default function buildKeymap<S extends Schema<any>>(schema: S, props: any          const originalDoc = layoutDoc.rootDocument || layoutDoc;          if (force || props.Document._singleLine) {              const layoutKey = StrCast(originalDoc.layoutKey); -            const newDoc = Docs.Create.TextDocument("", { -                layout: Cast(originalDoc.layout, Doc, null) || FormattedTextBox.DefaultLayout, -                layoutKey, -                _singleLine: BoolCast(originalDoc._singleLine), -                x: NumCast(originalDoc.x) + NumCast(originalDoc._width) + 10, y: NumCast(originalDoc.y), _width: NumCast(layoutDoc._width), _height: NumCast(layoutDoc._height) -            }); +            const newDoc = Doc.MakeCopy(originalDoc, true); +            newDoc.x = NumCast(originalDoc.x) + NumCast(originalDoc._width) + 10;              if (layoutKey !== "layout" && originalDoc[layoutKey] instanceof Doc) {                  newDoc[layoutKey] = originalDoc[layoutKey];              } +            Doc.GetProto(newDoc).text = undefined;              FormattedTextBox.SelectOnLoad = newDoc[Id];              props.addDocument(newDoc);              return true; | 
