Commit c824b5ab authored by Romain Courteaud's avatar Romain Courteaud

erp5_xhtml_style/erp5_web_renderjs_ui: renderjs 0.28.0

parent b4bde852
...@@ -992,19 +992,32 @@ if (typeof document.contains !== 'function') { ...@@ -992,19 +992,32 @@ if (typeof document.contains !== 'function') {
this._latest_promise = null; this._latest_promise = null;
}; };
function doNothing() {
return;
}
Mutex.prototype = { Mutex.prototype = {
constructor: Mutex, constructor: Mutex,
lockAndRun: function lockMutexAndRun(callback) { lockAndRun: function lockMutexAndRun(callback) {
var previous_promise = this._latest_promise; var previous_promise = this._latest_promise,
returned_promise;
if (previous_promise === null) { if (previous_promise === null) {
this._latest_promise = RSVP.resolve(callback()); this._latest_promise = RSVP.resolve(callback());
} else { return this._latest_promise;
this._latest_promise = this._latest_promise
.always(function () {
return callback();
});
} }
return this._latest_promise; returned_promise = previous_promise
.always(function () {
return callback();
});
// Do not return latest promise, to not allow external caller
// to explicitely cancel it,
// ie, ensure next promise is triggered only when ALL previous
// promised are finished (not only the single previous one)
this._latest_promise = RSVP.all([
previous_promise.always(doNothing),
returned_promise.always(doNothing)
]);
return returned_promise;
} }
}; };
......
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>998.17699.36537.24439</string> </value> <value> <string>1004.26548.30757.41045</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -252,7 +252,7 @@ ...@@ -252,7 +252,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1668780748.06</float> <float>1673362285.2</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -992,19 +992,32 @@ if (typeof document.contains !== 'function') { ...@@ -992,19 +992,32 @@ if (typeof document.contains !== 'function') {
this._latest_promise = null; this._latest_promise = null;
}; };
function doNothing() {
return;
}
Mutex.prototype = { Mutex.prototype = {
constructor: Mutex, constructor: Mutex,
lockAndRun: function lockMutexAndRun(callback) { lockAndRun: function lockMutexAndRun(callback) {
var previous_promise = this._latest_promise; var previous_promise = this._latest_promise,
returned_promise;
if (previous_promise === null) { if (previous_promise === null) {
this._latest_promise = RSVP.resolve(callback()); this._latest_promise = RSVP.resolve(callback());
} else { return this._latest_promise;
this._latest_promise = this._latest_promise
.always(function () {
return callback();
});
} }
return this._latest_promise; returned_promise = previous_promise
.always(function () {
return callback();
});
// Do not return latest promise, to not allow external caller
// to explicitely cancel it,
// ie, ensure next promise is triggered only when ALL previous
// promised are finished (not only the single previous one)
this._latest_promise = RSVP.all([
previous_promise.always(doNothing),
returned_promise.always(doNothing)
]);
return returned_promise;
} }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment