aboutsummaryrefslogtreecommitdiff
path: root/src/fields/util.ts
diff options
context:
space:
mode:
authorusodhi <61431818+usodhi@users.noreply.github.com>2020-07-10 11:51:20 +0530
committerusodhi <61431818+usodhi@users.noreply.github.com>2020-07-10 11:51:20 +0530
commit085829cec2b11fe23d0424cc4e3e84785f8b7f51 (patch)
tree34870a7ecb2b673ae4189f9aca511b3988096522 /src/fields/util.ts
parentbc0d6410ac42af595cea1fb242e10e464da321ae (diff)
set up playground mode
Diffstat (limited to 'src/fields/util.ts')
-rw-r--r--src/fields/util.ts17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/fields/util.ts b/src/fields/util.ts
index f82ea26e0..77855887e 100644
--- a/src/fields/util.ts
+++ b/src/fields/util.ts
@@ -71,7 +71,8 @@ const _setterImpl = action(function (target: any, prop: string | symbol | number
const fromServer = target[UpdatingFromServer];
const sameAuthor = fromServer || (receiver.author === Doc.CurrentUserEmail);
const writeToDoc = sameAuthor || (writeMode !== DocServer.WriteMode.LiveReadonly);
- const writeToServer = sameAuthor || (writeMode === DocServer.WriteMode.Default);
+ const writeToServer = (sameAuthor || (writeMode === DocServer.WriteMode.Default)) && !playgroundMode;
+
if (writeToDoc) {
if (value === undefined) {
delete target.__fields[prop];
@@ -79,10 +80,13 @@ const _setterImpl = action(function (target: any, prop: string | symbol | number
target.__fields[prop] = value;
}
//if (typeof value === "object" && !(value instanceof ObjectField)) debugger;
+
+ // remove below lines to prevent saving changes to server
if (writeToServer) {
if (value === undefined) target[Update]({ '$unset': { ["fields." + prop]: "" } });
else target[Update]({ '$set': { ["fields." + prop]: value instanceof ObjectField ? SerializationHelper.Serialize(value) : (value === undefined ? null : value) } });
} else {
+ console.log("not writing to server")
DocServer.registerDocWithCachedUpdate(receiver, prop as string, curValue);
}
UndoManager.AddEvent({
@@ -107,13 +111,22 @@ export function OVERRIDE_ACL(val: boolean) {
_overrideAcl = val;
}
+let playgroundMode = false;
+
+export function togglePlaygroundMode() {
+ playgroundMode = !playgroundMode;
+}
+
+export function getPlaygroundMode() {
+ return playgroundMode;
+}
+
let currentUserGroups: string[] = [];
export function setGroups(groups: string[]) {
currentUserGroups = groups;
}
-
export function GetEffectiveAcl(target: any, in_prop?: string | symbol | number): symbol {
const HierarchyMapping = new Map<symbol, number>([