partial
diff --git a/extension/js/main.js b/extension/js/main.js
index ef11098..8c8c661 100644
--- a/extension/js/main.js
+++ b/extension/js/main.js
@@ -1,5 +1,5 @@
/*jslint vars: true, plusplus: true, devel: true, nomen: true, regexp: true, indent: 4, maxerr: 50 */
-/*global $, window, location, CSInterface, SystemPath, themeManager, compSelectionController, compRenderController, messageController, infoController, snapshotController*/
+/*global $, window, location, CSInterface, SystemPath, themeManager, compSelectionController, compRenderController, messageController, infoController, snapshotController, require*/
var mainController = (function () {
'use strict';
@@ -8,6 +8,10 @@
var csInterface = new CSInterface();
var mainViews = [];
+
+ var gulp = require('gulp');
+ var gzip = require('gulp-gzip');
+
function showView(view) {
var i, len = mainViews.length;
for (i = 0; i < len; i += 1) {
@@ -27,6 +31,17 @@
showView('selection');
});
+ csInterface.addEventListener('bm:zip:data', function (ev) {
+ var jsonString = ev.data.jsonString;
+ var zippingStr = jsonString.substr(1);
+ var outStr;
+ gulp.src('tmp', { read: false })
+ .pipe(gzip({ append: false }))
+ .pipe(gulp.dest('outStr'));
+ //csInterface.evalScript('bm_dataManager.writeZippedData(' + outStr + ')');
+ console.log(outStr);
+ });
+
csInterface.addEventListener('console:log', function (ev) {
console.log(JSON.stringify(ev.data));
});
diff --git a/extension/jsx/dataManager.jsx b/extension/jsx/dataManager.jsx
index e6cbe4e..e25b7f5 100644
--- a/extension/jsx/dataManager.jsx
+++ b/extension/jsx/dataManager.jsx
@@ -1,11 +1,12 @@
/*jslint vars: true , plusplus: true, devel: true, nomen: true, regexp: true, indent: 4, maxerr: 50 */
-/*global bm_eventDispatcher, bm_generalUtils, bm_layerElement, File*/
+/*global bm_eventDispatcher, bm_generalUtils, bm_layerElement, File, require*/
var bm_dataManager = (function () {
'use strict';
var ob = {};
var animationSegments;
- var segmentCount = 0;
+ var segmentCount = 0, currentDestinationPath;
+
function addCompsToSegment(layers, comps, segmentComps) {
var i, len = layers.length, j, jLen;
@@ -144,6 +145,7 @@
}
function saveData(data, destinationPath, config) {
+ currentDestinationPath = destinationPath;
deleteExtraParams(data.layers);
separateComps(data.layers, data.comps);
var dataFile, segmentPath, s, string;
@@ -174,22 +176,27 @@
}
data.comps = null;
delete data.comps;
- }
- dataFile = new File(destinationPath);
- dataFile.open('w', 'TEXT', '????');
- string = JSON.stringify(data);
- string = string.replace(/\n/g, '');
- try {
- dataFile.write(string); //DO NOT ERASE, JSON UNFORMATTED
- //dataFile.write(JSON.stringify(ob.renderData.exportData, null, ' ')); //DO NOT ERASE, JSON FORMATTED
- dataFile.close();
- } catch (errr) {
- bm_eventDispatcher.sendEvent('bm:alert', {message: 'Could not write file.<br /> Make sure you have enabled scripts to write files. <br /> Edit > Preferences > General > Allow Scripts to Write Files and Access Network '});
+ string = JSON.stringify(data);
+ string = string.replace(/\n/g, '');
+ bm_eventDispatcher.sendEvent('bm:zip:data', {jsonString: '_' + string});
}
animationSegments = '';
segmentCount = 0;
}
+ function writeZippedData(str) {
+ var dataFile = new File(currentDestinationPath);
+ dataFile.open('w', 'TEXT', '????');
+ try {
+ dataFile.write(str); //DO NOT ERASE, JSON UNFORMATTED
+ //dataFile.write(JSON.stringify(ob.renderData.exportData, null, ' ')); //DO NOT ERASE, JSON FORMATTED
+ dataFile.close();
+ } catch (errr) {
+ bm_eventDispatcher.sendEvent('bm:alert', {message: 'Could not write file.<br /> Make sure you have enabled scripts to write files. <br /> Edit > Preferences > General > Allow Scripts to Write Files and Access Network '});
+ }
+ }
+
+ ob.writeZippedData = writeZippedData;
ob.saveData = saveData;
return ob;