diff options
56 files changed, 1261 insertions, 594 deletions
diff --git a/css/ninja.css b/css/ninja.css index f085f6be..7baf4204 100755 --- a/css/ninja.css +++ b/css/ninja.css | |||
@@ -82,7 +82,7 @@ body { position: absolute; margin: 0px; width: 100%; height: 100%; background-co | |||
82 | 82 | ||
83 | #bottomPanelContainer { background: transparent; height: 150px; min-height: 80px; max-height: 50%; overflow: auto; } | 83 | #bottomPanelContainer { background: transparent; height: 150px; min-height: 80px; max-height: 50%; overflow: auto; } |
84 | 84 | ||
85 | .panelContainer { display: block; -webkit-box-orient: vertical; position: relative; } | 85 | .panelContainer { display: -webkit-box; -webkit-box-orient: vertical; position: relative; } |
86 | 86 | ||
87 | #leftPanelContainer { width: 40px; -webkit-box-align: stretch; -webkit-box-sizing: border-box; margin-left: 2px; } | 87 | #leftPanelContainer { width: 40px; -webkit-box-align: stretch; -webkit-box-sizing: border-box; margin-left: 2px; } |
88 | 88 | ||
diff --git a/js/components/ui/icon-list-basic/icon.reel/icon.js b/js/components/ui/icon-list-basic/icon.reel/icon.js index b0279207..72adbfa1 100755 --- a/js/components/ui/icon-list-basic/icon.reel/icon.js +++ b/js/components/ui/icon-list-basic/icon.reel/icon.js | |||
@@ -131,6 +131,11 @@ var Icon = exports.Icon = Montage.create(Component, { | |||
131 | openFolderEvent.initEvent("openFolder", false, false); | 131 | openFolderEvent.initEvent("openFolder", false, false); |
132 | openFolderEvent.folderUri = this.icondata.uri; | 132 | openFolderEvent.folderUri = this.icondata.uri; |
133 | this.element.dispatchEvent(openFolderEvent); | 133 | this.element.dispatchEvent(openFolderEvent); |
134 | }else{ | ||
135 | var openFolderEvent = document.createEvent("Events"); | ||
136 | openFolderEvent.initEvent("selectFile", false, false); | ||
137 | openFolderEvent.fileUri = this.icondata.uri; | ||
138 | this.element.dispatchEvent(openFolderEvent); | ||
134 | } | 139 | } |
135 | if(evt.bubbles){ | 140 | if(evt.bubbles){ |
136 | evt.stopPropagation(); | 141 | evt.stopPropagation(); |
diff --git a/js/components/ui/tree-basic/treeItem.reel/treeItem.js b/js/components/ui/tree-basic/treeItem.reel/treeItem.js index 755eab8c..4c71cb6b 100755 --- a/js/components/ui/tree-basic/treeItem.reel/treeItem.js +++ b/js/components/ui/tree-basic/treeItem.reel/treeItem.js | |||
@@ -225,6 +225,11 @@ exports.TreeItem = Montage.create(Component, { | |||
225 | openFolderEvent.initEvent("openFolder", false, false); | 225 | openFolderEvent.initEvent("openFolder", false, false); |
226 | openFolderEvent.folderUri = this.treeItemData.uri; | 226 | openFolderEvent.folderUri = this.treeItemData.uri; |
227 | this.element.dispatchEvent(openFolderEvent); | 227 | this.element.dispatchEvent(openFolderEvent); |
228 | }else{ | ||
229 | var openFolderEvent = document.createEvent("Events"); | ||
230 | openFolderEvent.initEvent("selectFile", false, false); | ||
231 | openFolderEvent.fileUri = this.treeItemData.uri; | ||
232 | this.element.dispatchEvent(openFolderEvent); | ||
228 | } | 233 | } |
229 | if(evt.bubbles){ | 234 | if(evt.bubbles){ |
230 | evt.stopPropagation(); | 235 | evt.stopPropagation(); |
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 843db87c..02031922 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js | |||
@@ -58,6 +58,8 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
58 | this.eventManager.addEventListener("executeFileOpen", this, false); | 58 | this.eventManager.addEventListener("executeFileOpen", this, false); |
59 | this.eventManager.addEventListener("executeNewFile", this, false); | 59 | this.eventManager.addEventListener("executeNewFile", this, false); |
60 | this.eventManager.addEventListener("executeSave", this, false); | 60 | this.eventManager.addEventListener("executeSave", this, false); |
61 | this.eventManager.addEventListener("executeSaveAs", this, false); | ||
62 | this.eventManager.addEventListener("executeSaveAll", this, false); | ||
61 | 63 | ||
62 | this.eventManager.addEventListener("recordStyleChanged", this, false); | 64 | this.eventManager.addEventListener("recordStyleChanged", this, false); |
63 | 65 | ||
@@ -87,11 +89,11 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
87 | //Checking for app to be loaded through extension | 89 | //Checking for app to be loaded through extension |
88 | var check; | 90 | var check; |
89 | if (chrome && chrome.app) { | 91 | if (chrome && chrome.app) { |
90 | check = chrome.app.getDetails(); | 92 | check = chrome.app.getDetails(); |
91 | } | 93 | } |
92 | if (check !== null) { | 94 | if (check !== null) { |
93 | //Adding an intercept to resources loaded to ensure user assets load from cloud simulator | 95 | //Adding an intercept to resources loaded to ensure user assets load from cloud simulator |
94 | chrome.webRequest.onBeforeRequest.addListener(this.handleWebRequest.bind(this), {urls: ["<all_urls>"]}, ["blocking"]); | 96 | chrome.webRequest.onBeforeRequest.addListener(this.handleWebRequest.bind(this), {urls: ["<all_urls>"]}, ["blocking"]); |
95 | } | 97 | } |
96 | } | 98 | } |
97 | }, | 99 | }, |
@@ -107,33 +109,57 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
107 | handleExecuteFileOpen: { | 109 | handleExecuteFileOpen: { |
108 | value: function(event) { | 110 | value: function(event) { |
109 | var pickerSettings = event._event.settings || {}; | 111 | var pickerSettings = event._event.settings || {}; |
110 | pickerSettings.callback = this.openFileWithURI.bind(this); | 112 | if (this.application.ninja.coreIoApi.cloudAvailable()) { |
111 | pickerSettings.pickerMode = "read"; | 113 | pickerSettings.callback = this.openFileWithURI.bind(this); |
112 | pickerSettings.inFileMode = true; | 114 | pickerSettings.pickerMode = "read"; |
113 | this.application.ninja.filePickerController.showFilePicker(pickerSettings); | 115 | pickerSettings.inFileMode = true; |
116 | this.application.ninja.filePickerController.showFilePicker(pickerSettings); | ||
117 | } | ||
114 | } | 118 | } |
115 | }, | 119 | }, |
116 | 120 | ||
117 | handleExecuteNewFile: { | 121 | handleExecuteNewFile: { |
118 | value: function(event) { | 122 | value: function(event) { |
119 | var newFileSettings = event._event.settings || {}; | 123 | var newFileSettings = event._event.settings || {}; |
120 | newFileSettings.callback = this.createNewFile.bind(this); | 124 | if (this.application.ninja.coreIoApi.cloudAvailable()) { |
121 | this.application.ninja.newFileController.showNewFileDialog(newFileSettings); | 125 | newFileSettings.callback = this.createNewFile.bind(this); |
126 | this.application.ninja.newFileController.showNewFileDialog(newFileSettings); | ||
127 | } | ||
122 | } | 128 | } |
123 | }, | 129 | }, |
124 | |||
125 | |||
126 | //////////////////////////////////////////////////////////////////// | 130 | //////////////////////////////////////////////////////////////////// |
127 | //TODO: Check for appropiate structures | 131 | //TODO: Check for appropiate structures |
128 | handleExecuteSave: { | 132 | handleExecuteSave: { |
129 | value: function(event) { | 133 | value: function(event) { |
130 | if(!!this.activeDocument){ | 134 | if((typeof this.activeDocument !== "undefined") && this.application.ninja.coreIoApi.cloudAvailable()){ |
131 | //Text and HTML document classes should return the same save object for fileSave | 135 | //Text and HTML document classes should return the same save object for fileSave |
132 | this.application.ninja.ioMediator.fileSave(this.activeDocument.save(), this.fileSaveResult.bind(this)); | 136 |