aboutsummaryrefslogtreecommitdiff
path: root/src/new_fields/CursorField.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/new_fields/CursorField.ts')
-rw-r--r--src/new_fields/CursorField.ts16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/new_fields/CursorField.ts b/src/new_fields/CursorField.ts
index fc144222c..fd86031a8 100644
--- a/src/new_fields/CursorField.ts
+++ b/src/new_fields/CursorField.ts
@@ -1,7 +1,8 @@
-import { ObjectField, Copy, OnUpdate } from "./ObjectField";
+import { ObjectField } from "./ObjectField";
import { observable } from "mobx";
import { Deserializable } from "../client/util/SerializationHelper";
-import { serializable, createSimpleSchema, object } from "serializr";
+import { serializable, createSimpleSchema, object, date } from "serializr";
+import { OnUpdate, ToScriptString, Copy } from "./FieldSymbols";
export type CursorPosition = {
x: number,
@@ -10,7 +11,8 @@ export type CursorPosition = {
export type CursorMetadata = {
id: string,
- identifier: string
+ identifier: string,
+ timestamp: number
};
export type CursorData = {
@@ -25,7 +27,8 @@ const PositionSchema = createSimpleSchema({
const MetadataSchema = createSimpleSchema({
id: true,
- identifier: true
+ identifier: true,
+ timestamp: true
});
const CursorSchema = createSimpleSchema({
@@ -46,10 +49,15 @@ export default class CursorField extends ObjectField {
setPosition(position: CursorPosition) {
this.data.position = position;
+ this.data.metadata.timestamp = Date.now();
this[OnUpdate]();
}
[Copy]() {
return new CursorField(this.data);
}
+
+ [ToScriptString]() {
+ return "invalid";
+ }
} \ No newline at end of file