This repository was archived by the owner on Apr 8, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 106
a bug with Raphael.Json #123
Comments
I have the same issue... |
@dhardtke I found a solution by change the raphael.json.js, do not use matrix.toTransformString(), use el.transform().toString(): (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;
if (data) elements.push({
data: data,
type: el.type,
attrs: el.attrs,
// transform: el.matrix.toTransformString(),
transform: el.transform().toString(),
id: el.id
});
}
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;
}
Raphael.fn.fromJSON = function (json, callback) {
var el, paper = this ;
if (typeof json === 'string') json = JSON.parse(json);
for (var i in json) {
if (json.hasOwnProperty(i)) {
el = paper[json[i].type]().attr(json[i].attrs);
if (json[i].transform != null) {
el.transform(json[i].transform);
}
el.id = json[i].id;
if (callback) el = callback(el, json[i].data);
// if ( el ) paper.set().push(el);
}
}
}
})(); |
Maybe you should fork raphael.json and create a pull request for this? :) |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
1.do some transform and export by Raphael.Json.
2.then import by Raphael.json, it can't init transform correctly.
you can test the bug in here: http://jsfiddle.net/bcw104/MvNvL/11/
The text was updated successfully, but these errors were encountered: