From fb5d5994b8d729ce6233549844817d2b7043d8a5 Mon Sep 17 00:00:00 2001
From: Jose Antonio Marquez
Date: Wed, 1 Feb 2012 12:05:08 -0800
Subject: Adding cloud popup copy
---
js/io/ui/cloudpopup.reel/cloudpopup.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'js')
diff --git a/js/io/ui/cloudpopup.reel/cloudpopup.html b/js/io/ui/cloudpopup.reel/cloudpopup.html
index fa4533d7..eb5e8178 100755
--- a/js/io/ui/cloudpopup.reel/cloudpopup.html
+++ b/js/io/ui/cloudpopup.reel/cloudpopup.html
@@ -34,7 +34,7 @@
Cloud Service Dialog
- Duis aliquet egestas purus in blandit. Curabitur vulputate, ligula lacinia scelerisque tempor, lacus lacus ornare ante, ac egestas.
+ Connection to the Ninja Cloud Server was not detected. Please verify that the server is running and the URL below is correct.
--
cgit v1.2.3
From 54ccd309722797e79ca35fe115b0372e86850551 Mon Sep 17 00:00:00 2001
From: Jose Antonio Marquez
Date: Wed, 1 Feb 2012 13:31:35 -0800
Subject: Removing filesytem class, no longer used
Also cleaning up cloud popup IU.
---
js/io/system/filesystem.js | 715 ---------------------------
js/io/ui/cloudpopup.reel/cloudpopup.html | 2 +-
js/io/ui/cloudpopup.reel/css/cloudpopup.css | 13 +-
js/io/ui/cloudpopup.reel/css/cloudpopup.scss | 1 -
4 files changed, 7 insertions(+), 724 deletions(-)
delete mode 100755 js/io/system/filesystem.js
(limited to 'js')
diff --git a/js/io/system/filesystem.js b/js/io/system/filesystem.js
deleted file mode 100755
index cd158812..00000000
--- a/js/io/system/filesystem.js
+++ /dev/null
@@ -1,715 +0,0 @@
-/*
-This file contains proprietary software owned by Motorola Mobility, Inc.
-No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
-(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
- */
-
-////////////////////////////////////////////////////////////////////////
-//
-var Montage = require("montage/core/core").Montage,
- FileIo = require("js/io/system/fileio").FileIo,
- ProjectIo = require("js/io/system/projectio").ProjectIo,
- CoreIoApi = require("js/io/system/coreioapi").CoreIoApi;
-////////////////////////////////////////////////////////////////////////
-//Exporting as File System
-exports.FileSystem = Montage.create(Object.prototype, {
- ////////////////////////////////////////////////////////////////////
- //
-
-
- shellApiHandler :{
- enumerable:true,
- writable:false,
- value:CoreIoApi
- },
-
-
- ////////////////////////////////////////////////////////////////////
- //
- cloud: {
- enumerable: false,
- value: false
- },
- ////////////////////////////////////////////////////////////////////
- //
- cloud: {
- enumerable: false,
- get: function() {
- return this._cloud;
- },
- set: function(value) {
- this._cloud = value
- }
- },
-
-
-
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- _documentType: {
- enumerable: false,
- value: function () {
- //return DocumentManagerModule.DocumentManager.activeDocument.documentType; // this._documentType()
- }
- },
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- newFile: {
- enumerable: false,
- value: function (template) {
- //Checking for cloud (to be added later)
- if (this.cloud) {
- //TODO: Add cloud integration
- console.log("[CLOUD] New File");
- //documentManagerModule.DocumentManager.openDocument({"type": "html"});
- } else {
- //
- var file = {uri: CoreIoApi.openShellDialog({type: 'file', action: 'new'})}, type;
- var check = CoreIoApi.fileExists(file);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- //TODO: implement createFile to avoid duplicate funtionality
- if (check.success) {
- switch (check.status) {
- case 204:
- //TODO: Add logic for already existing file
- window.alert('Error Code 204: File already exists.');
- break;
- case 404:
- //File does not exists, ready to be created
-
-
- //TODO: The type (template) should be sent into this routine via the UI of file I/O (not by file extension as now)
- if (template) {
- type = template;
- } else {
- type = file.uri.split('.');
- type = type[type.length-1];
- }
- //
-
-
- //TODO: Improve logic
- //Checking for file to exist in files template folder
- var templateCheck = CoreIoApi.fileExists({uri: window.NativeShellApp.GetKnownFolder('appsource')+'\\document-templates\\files\\template.'+type}), content;
- //
- if (templateCheck.success) {
- switch (check.status) {
- case 204:
- //Template exists, so opening and getting contents to be used when creating file
- content = CoreIoApi.openFile({uri: 'template.'+type});
- if (content.content) {
- file.content = content.content;
- } else {
- file.content = "";
- }
- break;
- case 404:
- //No template
- file.content = "";
- break;
- case 500:
- //Error
- break;
- default:
- //Error
- break;
- }
- } else {
-
- }
-
-
- /*
-switch (type.toLowerCase()) {
- case 'html':
- break;
- case 'css':
- break;
- case 'js':
- break;
- case 'xml':
- break;
- case 'json':
- break;
- default:
- break;
- }
-*/
-
-
-
-
-
-
-
- var create = CoreIoApi.createFile(file);
- if (create.success) {
- switch (create.status) {
- case 201:
- //File was created, opening created file
- this.openFile(file);
- break;
- case 400:
- //TODO: Add error handling
- //window.alert('Error Code 400: File already exists.');
- break;
- case 500:
- //TODO: Add error handling
- //window.alert('Error Code 500: An error occurred while creating a new file.');
- break;
- default:
- //TODO: Add error handling
- //window.alert('Unknown Error: An error occurred while creating a new file.');
- break;
- }
- } else {
- //window.alert('Unknown Error: An error occurred while creating a new file.');
- }
-
-
-
-
-
-
-
-
-
-
-
-
- break;
- case 500:
- //TODO: Add error handling
- //window.alert('Error Code 500: An error occurred while creating a new file.');
- break;
- default:
- //TODO: Add error handling
- //window.alert('Unknown Error: An error occurred while creating a new file.');
- break;
- }
- } else {
- //TODO: Add error handling
- //window.alert('Unknown Error: An error occurred while creating a new file.');
- }
- }
-
- }
- },
-
-
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- newProject: {
- enumerable: false,
- value: function () {
- //Checking for cloud (to be added later)
- if (this.cloud) {
- //TODO: Add cloud integration
- console.log("[CLOUD] : New Project");
- //documentManagerModule.DocumentManager.openDocument({"type": "html"});
- } else {
- //
- var directory = {uri: CoreIoApi.openShellDialog({type: 'directory', action: 'new'})};
- var check = CoreIoApi.directoryExists(directory);
- //
- if (check.success) {
- switch (check.status) {
- case 204:
- this.createProject(directory);
- break;
- case 404:
- //Directory does not exists, ready to be created
- var create = CoreIoApi.createDirectory(directory);
- if (create.success) {
- switch (create.status) {
- case 201:
- this.createProject(directory);
- break;
- case 400:
- window.alert('Error Code 400: Directory already exists.');
- break;
- case 500:
- window.alert('Error Code 500: An error occurred while creating a new directory.');
- break;
- default:
- window.alert('Unknown Error: An error occurred while creating a new directory.');
- break;
- }
- } else {
- window.alert('Unknown Error: An error occurred while creating a new directory.');
- }
- break;
- case 500:
- //TODO: Add error handling
- window.alert('Error Code 500: An error occurred while creating a new directory.');
- break;
- default:
- //TODO: Add error handling
- window.alert('Unknown Error: An error occurred while creating a new directory.');
- break;
- }
- } else {
- //TODO: Add error handling
- window.alert('Unknown Error: An error occurred while creating a new directory.');
- }
- }
- }
- },
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- createFile: {
- enumerable: false,
- value: function (file) {
- //Checking for file to exist
- var check = CoreIoApi.fileExists(file), createdFile = null;
- //
- if (check.success) {
- switch (check.status) {
- case 204:
- //TODO: Add logic for already existing file
- break;
- case 404:
- //File does not exists, ready to be created
- var create = CoreIoApi.createFile(file);
- if (create.success) {
- switch (create.status) {
- case 201:
- //File was created
- createdFile = file;
- break;
- case 400:
- //File already exists
- createdFile = file;
- break;
- case 500:
- //Error while creating
- break;
- default:
- //TODO: Add error handling
- break;
- }
- } else {
- //Error creating file via API
- }
- break;
- case 500:
- //TODO: Add error handling
- break;
- default:
- //TODO: Add error handling
- break;
- }
- } else {
- //TODO: Add error handling
- }
- //
- return createdFile;
- }
- },
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- openFile: {
- enumerable: false,
- value: function (file) {
- var uri, i;
- //Checking for file to defined (otherwise prompts for URI)
- if (file && file.uri) {
- uri = file.uri;
- } else {
- //Checking to prompt user depending on mode
- if (this.cloud) {
- //TODO: Add cloud integration
- } else {
- //Getting file URI from native prompt
- uri = CoreIoApi.openShellDialog({type: 'file', action: 'open'});
- }
- }
- //Checking for a valid URI
- if (uri && uri.length>0) {
- //Checking for URI to be single or array of URIs
- if (uri.constructor.toString().indexOf('Array') == -1) {
- //Opening single URI
- shellOpenFile(uri);
- } else {
- //Opening via loop of URIs
- for (i=0; uri[i]; i++) {
- shellOpenFile (uri[i]);
- }
- }
- } else {
- //No file was selected to be opened, nothing happens
- }
- //Opening file via shell
- function shellOpenFile (f) {
- //Getting string from file
- var doc = CoreIoApi.openFile({uri: f}), type = f.split('.');
- //Splitting to get file extension
- type = type[type.length-1];
- //TODO: Fix this HACK to generate string
- var dir = f.split('\\'), dir_str = '', server;
- for (var i=0; i < dir.length-1; i++) {
- dir_str += dir[i] + '\\';
- }
- //Starting an instance of the shell server on directory
- server = CoreIoApi.startServer(dir_str);
- //Opening file in app
- FileIo.open(doc, type, f, server);
- }
- }
- },
-
- ////////////////////////////////////////////////////////////////////
- //Creating unified method to check for success
- //FOR: Move, Copy, Rename
- directoryMCRCheck: {
- enumerable: false,
- value: function (r, code) {
- //TODO: Add error handling for unsuccessful attempts
- var outcome;
- //
- if (r.success) {
- //
- outcome = {};
- //
- switch (r.status) {
- case 204:
- //Success
- break;
- case 400:
- //Already exists
- break;
- case 404:
- //Source does not exists
- break;
- case 500:
- //Unknonwn
- break;
- default:
- break;
- }
- } else {
- //TODO: Add error handling
- }
- //
- return outcome;
- }
- },
-
-
- ////////////////////////////////////////////////////////////////////
- //
- createProject: {
- enumerable: false,
- value: function (directory) {
- var mjs_dir = {uri: directory.uri};
- mjs_dir.uri += '\\m-js';
- var mjs_check = CoreIoApi.directoryExists(mjs_dir);
- //
- if (mjs_check.success) {
- switch (mjs_check.status) {
- case 204:
- //TODO: Add logic to check for the correct version of m-js
- break;
- case 404:
- //m-js does not exists, ready to be created
-
-
-
-
-
-
- //Creating m-js folder and copying contents
- var mjs_folder = CoreIoApi.createDirectory(mjs_dir);
- if (mjs_folder.success) {
- switch (mjs_folder.status) {
- case 201:
- //TODO: Add error handling for error on copy sub directories
-
-
- var temp_dir = window.NativeShellApp.GetKnownFolder('appsource')+'\\user-document-templates\\montage-application\\systemio\\new\\project\\montage';
- var mjs_deps = CoreIoApi.createDirectory({uri: mjs_dir.uri+'\\deps'});
-
- //Folder created, now copying contents
- var copy_lib = CoreIoApi.copyDirectory({sourceUri: window.NativeShellApp.GetKnownFolder('frameworksource')+'\\lib', destUri: mjs_dir.uri+'\\lib'}),
- copy_deps = CoreIoApi.copyDirectory({sourceUri: window.NativeShellApp.GetKnownFolder('frameworksource')+'\\deps\\require', destUri: mjs_dir.uri+'\\deps\\require'}),
- copy_components = CoreIoApi.copyDirectory({sourceUri: window.NativeShellApp.GetKnownFolder('appsource')+'\\montage-components', destUri: directory.uri+'\\montage-components'});
-
- //Checking for lib operation's result
- if (copy_lib.success) {
- //Successful copy of directory
- } else {
- //Error, checking to see reason for error and this method should handling error state
- var check_lib = this.directoryMCRCheck(copy_lib, true);
- }
-
- //Checking for deps operation's result
- if (copy_deps.success) {
- //Successful copy of directory
- } else {
- //Error, checking to see reason for error and this method should handling error state
- var check_deps = this.directoryMCRCheck(copy_deps, true);
- }
-
- //Checking for components operation's result
- if (copy_components.success) {
- //Successful copy of directory
- } else {
- //Error, checking to see reason for error and this method should handling error state
- var check_components = this.directoryMCRCheck(copy_components, true);
- }
-
- var prj_tmplt = window.NativeShellApp.GetKnownFolder('appsource')+'\\document-templates\\projects\\montage';
- //TODO: Add error handling for file copying, clean up this HACK
- var copy_packagemjs = CoreIoApi.copyFile({sourceUri: window.NativeShellApp.GetKnownFolder('frameworksource')+'\\package.json', destUri: mjs_dir.uri+'\\package.json'}),
- copy_styles = CoreIoApi.copyFile({sourceUri: prj_tmplt+'\\styles.css', destUri: directory.uri+'\\styles.css'}),
- copy_appdelegate = CoreIoApi.copyFile({sourceUri: prj_tmplt+'\\appdelegate.js', destUri: directory.uri+'\\appdelegate.js'}),
- copy_package = CoreIoApi.copyFile({sourceUri: prj_tmplt+'\\package.json', destUri: directory.uri+'\\package.json'}),
- copy_index = CoreIoApi.copyFile({sourceUri: prj_tmplt+'\\index.html', destUri: directory.uri+'\\index.html'});
-
- //
- this.openProject(directory);
-
-
-
-
- break;
- case 400:
- //TODO: Add logic to handle already existing copy of m-js
- break;
- case 500:
- //TODO: Add error handling
- break;
- default:
- //TODO: Add error handling
- break;
- }
- } else {
- //TODO: Add error handling
- }
-
-
-
-
-
-
-
-
- break;
- case 500:
- //TODO: Add error handling
- break;
- default:
- //TODO: Add error handling
- break;
- }
- } else {
- //TODO: Add error handling
- }
- }
- },
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- openProject: {
- enumerable: false,
- value: function (directory) {
- //TODO: Add functionality, this is a HACK
-
-
-
-
-
- var uri, i;
- //Checking for directory to defined (otherwise prompts for URI)
- if (directory && directory.uri) {
- uri = directory.uri;
- } else {
- //Checking to prompt user depending on mode
- if (this.cloud) {
- //TODO: Add cloud integration
- } else {
- //Getting file URI from native prompt
- uri = CoreIoApi.openShellDialog({type: 'directory', action: 'open'});
- }
- }
- //Checking for a valid URI
- if (uri && uri.length>0) {
-
- this.openFile({uri: uri+'\\index.html'});
-
-
- } else {
- //No file was selected to be opened, nothing happens
- }
-
-
-
-
-
- }
- },
-
-
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- saveFile: {
- enumerable: false,
- value: function (f) {
- //console.log(f);
- //TODO: Add functionality
- //console.log('FileSystem: saveFile');
- //HACK
-
- ////////////////////////////////////////////////////////////////////
- // DEBUG CODE TO TEST WebGL I/O
- //var glData = DocumentManagerModule.DocumentManager.activeDocument.glData;
- //DocumentManagerModule.DocumentManager.activeDocument.glData = glData;
- ////////////////////////////////////////////////////////////////////
-
- if (f) {
- var s = CoreIoApi.updateFile(f);
- } else {
- //HACK
- this.saveProject();
- }
-
- }
- },
-
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- saveFileAs: {
- enumerable: false,
- value: function () {
- //TODO: Add functionality
- //console.log('FileSystem: saveFileAs');
- //HACK
- this.saveProject();
- }
- },
-
-
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- saveProject: {
- enumerable: false,
- value: function () {
- //FileIo.save('project');
- //console.log(DocumentManagerModule.DocumentManager.activeDocument._userComponentSet);
- //DocumentManagerModule.DocumentManager.activeDocument.server.root
-
- ////////////////////////////////////////////////////////////////////
- // DEBUG CODE TO TEST WebGL I/O
- //var glData = DocumentManagerModule.DocumentManager.activeDocument.glData;
- //DocumentManagerModule.DocumentManager.activeDocument.glData = glData;
- ////////////////////////////////////////////////////////////////////
-
-// var root = DocumentManagerModule.DocumentManager.activeDocument.server.root;
-//
-// //
-// var project = ProjectIo.save('montageapp',
-// DocumentManagerModule.DocumentManager.activeDocument.iframe.id,
-// DocumentManagerModule.DocumentManager.activeDocument._userComponentSet);
-//
-//
-//
-// //
-// var cssSave = this.saveFile({uri: root+'styles.css', contents: project.css});
-// var htmlSave = this.saveFile({uri: root+'index.html', contents: project.html});
-
- }
- },
-
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- saveAll: {
- enumerable: false,
- value: function () {
- //TODO: Add functionality
- //console.log('FileSystem: saveAll');
- //HACK
- this.saveProject();
- }
- },
-
-
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- closeFile: {
- enumerable: false,
- value: function () {
- //TODO: Add functionality
- console.log('FileSystem: closeFile');
- }
- },
-
-
-
-
-
- ////////////////////////////////////////////////////////////////////
- //
- closeProject: {
- enumerable: false,
- value: function () {
- //TODO: Add functionality
- console.log('FileSystem: closeProject');
- }
- }
-
-
-
-
-
-
-
- ////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////
-});
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
\ No newline at end of file
diff --git a/js/io/ui/cloudpopup.reel/cloudpopup.html b/js/io/ui/cloudpopup.reel/cloudpopup.html
index eb5e8178..1ab0892d 100755
--- a/js/io/ui/cloudpopup.reel/cloudpopup.html
+++ b/js/io/ui/cloudpopup.reel/cloudpopup.html
@@ -34,7 +34,7 @@
Cloud Service Dialog
- Connection to the Ninja Cloud Server was not detected. Please verify that the server is running and the URL below is correct.
+ Connection to the Cloud Server was not detected. Please verify
that the server is running and the URL below is correct.
diff --git a/js/io/ui/cloudpopup.reel/css/cloudpopup.css b/js/io/ui/cloudpopup.reel/css/cloudpopup.css
index eac18083..6d804e50 100644
--- a/js/io/ui/cloudpopup.reel/css/cloudpopup.css
+++ b/js/io/ui/cloudpopup.reel/css/cloudpopup.css
@@ -36,11 +36,10 @@
.cloud_popup .content p {
text-shadow: 1px 1px 1px #222;
margin: 0px 0px 12px 0px;
- text-align: justify;
color: #EEE;
}
-/* line 48, cloudpopup.scss */
+/* line 47, cloudpopup.scss */
.cloud_popup .content .btn_test {
float: right;
clear: right;
@@ -48,7 +47,7 @@
width: 60px;
}
-/* line 56, cloudpopup.scss */
+/* line 55, cloudpopup.scss */
.cloud_popup .content label {
float: left;
margin: 5px 8px 0px 0px;
@@ -57,7 +56,7 @@
text-align: right;
}
-/* line 65, cloudpopup.scss */
+/* line 64, cloudpopup.scss */
.cloud_popup .content input {
display: block;
float: left;
@@ -73,7 +72,7 @@
background: #292929 -webkit-gradient(linear, left top, left bottom, color-stop(45%, #434343), color-stop(100%, #292929));
}
-/* line 81, cloudpopup.scss */
+/* line 80, cloudpopup.scss */
.cloud_popup .content input:focus {
text-shadow: none;
background: #FFF;
@@ -81,7 +80,7 @@
color: #292929;
}
-/* line 89, cloudpopup.scss */
+/* line 88, cloudpopup.scss */
.cloud_popup .content .status {
float: left;
clear: right;
@@ -90,7 +89,7 @@
width: 240px;
}
-/* line 98, cloudpopup.scss */
+/* line 97, cloudpopup.scss */
.cloud_popup .content .btn_ok, .cloud_popup .content .btn_cancel {
width: 80px;
text-align: center;
diff --git a/js/io/ui/cloudpopup.reel/css/cloudpopup.scss b/js/io/ui/cloudpopup.reel/css/cloudpopup.scss
index 047e2dd1..5137beff 100755
--- a/js/io/ui/cloudpopup.reel/css/cloudpopup.scss
+++ b/js/io/ui/cloudpopup.reel/css/cloudpopup.scss
@@ -40,7 +40,6 @@ $grey_light: #494949;
{
text-shadow: 1px 1px 1px #222;
margin: 0px 0px 12px 0px;
- text-align: justify;
color: #EEE;
}
--
cgit v1.2.3
From 42122c5c708769e11b626654bf3d989b6b0eddad Mon Sep 17 00:00:00 2001
From: Jose Antonio Marquez
Date: Wed, 1 Feb 2012 13:34:53 -0800
Subject: Updating after merge with other FileIO branch
---
js/io/system/coreioapi.js | 1 -
js/io/system/fileio.js | 22 +++++++++++++++++++++-
2 files changed, 21 insertions(+), 2 deletions(-)
(limited to 'js')
diff --git a/js/io/system/coreioapi.js b/js/io/system/coreioapi.js
index 3a007028..e55789c4 100755
--- a/js/io/system/coreioapi.js
+++ b/js/io/system/coreioapi.js
@@ -207,7 +207,6 @@ exports.CoreIoApi = Montage.create(Component, {
directoryServiceURL: {
enumerable: false,
get: function() {
- console.log(this);
return String(this.rootUrl+this._directoryServiceURL);
},
set: function(value) {
diff --git a/js/io/system/fileio.js b/js/io/system/fileio.js
index ac5812e9..f40aa96b 100755
--- a/js/io/system/fileio.js
+++ b/js/io/system/fileio.js
@@ -11,7 +11,7 @@ NOTES:
empty file will be created. 'contents' should be a string to be saved
as the file. 'contentType' is the mime type of the file.
- coreIoApi: this.application.ninja.coreIoApi
+ Core API reference in NINJA: this.application.ninja.coreIoApi
////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////// */
@@ -65,24 +65,44 @@ exports.FileIo = Montage.create(Object.prototype, {
readFile: {
enumerable: true,
value: function() {
+ //Checking for API to be available
+ if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+ //API not available, no IO action taken
+ return null;
+ }
//
}
},
saveFile: {
enumerable: true,
value: function() {
+ //Checking for API to be available
+ if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+ //API not available, no IO action taken
+ return null;
+ }
//
}
},
copyFile: {
enumerable: true,
value: function() {
+ //Checking for API to be available
+ if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+ //API not available, no IO action taken
+ return null;
+ }
//
}
},
infoFile: {
enumerable: true,
value: function() {
+ //Checking for API to be available
+ if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+ //API not available, no IO action taken
+ return null;
+ }
//
}
}
--
cgit v1.2.3
From b354ea65f7c53ce05aff6a204853e666f084950f Mon Sep 17 00:00:00 2001
From: Jose Antonio Marquez
Date: Wed, 1 Feb 2012 13:56:49 -0800
Subject: Adding cancel functionality to cloud popup
Added the functionality to the cloud pupup cancel button to set the rootURL to null if selected, ok button will allow the value to remain as last input. Test button tests the URL, and therefore set it, but does not handling closing the dialog.
---
js/io/ui/cloudpopup.reel/cloudpopup.js | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
(limited to 'js')
diff --git a/js/io/ui/cloudpopup.reel/cloudpopup.js b/js/io/ui/cloudpopup.reel/cloudpopup.js
index e8558179..7f494dcf 100755
--- a/js/io/ui/cloudpopup.reel/cloudpopup.js
+++ b/js/io/ui/cloudpopup.reel/cloudpopup.js
@@ -51,6 +51,9 @@ exports.CloudPopup = Montage.create(Component, {
value: function() {
//
this.testConnection();
+ if (this.application.ninja.coreIoApi.cloudAvailable()) {
+ this.closeDialog();
+ }
}
},
////////////////////////////////////////////////////////////////////
@@ -62,7 +65,7 @@ exports.CloudPopup = Montage.create(Component, {
this.components.test_btn.addEventListener('click', this.testConnection.bind(this), false);
//
this.components.ok_btn.addEventListener('click', this.closeDialog.bind(this), false);
- this.components.cancel_btn.addEventListener('click', this.closeDialog.bind(this), false);
+ this.components.cancel_btn.addEventListener('click', this.cancelDialog.bind(this), false);
}
},
////////////////////////////////////////////////////////////////////
@@ -90,6 +93,16 @@ exports.CloudPopup = Montage.create(Component, {
//
this.application.ninja.coreIoApi.hideCloudDialog();
}
+ },
+ ////////////////////////////////////////////////////////////////////
+ //
+ cancelDialog: {
+ enumerable: false,
+ value: function() {
+ //
+ this.application.ninja.coreIoApi.rootUrl = null;
+ this.application.ninja.coreIoApi.hideCloudDialog();
+ }
}
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
--
cgit v1.2.3
From 33e655cbbb0816340c5a2e5d5cc0a6b0c7d9f53c Mon Sep 17 00:00:00 2001
From: Jose Antonio Marquez
Date: Wed, 1 Feb 2012 23:31:36 -0800
Subject: File IO clean up and setting up
Cleaned up file IO templates and removed app-caching from Ninja since it would be needed. Setting up io-mediator to hook up to controller. Still need to address naming conventions and clean up more in the io directory.
---
js/io/system/projectio.js | 70 ++++++++++++++++++++------------
js/io/templates/descriptor.json | 51 +++++++++++++++++++++++
js/io/templates/files/_bin/template.css | 0
js/io/templates/files/_bin/template.html | 0
js/io/templates/files/_bin/template.js | 0
js/io/templates/files/_bin/template.json | 0
js/io/templates/files/_bin/template.php | 0
js/io/templates/files/_bin/template.pl | 0
js/io/templates/files/_bin/template.py | 0
js/io/templates/files/_bin/template.rb | 0
js/io/templates/files/_bin/template.xml | 0
js/io/templates/files/_bin/xml.txt | 0
js/mediators/io-mediator.js | 27 ++++++++++++
13 files changed, 123 insertions(+), 25 deletions(-)
create mode 100644 js/io/templates/descriptor.json
delete mode 100755 js/io/templates/files/_bin/template.css
delete mode 100755 js/io/templates/files/_bin/template.html
delete mode 100755 js/io/templates/files/_bin/template.js
delete mode 100755 js/io/templates/files/_bin/template.json
delete mode 100755 js/io/templates/files/_bin/template.php
delete mode 100755 js/io/templates/files/_bin/template.pl
delete mode 100755 js/io/templates/files/_bin/template.py
delete mode 100755 js/io/templates/files/_bin/template.rb
delete mode 100755 js/io/templates/files/_bin/template.xml
delete mode 100755 js/io/templates/files/_bin/xml.txt
create mode 100644 js/mediators/io-mediator.js
(limited to 'js')
diff --git a/js/io/system/projectio.js b/js/io/system/projectio.js
index 822fd385..ad4cf151 100755
--- a/js/io/system/projectio.js
+++ b/js/io/system/projectio.js
@@ -4,56 +4,76 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
*/
-var FileIo = require("js/io/system/fileio").FileIo;
////////////////////////////////////////////////////////////////////////
-//Exporting as Project I/O
-exports.ProjectIo = (require("montage/core/core").Montage).create(Object.prototype, {
+//
+var Montage = require("montage/core/core").Montage,
+ FileIo = require("js/io/system/fileio").FileIo;
+////////////////////////////////////////////////////////////////////////
+//
+exports.ProjectIo = = Montage.create(Object.prototype, {
////////////////////////////////////////////////////////////////////
//
- create: {
+ newProject: {
enumerable: false,
value: function () {
+ //Checking for API to be available
+ if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+ //API not available, no IO action taken
+ return null;
+ }
+ //
}
},
////////////////////////////////////////////////////////////////////
//
- open: {
+ readProject: {
enumerable: false,
value: function(e) {
- //TODO: Add functionality
- console.log('ProjectIO: open');
+ //Checking for API to be available
+ if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+ //API not available, no IO action taken
+ return null;
+ }
+ //
}
},
////////////////////////////////////////////////////////////////////
//
- save: {
+ saveProject: {
enumerable: false,
- value: function(type, id, components) {
- //
- var rObj;
+ value: function() {
+ //Checking for API to be available
+ if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+ //API not available, no IO action taken
+ return null;
+ }
//
- switch (type) {
- case 'montageapp':
- //
- var css = FileIo.save('css', id);
- var html = FileIo.save('html', id, components);
- //
- rObj = {html: html, css: css};
- break;
- default:
- break;
+ }
+ },
+ ////////////////////////////////////////////////////////////////////
+ //
+ copyProject: {
+ enumerable: false,
+ value: function(e) {
+ //Checking for API to be available
+ if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+ //API not available, no IO action taken
+ return null;
}
//
- return rObj;
}
},
////////////////////////////////////////////////////////////////////
//
- saveAs: {
+ infoProject: {
enumerable: false,
value: function(e) {
- //TODO: Add functionality
- console.log('ProjectIO: saveAs');
+ //Checking for API to be available
+ if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+ //API not available, no IO action taken
+ return null;
+ }
+ //
}
}
////////////////////////////////////////////////////////////////////
diff --git a/js/io/templates/descriptor.json b/js/io/templates/descriptor.json
new file mode 100644
index 00000000..3d8391c5
--- /dev/null
+++ b/js/io/templates/descriptor.json
@@ -0,0 +1,51 @@
+{
+ "categories":{
+ "children":["newFile"]
+ },
+ "newFile":{
+ "name":"Blank Template",
+ "uri":"/",
+ "type":"directory",
+ "children":["html", "js", "css", "json", "php", "pl", "py", "rb"]
+ },
+ "html":{
+ "name":"HTML",
+ "uri":"files/html.txt",
+ "type":"file"
+ },
+ "js":{
+ "name":"JavaScript",
+ "uri":"files/js.txt",
+ "type":"file"
+ },
+ "css":{
+ "name":"Cascading Style Sheets",
+ "uri":"files/css.txt",
+ "type":"file"
+ },
+ "json":{
+ "name":"JSON",
+ "uri":"files/json.txt",
+ "type":"file"
+ },
+ "php":{
+ "name":"PHP",
+ "uri":"files/php.txt",
+ "type":"file"
+ },
+ "pl":{
+ "name":"Perl",
+ "uri":"files/pl.txt",
+ "type":"file"
+ },
+ "py":{
+ "name":"Python",
+ "uri":"files/py.txt",
+ "type":"file"
+ },
+ "rb":{
+ "name":"Ruby",
+ "uri":"files/rb.txt",
+ "type":"file"
+ }
+}
\ No newline at end of file
diff --git a/js/io/templates/files/_bin/template.css b/js/io/templates/files/_bin/template.css
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/io/templates/files/_bin/template.html b/js/io/templates/files/_bin/template.html
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/io/templates/files/_bin/template.js b/js/io/templates/files/_bin/template.js
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/io/templates/files/_bin/template.json b/js/io/templates/files/_bin/template.json
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/io/templates/files/_bin/template.php b/js/io/templates/files/_bin/template.php
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/io/templates/files/_bin/template.pl b/js/io/templates/files/_bin/template.pl
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/io/templates/files/_bin/template.py b/js/io/templates/files/_bin/template.py
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/io/templates/files/_bin/template.rb b/js/io/templates/files/_bin/template.rb
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/io/templates/files/_bin/template.xml b/js/io/templates/files/_bin/template.xml
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/io/templates/files/_bin/xml.txt b/js/io/templates/files/_bin/xml.txt
deleted file mode 100755
index e69de29b..00000000
diff --git a/js/mediators/io-mediator.js b/js/mediators/io-mediator.js
new file mode 100644
index 00000000..b392a065
--- /dev/null
+++ b/js/mediators/io-mediator.js
@@ -0,0 +1,27 @@
+/*
+This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
+ */
+
+////////////////////////////////////////////////////////////////////////
+//
+var Montage = require("montage/core/core").Montage,
+ FileIo = require("js/io/system/fileio").FileIo,
+ ProjectIo = require("js/io/system/projectio").ProjectIo;
+////////////////////////////////////////////////////////////////////////
+//
+exports.IoMediator = Montage.create(Object.prototype, {
+ ////////////////////////////////////////////////////////////////////
+ //
+ name: {
+ enumerable: false,
+ value: function () {
+ //
+ }
+ }
+ ////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////
+});
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
\ No newline at end of file
--
cgit v1.2.3