From 33c0a580c8f4842bcf1e022c93ec8bef78f81e30 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Mon, 19 Aug 2013 17:21:45 +0200 Subject: [PATCH] Add OperationRouter.getHasLocalUnsyncedOpsAndUpdates/OperationRouter.unsubscribeHasLocalUnsyncedOpsUpdates --- .../editor/server/nowjs/OperationRouter.js | 9 ++++ .../editor/server/pullbox/OperationRouter.js | 43 ++++++++++++++++++- webodf/lib/ops/OperationRouter.js | 17 ++++++++ webodf/lib/ops/TrivialOperationRouter.js | 9 ++++ 4 files changed, 77 insertions(+), 1 deletion(-) diff --git a/programs/editor/server/nowjs/OperationRouter.js b/programs/editor/server/nowjs/OperationRouter.js index f2860d51..b7a46ed6 100644 --- a/programs/editor/server/nowjs/OperationRouter.js +++ b/programs/editor/server/nowjs/OperationRouter.js @@ -177,5 +177,14 @@ define("webodf/editor/server/nowjs/OperationRouter", [], function () { cb(); }; /*jslint emptyblock: false, unparam: false*/ + + this.getHasLocalUnsyncedOpsAndUpdates = function (subscriber) { + subscriber(false); + }; + + /*jslint emptyblock: true, unparam: true*/ + this.unsubscribeHasLocalUnsyncedOpsUpdates = function (subscriber) { + }; + /*jslint emptyblock: false, unparam: false*/ }; }); diff --git a/programs/editor/server/pullbox/OperationRouter.js b/programs/editor/server/pullbox/OperationRouter.js index a24744a5..a3d99427 100644 --- a/programs/editor/server/pullbox/OperationRouter.js +++ b/programs/editor/server/pullbox/OperationRouter.js @@ -71,6 +71,8 @@ define("webodf/editor/server/pullbox/OperationRouter", [], function () { unplayedServerOpspecQueue = [], /** @type {!Array.} sync request callbacks which should be called after the received ops have been applied server */ uncalledSyncRequestCallbacksQueue = [], + /** @type {!Array.} ops created since the last sync call to the server */ + hasLocalUnsyncedOpsStateSubscribers = [], /**@type{!boolean}*/ hasLocalUnsyncedOps = false, /**@type{!boolean} tells if any local ops have been modifying ops */ @@ -84,7 +86,8 @@ define("webodf/editor/server/pullbox/OperationRouter", [], function () { * @return {undefined} */ function updateHasLocalUnsyncedOpsState() { - var hasLocalUnsyncedOpsNow = (unsyncedClientOpspecQueue.length > 0); + var i, + hasLocalUnsyncedOpsNow = (unsyncedClientOpspecQueue.length > 0); // no change? if (hasLocalUnsyncedOps === hasLocalUnsyncedOpsNow) { @@ -92,6 +95,9 @@ define("webodf/editor/server/pullbox/OperationRouter", [], function () { } hasLocalUnsyncedOps = hasLocalUnsyncedOpsNow; + for (i=0; i