diff options
Diffstat (limited to 'src/new_fields')
| -rw-r--r-- | src/new_fields/Doc.ts | 6 | ||||
| -rw-r--r-- | src/new_fields/LinkButtonField.ts | 35 |
2 files changed, 41 insertions, 0 deletions
diff --git a/src/new_fields/Doc.ts b/src/new_fields/Doc.ts index cce4fff5d..f6fd44d61 100644 --- a/src/new_fields/Doc.ts +++ b/src/new_fields/Doc.ts @@ -8,6 +8,8 @@ import { listSpec } from "./Schema"; import { ObjectField } from "./ObjectField"; import { RefField, FieldId } from "./RefField"; import { ToScriptString, SelfProxy, Parent, OnUpdate, Self, HandleUpdate, Update, Id } from "./FieldSymbols"; +import { LinkManager } from "../client/util/LinkManager"; +import { DocUtils } from "../client/documents/Documents"; export namespace Field { export function toScriptString(field: Field): string { @@ -258,14 +260,18 @@ export namespace Doc { } } else { if (field instanceof RefField) { + console.log("equals field, ref", key); copy[key] = field; } else if (field instanceof ObjectField) { + console.log("copy field, object", key); copy[key] = ObjectField.MakeCopy(field); } else { + console.log("equals field", key); copy[key] = field; } } }); + return copy; } diff --git a/src/new_fields/LinkButtonField.ts b/src/new_fields/LinkButtonField.ts new file mode 100644 index 000000000..e6d1de749 --- /dev/null +++ b/src/new_fields/LinkButtonField.ts @@ -0,0 +1,35 @@ +// import { Deserializable } from "../client/util/SerializationHelper"; +// import { serializable, primitive, createSimpleSchema, object } from "serializr"; +// import { ObjectField } from "./ObjectField"; +// import { Copy, ToScriptString } from "./FieldSymbols"; +// import { Doc } from "./Doc"; +// import { DocumentView } from "../client/views/nodes/DocumentView"; + +// export type LinkButtonData = { +// sourceViewId: string, +// targetViewId: string +// }; + +// const LinkButtonSchema = createSimpleSchema({ +// sourceViewId: true, +// targetViewId: true +// }); + +// @Deserializable("linkButton") +// export class LinkButtonField extends ObjectField { +// @serializable(object(LinkButtonSchema)) +// readonly data: LinkButtonData; + +// constructor(data: LinkButtonData) { +// super(); +// this.data = data; +// } + +// [Copy]() { +// return new LinkButtonField(this.data); +// } + +// [ToScriptString]() { +// return "invalid"; +// } +// } |
