diff --git a/ui/data4.js b/ui/data4.js
index fcf1ed7c..f2a240c0 100755
--- a/ui/data4.js
+++ b/ui/data4.js
@@ -9,7 +9,7 @@
/*********************************************************************/
-var DataClassProto = {
+var DataClassPrototype = {
// NOTE: we consider the list sorted...
fromList: function(list){
var res = new Data()
@@ -754,14 +754,27 @@ var DataPrototype = {
}
-var Data = function(){
- this.base = null
- this.current = null
- this.order = []
- this.ribbon_order = []
- this.ribbons = {}
+function Data(json){
+ if(this.constructor.name != 'Data'){
+ obj = new Data
+ } else {
+ obj = this
+ }
- this._gid_cache = []
+ obj.base = null
+ obj.current = null
+ obj.order = []
+ obj.ribbon_order = []
+ obj.ribbons = {}
+
+ obj._gid_cache = []
+
+ // load initial state...
+ if(json != null){
+ obj.loadJSON(json)
+ }
+
+ return obj
}
Data.__proto__ = DataClassPrototype
Data.prototype = DataPrototype
diff --git a/ui/index.html b/ui/index.html
index c73e302c..424c859f 100755
--- a/ui/index.html
+++ b/ui/index.html
@@ -31,6 +31,7 @@
+