From ab53417dd663fc7678b88b0004470f6d8a274c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=84=E6=88=90=E6=96=87?= Date: Tue, 15 Apr 2014 10:36:51 +0800 Subject: [PATCH 1/2] Update raphael.json.js use of el._.transform.toString() instead of el.matrix.toTransformString() --- raphael.json.js | 101 ++++++++++++++++++++++++------------------------ 1 file changed, 51 insertions(+), 50 deletions(-) diff --git a/raphael.json.js b/raphael.json.js index 1f7b8cd..05cde3d 100644 --- a/raphael.json.js +++ b/raphael.json.js @@ -4,63 +4,64 @@ * */ -(function() { - Raphael.fn.toJSON = function(callback) { - var - data, - elements = new Array, - paper = this - ; +(function () { + Raphael.fn.toJSON = function (callback) { + var data, elements = new Array, paper = this ; - for ( var el = paper.bottom; el != null; el = el.next ) { - data = callback ? callback(el, new Object) : new Object; + for (var el = paper.bottom; el != null; el = el.next) { + data = callback ? callback(el, new Object) : new Object; - if ( data ) elements.push({ - data: data, - type: el.type, - attrs: el.attrs, - transform: el.matrix.toTransformString(), - id: el.id - }); - } + var transformString = null; + if (el._ && el._.transform) { + transformString = el._.transform.toString(); + } - var cache = []; - var o = JSON.stringify(elements, function (key, value) { - //http://stackoverflow.com/a/11616993/400048 - if (typeof value === 'object' && value !== null) { - if (cache.indexOf(value) !== -1) { - // Circular reference found, discard key - return; - } - // Store value in our collection - cache.push(value); - } - return value; - }); - cache = null; - return o; - } + if (data) elements.push({ + data: data, + type: el.type, + attrs: el.attrs, +// transform: el.matrix.toTransformString(), + transform: transformString, + id: el.id + }); + } - Raphael.fn.fromJSON = function(json, callback) { - var - el, - paper = this - ; + var cache = []; + var o = JSON.stringify(elements, function (key, value) { + //http://stackoverflow.com/a/11616993/400048 + if (typeof value === 'object' && value !== null) { + if (cache.indexOf(value) !== -1) { + // Circular reference found, discard key + return; + } + // Store value in our collection + cache.push(value); + } + return value; + }); + cache = null; + return o; + } - if ( typeof json === 'string' ) json = JSON.parse(json); + Raphael.fn.fromJSON = function (json, callback) { + var el, paper = this ; - for ( var i in json ) { - if ( json.hasOwnProperty(i) ) { - el = paper[json[i].type]() - .attr(json[i].attrs) - .transform(json[i].transform); + if (typeof json === 'string') json = JSON.parse(json); - el.id = json[i].id; + for (var i in json) { + if (json.hasOwnProperty(i)) { - if ( callback ) el = callback(el, json[i].data); + el = paper[json[i].type]().attr(json[i].attrs); + if (json[i].transform != null) { + el.transform(json[i].transform); + } - if ( el ) paper.set().push(el); - } - } - } +// el.id = json[i].id; + + if (callback) el = callback(el, json[i].data); + +// if ( el ) paper.set().push(el); + } + } + } })(); From 260e4f84f5d85e29c8c4e7aaa357300abecfc949 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=84=E6=88=90=E6=96=87?= Date: Tue, 15 Apr 2014 10:50:34 +0800 Subject: [PATCH 2/2] Update raphael.json.js use transform().toString() instead of el_.transform.toString() --- raphael.json.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/raphael.json.js b/raphael.json.js index 05cde3d..a39e665 100644 --- a/raphael.json.js +++ b/raphael.json.js @@ -11,17 +11,12 @@ for (var el = paper.bottom; el != null; el = el.next) { data = callback ? callback(el, new Object) : new Object; - var transformString = null; - if (el._ && el._.transform) { - transformString = el._.transform.toString(); - } - if (data) elements.push({ data: data, type: el.type, attrs: el.attrs, // transform: el.matrix.toTransformString(), - transform: transformString, + transform: el.transform().toString(), id: el.id }); }