Skip to content

Commit

Permalink
pull all settings from env variables. remove Meteor.settings
Browse files Browse the repository at this point in the history
  • Loading branch information
angelcabo committed Jul 5, 2015
1 parent 3cd49bd commit b16bd27
Show file tree
Hide file tree
Showing 8 changed files with 92 additions and 66 deletions.
2 changes: 1 addition & 1 deletion Gruntfile.js
Expand Up @@ -341,7 +341,7 @@ module.exports = function (grunt) {
grunt.registerTask('meteorRun', function () {
grunt.task.requires('env:dev');
shell.cd(grunt.config('config').webApp);
shell.exec('meteor run --settings settings.json');
shell.exec('meteor run');
});
grunt.registerTask('meteorServer', ['env:dev', 'meteorRun']);

Expand Down
1 change: 1 addition & 0 deletions meteor-app/.meteor/packages
Expand Up @@ -26,3 +26,4 @@ meteorhacks:npm
npm-container
ostrio:neo4jdriver
momentjs:moment
raix:ui-dropped-event
1 change: 1 addition & 0 deletions meteor-app/.meteor/versions
Expand Up @@ -58,6 +58,7 @@ parallels-canvas-manager@0.0.1
parallels-core@0.0.1
practicalmeteor:chai@1.9.2_3
practicalmeteor:loglevel@1.2.0_1
raix:ui-dropped-event@0.0.7
random@1.0.3
reactive-dict@1.1.0
reactive-var@1.0.5
Expand Down
81 changes: 40 additions & 41 deletions meteor-app/client/components/info-menu/rendered.js
@@ -1,61 +1,60 @@
Template.infoMenu.rendered = function() {
// todo: Meteor.settings.public.options.displayIntroAnimation
if (true) {
Meteor.call('getSetting', 'displayIntroAnimation', function (err, displayIntroAnimation) {
if (displayIntroAnimation) {

var timelineSequence = new TimelineMax({ paused: true });
var timelineSequence = new TimelineMax({ paused: true });

// Greensock .call is similar to its .add,
// except .call lets us pass params to our function
timelineSequence
.add(timelineMenu())
.call(
// Greensock .call is similar to its .add,
// except .call lets us pass params to our function
timelineSequence
.add(timelineMenu())
.call(
Parallels.Animation.General.shimmer,
[
{ $elements: $(".map .bit") }
])
.play();
.play();

// TODO: extract into Animation class
// adapted from: http://codepen.io/vdaguenet/pen/raXBKp
function timelineMenu () {
// TODO: extract into Animation class
// adapted from: http://codepen.io/vdaguenet/pen/raXBKp
function timelineMenu () {

var menu = $(".info-menu");
var viewportWidth = 1385; // verge.viewportW();
var viewportHeight = 534; // verge.viewportH();
var timeline = new TimelineMax();
var menu = $(".info-menu");
var viewportWidth = verge.viewportW();
var viewportHeight = verge.viewportH();
var timeline = new TimelineMax();

var topToBottomLine = $('.wipe.top-to-bottom .line');
var maskTop = $('.wipe.top-to-bottom .mask.top');
var maskBottom = $('.wipe.top-to-bottom .mask.bottom');
var topToBottomLine = $('.wipe.top-to-bottom .line');
var maskTop = $('.wipe.top-to-bottom .mask.top');
var maskBottom = $('.wipe.top-to-bottom .mask.bottom');

var sideToSideLine = $('.wipe.side-to-side .line');
var maskLeft = $('.wipe.load.side-to-side .mask.left');
var maskRight = $('.wipe.load.side-to-side .mask.right');
var sideToSideLine = $('.wipe.side-to-side .line');
var maskLeft = $('.wipe.load.side-to-side .mask.left');
var maskRight = $('.wipe.load.side-to-side .mask.right');

TweenMax.set($('.wipe.load.side-to-side'), { alpha: 0 });
TweenMax.set($('.wipe.load.side-to-side'), { alpha: 0 });

timeline.fromTo(topToBottomLine, 0.4, { x: viewportWidth }, { x: 0, ease: Circ.easeIn }, 0);
timeline.fromTo(maskTop, 0.4, { y: 0 }, { y: -viewportHeight / 2, ease: Expo.easeOut, delay: 0.1 }, 0.4);
timeline.fromTo(maskBottom, 0.4, { y: 0 }, { y: viewportHeight / 2, ease: Expo.easeOut, delay: 0.1 }, 0.4);
timeline.set($('.wipe.load.top-to-bottom'), { alpha: 0, display: "none" });
timeline.fromTo(topToBottomLine, 0.4, { x: viewportWidth }, { x: 0, ease: Circ.easeIn }, 0);
timeline.fromTo(maskTop, 0.4, { y: 0 }, { y: -viewportHeight / 2, ease: Expo.easeOut, delay: 0.1 }, 0.4);
timeline.fromTo(maskBottom, 0.4, { y: 0 }, { y: viewportHeight / 2, ease: Expo.easeOut, delay: 0.1 }, 0.4);
timeline.set($('.wipe.load.top-to-bottom'), { alpha: 0, display: "none" });

timeline.set($('.wipe.load.side-to-side'), { alpha: 1, display: "block"});
timeline.fromTo(sideToSideLine, 0.4, { y: -viewportHeight}, {y: 0, ease: Circ.easeIn});
timeline.fromTo(maskRight, 0.4, { x: 0 }, {x: viewportWidth / 2, ease: Expo.easeOut, delay: 0.1 }, 1.2); // 2.5
timeline.fromTo(maskLeft, 0.4, { x: 0 }, {x: -viewportWidth / 2, ease: Expo.easeOut, delay: 0.1 }, 1.2);
timeline.set($('.wipe.load.side-to-side'), { alpha: 0, display: "none" });
timeline.set($('.wipe.load.side-to-side'), { alpha: 1, display: "block"});
timeline.fromTo(sideToSideLine, 0.4, { y: -viewportHeight}, {y: 0, ease: Circ.easeIn});
timeline.fromTo(maskRight, 0.4, { x: 0 }, {x: viewportWidth / 2, ease: Expo.easeOut, delay: 0.1 }, 1.2); // 2.5
timeline.fromTo(maskLeft, 0.4, { x: 0 }, {x: -viewportWidth / 2, ease: Expo.easeOut, delay: 0.1 }, 1.2);
timeline.set($('.wipe.load.side-to-side'), { alpha: 0, display: "none" });

timeline.to(menu, 1, { top: "0", ease:Elastic.easeOut });
timeline.to(menu, 1, { top: "0", ease:Elastic.easeOut });

return timeline;
}

}

else {
$('.wipe. load').hide();
}
return timeline;
}

}

else {
$('.wipe.load').hide();
}
});
};

19 changes: 13 additions & 6 deletions meteor-app/client/components/maps/events.js
Expand Up @@ -33,6 +33,8 @@ var createImageBit = function (file, downloadUrl, event, uploadKey, index) {
img.src = u;
};

var slingshotUploader;

Parallels.Handlers.register('map.events', {

'dropped .map': function(e) {
Expand All @@ -45,13 +47,12 @@ Parallels.Handlers.register('map.events', {

var fileUploads = _.map(droppedFiles, function (file, index) {
var uploadKey = Math.random().toString(36).slice(2);
var uploader = new Slingshot.Upload('fileSystemUploader');
uploader.send(file, function (error) {
if (error) Errors.insert({dateTimeStamp: Date.now(), action: 'Image Upload', message: error.message});
slingshotUploader.send(file, function (error) {
if (error) console.log({dateTimeStamp: Date.now(), action: 'Image Upload', message: error.message});
});
Parallels.FileUploads[uploadKey] = uploader;
createImageBit(file, uploader.url(true), event, uploadKey, index);
return uploader;
Parallels.FileUploads[uploadKey] = slingshotUploader;
createImageBit(file, slingshotUploader.url(true), event, uploadKey, index);
return slingshotUploader;
});

Tracker.autorun(function (computation) {
Expand All @@ -74,4 +75,10 @@ Parallels.Handlers.register('map.events', {
}
});

Template.map.onCreated(function () {
Meteor.call('getSetting', 'uploader', function (err, uploader) {
slingshotUploader = new Slingshot.Upload(uploader);
});
});

Template.map.events(Parallels.Handlers.get('map.events'));
36 changes: 36 additions & 0 deletions meteor-app/server/settings.js
@@ -0,0 +1,36 @@

const ConfigurationOptions = {
displayIntroAnimation: {key: 'DISPLAY_INTRO_ANIMATION', defaultValue: "true", valueType: 'boolean' },
uploader: {key: 'UPLOADER', defaultValue: 'fileSystemUploader', valueType: 'string' }
};

function stringToBool(string) {
switch (string.trim().toLowerCase()) {
case "false":
case "no":
case "0":
case "":
return false;
default:
return true;
}
}

Meteor.methods({
getSetting: function (name) {
check(name, String);
var setting = ConfigurationOptions[name];

if (!setting) {
throw new Meteor.Error("setting-not-found", "Can't find a configuration for " + name);
}

var value = process.env[setting.key] || setting.defaultValue;

if (setting.valueType === 'boolean') {
return stringToBool(value);
} else {
return value.trim();
}
}
});
9 changes: 0 additions & 9 deletions meteor-app/settings.json

This file was deleted.

9 changes: 0 additions & 9 deletions meteor-app/settings.json.sample

This file was deleted.

0 comments on commit b16bd27

Please sign in to comment.