From 486546e51054fca733bc5a03edf1149b832b2db6 Mon Sep 17 00:00:00 2001
From: Amanda Ghassaei <amandaghassaei@gmail.com>
Date: Fri, 21 Aug 2015 18:00:40 -0400
Subject: [PATCH] assembler json has no string properties

---
 js/cam/assemblers/AssemblerPost.js | 3 +++
 js/models/FileSaver.js             | 8 +++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/js/cam/assemblers/AssemblerPost.js b/js/cam/assemblers/AssemblerPost.js
index 2c007a6f..13757e2e 100644
--- a/js/cam/assemblers/AssemblerPost.js
+++ b/js/cam/assemblers/AssemblerPost.js
@@ -126,6 +126,9 @@ define(['underscore', 'appState', 'lattice', 'cam'], function(_, appState, latti
         var offset = self.components.substrate.centerOfRotation.clone().multiplyScalar(settings.scale);//offset in lattice pitch
         var dist = position.clone().sub(offset);
         position = offset.add(new THREE.Vector3(-dist.y-3*settings.scale, dist.x-0.335, position.z));
+    } else {
+        position.y -= 1;
+        position.x -= settings.scale;
     }
 
     var stock = _.find(self.stock, function(thisStock){
diff --git a/js/models/FileSaver.js b/js/models/FileSaver.js
index 4b589eac..09145f3c 100644
--- a/js/models/FileSaver.js
+++ b/js/models/FileSaver.js
@@ -7,7 +7,13 @@ define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWra
 
     function _saveFile(data, name, extension){
 //        require(['jsonFn'], function(JSONfn){
-            var blob = new Blob([JSON.stringify(data, null, '\t')], {type: "text/plain;charset=utf-8"});
+//        console.log(data.toString());
+            var jsonString = JSON.stringify(data, null, '\t');
+            if (data.assembler){
+                jsonString.replace(/\\"/g,"\uFFFF"); //U+ FFFF
+                jsonString = jsonString.replace(/\"([^"]+)\":/g,"$1:").replace(/\uFFFF/g,"\\\"");
+            }
+            var blob = new Blob([jsonString], {type: "text/plain;charset=utf-8"});
             saveAs(blob, name + extension);
 //        });
     }
-- 
GitLab