From 3251315ecc22544dab50623ee5862e00dfe02302 Mon Sep 17 00:00:00 2001 From: Ananya Sen Date: Mon, 20 Feb 2012 15:15:37 -0800 Subject: check cloud availability before open file picker and new file dialogs Signed-off-by: Ananya Sen --- js/io/system/coreioapi.js | 10 ++++++---- js/io/ui/cloudpopup.reel/cloudpopup.js | 11 +++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) (limited to 'js/io') diff --git a/js/io/system/coreioapi.js b/js/io/system/coreioapi.js index 2051da43..1bc66532 100755 --- a/js/io/system/coreioapi.js +++ b/js/io/system/coreioapi.js @@ -234,18 +234,19 @@ exports.CoreIoApi = Montage.create(Component, { //Method to check status of I/O API, will return false if not active cloudAvailable: { enumerable: false, - value: function () { + value: function (callback) { var cloud = this.getCloudStatus(); // if (this.rootUrl && cloud.status === 200) { //Active this.cloudData.name = cloud.response['name']; this.cloudData.root = cloud.response['server-root']; - return true; + if(!!callback){callback();} + else{return true}; } else { //Inactive if (!this._cloudDialogOpen && this.application.ninja) { - this.showCloudDialog(); + this.showCloudDialog(callback); } return false; } @@ -273,7 +274,7 @@ exports.CoreIoApi = Montage.create(Component, { // showCloudDialog: { enumerable: false, - value: function () { + value: function (callback) { // this._cloudDialogOpen = true; // @@ -294,6 +295,7 @@ exports.CoreIoApi = Montage.create(Component, { this._cloudDialogComponents.dialog.element = popup; this._cloudDialogComponents.dialog.needsDraw = true; this._cloudDialogComponents.dialog.element.style.opacity = 0; + this._cloudDialogComponents.dialog.callback = callback; // this._cloudDialogComponents.dialog.addEventListener('firstDraw', this, false); } diff --git a/js/io/ui/cloudpopup.reel/cloudpopup.js b/js/io/ui/cloudpopup.reel/cloudpopup.js index a2283d46..8e24f1a1 100755 --- a/js/io/ui/cloudpopup.reel/cloudpopup.js +++ b/js/io/ui/cloudpopup.reel/cloudpopup.js @@ -23,6 +23,12 @@ exports.CloudPopup = Montage.create(Component, { }, //////////////////////////////////////////////////////////////////// // + callback:{ + writable:true, + enumerable:true, + value:null + }, + // components: { enumerable: false, value: {test_btn: null, ok_btn: null, cancel_btn: null, download_btn: null, status: null, url: null} @@ -121,6 +127,10 @@ exports.CloudPopup = Montage.create(Component, { value: function() { // this.application.ninja.coreIoApi.hideCloudDialog(); + this.application.ninja.coreIoApi._cloudDialogOpen=false; + if(!!this.callback){ + this.callback(); + } } }, //////////////////////////////////////////////////////////////////// @@ -131,6 +141,7 @@ exports.CloudPopup = Montage.create(Component, { // this.application.ninja.coreIoApi.rootUrl = null; this.application.ninja.coreIoApi.hideCloudDialog(); + this.application.ninja.coreIoApi._cloudDialogOpen=false; } } //////////////////////////////////////////////////////////////////// -- cgit v1.2.3