Skip to content
This repository has been archived by the owner on Nov 16, 2022. It is now read-only.

Commit

Permalink
tidy up a bit
Browse files Browse the repository at this point in the history
  • Loading branch information
levity committed Jul 29, 2015
1 parent eca25a1 commit d4f05be
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 41 deletions.
1 change: 1 addition & 0 deletions .jshintrc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"angular": false,
"describe": false,
"expect": false,
"filepicker": true,
"format": true,
"hyloEnv": true,
"it": false,
Expand Down
13 changes: 6 additions & 7 deletions src/js/app/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
var connectWebViewJavascriptBridge = require('./services/webViewJavascriptBridge'),
isiOSApp = require('./services/isIOSApp');

require('./directives');
require('./controllers');

Expand Down Expand Up @@ -74,12 +77,8 @@ app.run(function($rootScope, $state, growl, $bodyClass, CurrentUser) {
$rootScope.$state = $state;
$rootScope.$bodyClass = $bodyClass;

var connectWebViewJavascriptBridge = require('./services/webviewjavascriptbridge'),
isiOSApp = require('./services/isiosapp');

$rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams, error) {

if(isiOSApp()) {
if (isiOSApp()) {
if (fromState.name === "") {
connectWebViewJavascriptBridge(function(bridge) {
bridge.init(function(message, responseCallback) {
Expand All @@ -95,7 +94,7 @@ app.run(function($rootScope, $state, growl, $bodyClass, CurrentUser) {
var payload = {message: "stateChanged", toState: toState.name};
bridge.send(JSON.stringify(payload));
});
};
}
});

});
46 changes: 14 additions & 32 deletions src/js/app/services/filepickerUpload.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
var path = require('path'),
qs = require('querystring'),
isiOSApp = require('./isiosapp'),
connectWebViewJavascriptBridge = require('./webviewjavascriptbridge');
isiOSApp = require('./isIOSApp'),
connectToBridge = require('./webViewJavascriptBridge');

// order matters, except for CONVERT, which toggles the crop UI
var services = [
// 'CONVERT',
Expand All @@ -14,7 +15,6 @@ var services = [
'GOOGLE_DRIVE'
];


var makeFilename = function(blob) {
var extension = '',
timestamp = new Date().getTime().toString();
Expand All @@ -41,17 +41,14 @@ var makeFilename = function(blob) {
*/
module.exports = function(opts) {

var convertAndStoreImage = function(blob) {

// this function captures 'opts'

var convertAndStore = function(blob) {
// apply additional context-specific conversion settings
var conversion = _.extend({compress: true, quality: 90}, opts.convert);

// blob.url will end with "/convert?crop=..."
// if "CONVERT" is in the list of services
var url = blob.url + '/convert?' + qs.stringify(conversion);

filepicker.storeUrl(
url,
{
Expand All @@ -60,44 +57,29 @@ module.exports = function(opts) {
location: 'S3',
path: path.join(opts.path, makeFilename(blob))
},
function(stored) {
opts.success(hyloEnv.s3.cloudfrontHost + '/' + stored.key);
},
stored => opts.success(hyloEnv.s3.cloudfrontHost + '/' + stored.key),
opts.failure
);
};
};

filepicker.setKey(hyloEnv.filepicker.key);

if (isiOSApp()) {

console.log("JS Reloaded");

connectWebViewJavascriptBridge(function(bridge) {
var payload = {message: "filepickerUpload", options: opts};
bridge.send(JSON.stringify(payload), function (responseData) {
if (isiOSApp()) {
var payload = JSON.stringify({message: "filepickerUpload", options: opts});

if (responseData == "")
return opts.failure("Cancelled");
connectToBridge(bridge => bridge.send(payload, resp =>
(resp === "" ? opts.failure("Cancelled") : convertAndStore(JSON.parse(resp)))));

convertAndStoreImage(JSON.parse(responseData));
});
});

} else {

filepicker.pick(
{
mimetype: 'image/*',
multple: false,
services: services
},

convertAndStoreImage,

convertAndStore,
opts.failure
);

}
}

};
4 changes: 2 additions & 2 deletions src/js/app/services/webviewjavascriptbridge.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* usage:
* var connectWebViewJavascriptBridge = require('webviewjavascriptbridge');
/* usage:
* var connectWebViewJavascriptBridge = require('webViewJavascriptBridge');
* connectWebViewJavascriptBridge(function(bridge) {
* bridge.send(...)
* }
Expand Down

0 comments on commit d4f05be

Please sign in to comment.