diff options
author | Jose Antonio Marquez | 2012-02-06 16:32:15 -0800 |
---|---|---|
committer | Jose Antonio Marquez | 2012-02-06 16:32:15 -0800 |
commit | 0db246b19dc0b50f4f663a147ec92c49e656ae35 (patch) | |
tree | cf50f0dcb79ba0f62d1e913845e7ecb37e4b1168 | |
parent | 7f77982f49c75568431ece82d53371f6335c6e39 (diff) | |
download | ninja-0db246b19dc0b50f4f663a147ec92c49e656ae35.tar.gz |
Adding logic to copy ninja libraries
Setting up the logic to handling copying ninja required libraries into the app local file system sandbox to be used by cloud simulator.
-rwxr-xr-x | js/components/popup-manager.reel/popup-manager.js | 2 | ||||
-rw-r--r-- | js/io/system/chromeapi.js | 11 | ||||
-rwxr-xr-x | js/io/system/coreioapi.js | 37 | ||||
-rw-r--r-- | js/io/system/ninjalibrary.json | 6 |
4 files changed, 47 insertions, 9 deletions
diff --git a/js/components/popup-manager.reel/popup-manager.js b/js/components/popup-manager.reel/popup-manager.js index bc755f74..fbcd5035 100755 --- a/js/components/popup-manager.reel/popup-manager.js +++ b/js/components/popup-manager.reel/popup-manager.js | |||
@@ -117,7 +117,7 @@ exports.PopupMananger = Montage.create(Component, { | |||
117 | _getNextHighestZindex: { | 117 | _getNextHighestZindex: { |
118 | numerable: false, | 118 | numerable: false, |
119 | value: function (parent) { | 119 | value: function (parent) { |
120 | //Adapcted from: http://greengeckodesign.com/blog/2007/07/get-highest-z-index-in-javascript.html | 120 | //CSS specificity in javascript found at http://gbradley.com/2009/10/02/css-specificity-in-javascript used with permission from Graham Bradley |
121 | var high = 0, current = 0, children = [], i; | 121 | var high = 0, current = 0, children = [], i; |
122 | // | 122 | // |
123 | if (parent) { | 123 | if (parent) { |
diff --git a/js/io/system/chromeapi.js b/js/io/system/chromeapi.js index f4e04a09..fb141687 100644 --- a/js/io/system/chromeapi.js +++ b/js/io/system/chromeapi.js | |||
@@ -69,9 +69,16 @@ exports.ChromeApi = Montage.create(Object.prototype, { | |||
69 | 69 | ||
70 | //////////////////////////////////////////////////////////////////// | 70 | //////////////////////////////////////////////////////////////////// |
71 | // | 71 | // |
72 | directoryDelete: {//TODO: Make sure it uses a force delete | 72 | directoryDelete: { |
73 | enumerable: true, | 73 | enumerable: true, |
74 | value: function() { | 74 | value: function(directoryPath, callback) { |
75 | // | ||
76 | this.fileSystem.getDirectory(directoryPath, {}, function(dirEntry) { | ||
77 | // | ||
78 | dirEntry.removeRecursively(function() { | ||
79 | callback(true); | ||
80 | }); | ||
81 | }, function (e) {callback(false)}); | ||
75 | } | 82 | } |
76 | }, | 83 | }, |
77 | //////////////////////////////////////////////////////////////////// | 84 | //////////////////////////////////////////////////////////////////// |
diff --git a/js/io/system/coreioapi.js b/js/io/system/coreioapi.js index 3be6011d..b821936f 100755 --- a/js/io/system/coreioapi.js +++ b/js/io/system/coreioapi.js | |||
@@ -66,14 +66,39 @@ exports.CoreIoApi = Montage.create(Component, { | |||
66 | handleLibrary: { | 66 | handleLibrary: { |
67 | enumerable: false, | 67 | enumerable: false, |
68 | value: function (e) { | 68 | value: function (e) { |
69 | // | 69 | //Removing events |
70 | this.chromeFileSystem.removeEventListener('library', this, false); | 70 | this.chromeFileSystem.removeEventListener('library', this, false); |
71 | // | 71 | // |
72 | if (e._event.ninjaChromeLibrary.length < 1) { | 72 | var xhr = new XMLHttpRequest(), libs, tocopylibs = []; |
73 | console.log('no libraries'); | 73 | //Getting known json list of libraries to copy to chrome |
74 | } else { | 74 | xhr.open("GET", '/ninja-internal/js/io/system/ninjalibrary.json', false); |
75 | console.log('found libraries'); | 75 | xhr.send(); |
76 | } | 76 | //Checkng for correct reponse |
77 | if (xhr.readyState === 4) { | ||
78 | //Parsing json libraries | ||
79 | libs = JSON.parse(xhr.response); | ||
80 | // | ||
81 | if (e._event.ninjaChromeLibrary.length > 0) { | ||
82 | //Compare | ||
83 | } else { | ||
84 | //No library is present, must copy all | ||
85 | for (var i in libs.libraries) { | ||
86 | if (libs.libraries[i].singular) { | ||
87 | tocopylibs.push({name: String(libs.libraries[i].name+libs.libraries[i].version).toLowerCase(), path: libs.libraries[i].path, singular: true}); | ||
88 | } else { | ||
89 | tocopylibs.push({name: String(libs.libraries[i].name+libs.libraries[i].version).toLowerCase(), path: libs.libraries[i].path, singular: false}); | ||
90 | } | ||
91 | } | ||
92 | } | ||
93 | // | ||
94 | if (tocopylibs.length > 0) { | ||
95 | //Copy libraries | ||
96 | } else { | ||
97 | //No libraries to copy | ||
98 | } | ||
99 | } else { | ||
100 | //Error | ||
101 | } | ||
77 | } | 102 | } |
78 | }, | 103 | }, |
79 | //////////////////////////////////////////////////////////////////// | 104 | //////////////////////////////////////////////////////////////////// |
diff --git a/js/io/system/ninjalibrary.json b/js/io/system/ninjalibrary.json new file mode 100644 index 00000000..affb72a0 --- /dev/null +++ b/js/io/system/ninjalibrary.json | |||
@@ -0,0 +1,6 @@ | |||
1 | { | ||
2 | "libraries": [ | ||
3 | {"name": "Montage", "path": "/ninja-internal/node_modules/descriptor.json", "version": "0.6.0"}, | ||
4 | {"name": "RDGE", "path": "/ninja-internal/js/helper-classes/RDGE/rdge-compiled.js", "version": "0.6.0", "singular": "true"} | ||
5 | ] | ||
6 | } \ No newline at end of file | ||