diff options
author | Bob Zeleznik <zzzman@gmail.com> | 2019-02-20 21:02:17 -0500 |
---|---|---|
committer | Bob Zeleznik <zzzman@gmail.com> | 2019-02-20 21:02:17 -0500 |
commit | 8b4da172f9d53a1ad6925801192bd0280ec21e3f (patch) | |
tree | 2d69b900567725e3c09fb85f8a95ca12f7712176 /src/fields/BasicField.ts | |
parent | 6e6b202c905f2b33a7ea140f5fd719cda1933ac9 (diff) | |
parent | 5c147db2e12be2a5aeb57647eda3f4ab43bc697b (diff) |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src/fields/BasicField.ts')
-rw-r--r-- | src/fields/BasicField.ts | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/fields/BasicField.ts b/src/fields/BasicField.ts index 8728b7145..91977b243 100644 --- a/src/fields/BasicField.ts +++ b/src/fields/BasicField.ts @@ -1,6 +1,7 @@ import { Field, FieldId } from "./Field" import { observable, computed, action } from "mobx"; import { Server } from "../client/Server"; +import { UndoManager } from "../client/util/UndoManager"; export abstract class BasicField<T> extends Field { constructor(data: T, save: boolean, id?: FieldId) { @@ -27,9 +28,15 @@ export abstract class BasicField<T> extends Field { } set Data(value: T) { - if (this.data != value) { - this.data = value; + if (this.data === value) { + return; } + let oldValue = this.data; + this.data = value; + UndoManager.AddEvent({ + undo: () => this.Data = oldValue, + redo: () => this.Data = value + }) Server.UpdateField(this); } |