Cdentinger has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/211914

Change subject: spaces to tabs, fix a couple errant html tags
......................................................................

spaces to tabs, fix a couple errant html tags

Change-Id: I7bd8eaf927e0baef5b11dc6184dfa2c7f9e5405b
---
M bower.json
M config.js
M gulpfile.js
M package.json
M routes/index.js
M src/app/require.config.js
M src/app/router.js
M src/app/startup.js
M src/components/app-content/app-content.js
M src/components/boards/generic-board/generic-board.html
M src/components/boards/generic-board/generic-board.js
M src/components/nav-bar/nav-bar.js
M src/components/utils/date-pickers/date-pickers.html
M src/components/utils/date-pickers/date-pickers.js
M src/components/widgets/ABTesting/ABTestingMain.html
M src/components/widgets/fraud-gauge/fraud-gauge.html
M src/css/style.css
M src/index.html
M widgets/index.js
19 files changed, 1,102 insertions(+), 1,104 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/dash 
refs/changes/14/211914/1

diff --git a/bower.json b/bower.json
index 75802c6..7ccbafe 100644
--- a/bower.json
+++ b/bower.json
@@ -1,55 +1,55 @@
 {
-  "name": "dash",
-  "version": "0.0.0",
-  "authors": [
-    "Sherah Smith <ssm...@wikimedia.org>"
-  ],
-  "description": "A Data Visualization Dashboard for Wikimedia Foundation 
Fundraising",
-  "main": "server.js",
-  "moduleType": [
-    "amd",
-    "globals",
-    "node"
-  ],
-  "license": "MIT",
-  "ignore": [
-    "**/.*",
-    "node_modules",
-    "public/javascripts/vendor",
-    "test",
-    "tests",
-    "bower_components",
-    "src/bower_modules"
-  ],
-  "dependencies": {
-    "bootstrap-datepicker": "~1.3.0",
-    "bootstrap-timepicker": "~0.2.6",
-    "d3": "~3.5.0",
-    "c3": "~0.4.10",
-    "chartjs": "~1.0.0",
-    "crossroads": "~0.12.0",
-    "gauge.js": "~1.2.1",
-    "fontawesome": "4.2",
-    "hasher": "~1.2.0",
-    "knockout-projections": "~1.1.0-pre",
-    "knockout": "~3.2.0",
-    "moment": "~2.7.0",
-    "raphael": "~2.1.2",
-    "requirejs": "~2.1.15",
-    "lato": "~0.2.1",
-    "requirejs-text": "~2.0.12",
-    "jquery": "~2.1.1",
-    "nouislider": "~7.0.7",
-    "numeraljs": "~1.5.3",
-    "select2": "~3.5.2"
-  },
-  "keywords": [
-    "dash"
-  ],
-  "homepage": "http://sherah.github.io/dash";,
-  "private": true,
-  "resolutions": {
-    "bootstrap": ">=3.0 <4.0",
-    "jquery": "2.1.1"
-  }
+       "name": "dash",
+       "version": "0.0.0",
+       "authors": [
+               "Sherah Smith <ssm...@wikimedia.org>"
+       ],
+       "description": "A Data Visualization Dashboard for Wikimedia Foundation 
Fundraising",
+       "main": "server.js",
+       "moduleType": [
+               "amd",
+               "globals",
+               "node"
+       ],
+       "license": "MIT",
+       "ignore": [
+               "**/.*",
+               "node_modules",
+               "public/javascripts/vendor",
+               "test",
+               "tests",
+               "bower_components",
+               "src/bower_modules"
+       ],
+       "dependencies": {
+               "bootstrap-datepicker": "~1.3.0",
+               "bootstrap-timepicker": "~0.2.6",
+               "d3": "~3.5.0",
+               "c3": "~0.4.10",
+               "chartjs": "~1.0.0",
+               "crossroads": "~0.12.0",
+               "gauge.js": "~1.2.1",
+               "fontawesome": "4.2",
+               "hasher": "~1.2.0",
+               "knockout-projections": "~1.1.0-pre",
+               "knockout": "~3.2.0",
+               "moment": "~2.7.0",
+               "raphael": "~2.1.2",
+               "requirejs": "~2.1.15",
+               "lato": "~0.2.1",
+               "requirejs-text": "~2.0.12",
+               "jquery": "~2.1.1",
+               "nouislider": "~7.0.7",
+               "numeraljs": "~1.5.3",
+               "select2": "~3.5.2"
+       },
+       "keywords": [
+               "dash"
+       ],
+       "homepage": "http://sherah.github.io/dash";,
+       "private": true,
+       "resolutions": {
+               "bootstrap": ">=3.0 <4.0",
+               "jquery": "2.1.1"
+       }
 }
diff --git a/config.js b/config.js
index 0c7c0ab..a9fce33 100644
--- a/config.js
+++ b/config.js
@@ -1,30 +1,30 @@
 var commander = require( 'commander' ),
-    defaults  = require( './defaults.js' ),
-    logger    = require( './logger.js' ),
-    prop,
-    config;
+               defaults  = require( './defaults.js' ),
+               logger    = require( './logger.js' ),
+               prop,
+               config;
 
 commander
-    .version( '0.0.1' )
-    .option( '-c, --config <path>', 'Path to the local configuration file' )
-    .option( '-d, --debug', 'Run unminified code and skip auth check')
-    .parse( process.argv );
-       
+               .version( '0.0.1' )
+               .option( '-c, --config <path>', 'Path to the local 
configuration file' )
+               .option( '-d, --debug', 'Run unminified code and skip auth 
check')
+               .parse( process.argv );
+
 try {
-    if ( commander.config ) {
-        config = require( commander.config );
+               if ( commander.config ) {
+                               config = require( commander.config );
                for ( prop in defaults ) {
                        if ( defaults.hasOwnProperty( prop ) && 
!config.hasOwnProperty( prop ) ) {
                                config[prop] = defaults[prop];
                        }
                }
-    } else {
+               } else {
                config = defaults;
        }
        config.debug = commander.debug;
 } catch(err) {
-    logger.error( 'Could not open configuration file ' + commander.config + '! 
' + err );
-    process.exit( 1 );
+               logger.error( 'Could not open configuration file ' + 
commander.config + '! ' + err );
+               process.exit( 1 );
 }
 
-module.exports = config;
\ No newline at end of file
+module.exports = config;
diff --git a/gulpfile.js b/gulpfile.js
index 089b9c3..57f30b6 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -1,101 +1,101 @@
 /*jslint node: true, stupid: true */
 // Node modules
 var fs          = require('fs'),
-    vm          = require('vm'),
-    merge       = require('deeply'),
-    chalk       = require('chalk');
+       vm          = require('vm'),
+       merge       = require('deeply'),
+       chalk       = require('chalk');
 
 // Gulp and plugins
 var gulp                    = require('gulp'),
-    rjs                     = require('gulp-requirejs-bundler'),
-    concat                  = require('gulp-concat'),
-    clean                   = require('gulp-clean'),
-    replace                 = require('gulp-replace'),
-    uglify                  = require('gulp-uglify'),
-    htmlreplace             = require('gulp-html-replace'),
-    rev                     = require('gulp-rev'),
-    jshint                  = require('gulp-jshint'),
-    rename                  = require('gulp-rename'),
-    replace                 = require('gulp-replace');
+       rjs                     = require('gulp-requirejs-bundler'),
+       concat                  = require('gulp-concat'),
+       clean                   = require('gulp-clean'),
+       replace                 = require('gulp-replace'),
+       uglify                  = require('gulp-uglify'),
+       htmlreplace             = require('gulp-html-replace'),
+       rev                     = require('gulp-rev'),
+       jshint                  = require('gulp-jshint'),
+       rename                  = require('gulp-rename'),
+       replace                 = require('gulp-replace');
 
 // Config
 var requireJsRuntimeConfig = 
vm.runInNewContext(fs.readFileSync('src/app/require.config.js') + '; require;'),
-    requireJsOptimizerConfig = merge(requireJsRuntimeConfig, {
-        out: 'scripts.js',
-        baseUrl: './src',
-        name: 'app/startup',
-        paths: {
-            requireLib: 'bower_modules/requirejs/require'
-        },
-        include: [
-            'requireLib',
-            'components/nav-bar/nav-bar',
-            'components/home/home',
-            'components/app-content/app-content',
-            'components/utils/date-pickers/date-pickers',
-            'components/widgets/fraud-gauge/fraud-gauge',
-            'components/widgets/distance-to-goal-chart/distance-to-goal-chart',
-            'components/widgets/totals-earned-chart/totals-earned-chart',
-            'components/widgets/amt-per-second-chart/amt-per-second-chart',
-            'components/boards/generic-board/generic-board',
-            'components/widgets/x-by-y/x-by-y',
-            'components/widgets/cat-trombone/cat-trombone'
-        ],
-        insertRequire: ['app/startup'],
-        bundles: {
-            // If you want parts of the site to load on demand, remove them 
from the 'include' list
-            // above, and group them into bundles here.
-            'date-pickers': ['components/utils/date-pickers/date-pickers']
-            // 'vega-timeseries': 
['components/visualizers/vega-timeseries/vega-timeseries']
+       requireJsOptimizerConfig = merge(requireJsRuntimeConfig, {
+               out: 'scripts.js',
+               baseUrl: './src',
+               name: 'app/startup',
+               paths: {
+                       requireLib: 'bower_modules/requirejs/require'
+               },
+               include: [
+                       'requireLib',
+                       'components/nav-bar/nav-bar',
+                       'components/home/home',
+                       'components/app-content/app-content',
+                       'components/utils/date-pickers/date-pickers',
+                       'components/widgets/fraud-gauge/fraud-gauge',
+                       
'components/widgets/distance-to-goal-chart/distance-to-goal-chart',
+                       
'components/widgets/totals-earned-chart/totals-earned-chart',
+                       
'components/widgets/amt-per-second-chart/amt-per-second-chart',
+                       'components/boards/generic-board/generic-board',
+                       'components/widgets/x-by-y/x-by-y',
+                       'components/widgets/cat-trombone/cat-trombone'
+               ],
+               insertRequire: ['app/startup'],
+               bundles: {
+                       // If you want parts of the site to load on demand, 
remove them from the 'include' list
+                       // above, and group them into bundles here.
+                       'date-pickers': 
['components/utils/date-pickers/date-pickers']
+                       // 'vega-timeseries': 
['components/visualizers/vega-timeseries/vega-timeseries']
 
-        }
-    });
+               }
+       });
 
 var jsfilesToLint = ['**/*.js', '!node_modules/**/*.js', 
'!src/bower_modules/**/*.js', '!dist/**/*.js'];
 
 // linting
 gulp.task('lint', function () {
-    return gulp.src(jsfilesToLint)
-        .pipe(jshint())
-        .pipe(jshint.reporter('default'));
+       return gulp.src(jsfilesToLint)
+               .pipe(jshint())
+               .pipe(jshint.reporter('default'));
 });
 
 // Discovers all AMD dependencies, concatenates together all required .js 
files, minifies them
 gulp.task('js', ['clean'], function () {
-    return rjs(requireJsOptimizerConfig)
-        .pipe(uglify({
-            preserveComments: 'some'
-        }))
-        .pipe(rev())
-        .pipe(gulp.dest('./dist/'))
-        .pipe(rev.manifest())
-        .pipe(rename('js.manifest.json'))
-        .pipe(gulp.dest('./dist/'));
+       return rjs(requireJsOptimizerConfig)
+               .pipe(uglify({
+                       preserveComments: 'some'
+               }))
+               .pipe(rev())
+               .pipe(gulp.dest('./dist/'))
+               .pipe(rev.manifest())
+               .pipe(rename('js.manifest.json'))
+               .pipe(gulp.dest('./dist/'));
 });
 
 gulp.task('css', ['clean'], function () {
-    return gulp.src(['src/bower_modules/bootstrap/dist/css/bootstrap.css',
-                    'src/bower_modules/nouislider/src/jquery.nouislider.css',
-                    'src/bower_modules/fontawesome/css/font-awesome.css',
-                    'src/bower_modules/lato/css/lato.css',
-                    'src/bower_modules/c3/c3.css',
-                    'src/bower_modules/select2/select2.css',
-                    'src/css/*.css'])
-        .pipe(concat('style.css')).pipe(rev()).pipe(gulp.dest('./dist/'))
-        // Add rev-manifest.json as a new src to prevent rev'ing 
rev-manifest.json
-        .pipe(rev.manifest())
-        .pipe(rename('css.manifest.json'))
-        .pipe(gulp.dest('./dist/'));
+       return gulp.src(['src/bower_modules/bootstrap/dist/css/bootstrap.css',
+                       
'src/bower_modules/nouislider/src/jquery.nouislider.css',
+                       'src/bower_modules/fontawesome/css/font-awesome.css',
+                       'src/bower_modules/lato/css/lato.css',
+                       'src/bower_modules/c3/c3.css',
+                       'src/bower_modules/select2/select2.css',
+                       'src/css/*.css'])
+               
.pipe(concat('style.css')).pipe(rev()).pipe(gulp.dest('./dist/'))
+               // Add rev-manifest.json as a new src to prevent rev'ing 
rev-manifest.json
+               .pipe(rev.manifest())
+               .pipe(rename('css.manifest.json'))
+               .pipe(gulp.dest('./dist/'));
 });
 
 /** Copies semantic fonts where the css expects them to be**/
 gulp.task('font', ['clean'], function () {
-    return gulp.src(['src/bower_modules/lato/font/*{ttf,woff,eot,svg}'])
-        .pipe(gulp.dest('./dist/font/'));
+       return gulp.src(['src/bower_modules/lato/font/*{ttf,woff,eot,svg}'])
+               .pipe(gulp.dest('./dist/font/'));
 });
 gulp.task('fonts', ['clean'], function () {
-    return 
gulp.src(['src/bower_modules/fontawesome/fonts/*{ttf,woff,eot,svg,otf}'])
-        .pipe(gulp.dest('./dist/fonts/'));
+       return 
gulp.src(['src/bower_modules/fontawesome/fonts/*{ttf,woff,eot,svg,otf}'])
+               .pipe(gulp.dest('./dist/fonts/'));
 });
 
 // Copies index.html, replacing <script> and <link> tags to reference 
production URLs
@@ -104,77 +104,77 @@
 // with references to versioned bundles
 gulp.task('replace', ['css', 'js'], function () {
 
-    // these manifests have been created by task rev.manifest before
-    var jsManifest = JSON.parse(fs.readFileSync('./dist/js.manifest.json', 
'utf8'));
-    var cssManifest = JSON.parse(fs.readFileSync('./dist/css.manifest.json', 
'utf8'));
+       // these manifests have been created by task rev.manifest before
+       var jsManifest = JSON.parse(fs.readFileSync('./dist/js.manifest.json', 
'utf8'));
+       var cssManifest = 
JSON.parse(fs.readFileSync('./dist/css.manifest.json', 'utf8'));
 
-    // figure out what bundles do we have setup on requirejs
-    var bundles = Object.getOwnPropertyNames(jsManifest).filter(function (p) {
-        return p !== 'scripts.js';
-    });
+       // figure out what bundles do we have setup on requirejs
+       var bundles = Object.getOwnPropertyNames(jsManifest).filter(function 
(p) {
+               return p !== 'scripts.js';
+       });
 
-    var regex = '';
-    bundles.forEach(function (element, index, array) {
-        var l = element.length;
-        // we are trying to match  "project-selector" (quotes-included)
-        regex = regex + '\"(' + element.substr(0, l - 3) + ')\":|';
+       var regex = '';
+       bundles.forEach(function (element, index, array) {
+               var l = element.length;
+               // we are trying to match  "project-selector" (quotes-included)
+               regex = regex + '\"(' + element.substr(0, l - 3) + ')\":|';
 
-    });
+       });
 
-    //remove last '|', out come should be like: 
"(project-selector)"|"(vega-timeseries)"
-    regex = regex.substring(0, regex.length - 1);
+       //remove last '|', out come should be like: 
"(project-selector)"|"(vega-timeseries)"
+       regex = regex.substring(0, regex.length - 1);
 
-    // this build system is so inflexible that makes me want to cry
-    function replaceByVersion(match) {
-        // remove quotes from match and add ".js"
-        // so we can key on the manifest with versions
-        match = match.substring(1, match.length - 2);
-        match = match + '.js';
-        var version = jsManifest[match];
+       // this build system is so inflexible that makes me want to cry
+       function replaceByVersion(match) {
+               // remove quotes from match and add ".js"
+               // so we can key on the manifest with versions
+               match = match.substring(1, match.length - 2);
+               match = match + '.js';
+               var version = jsManifest[match];
 
-        version = '\"' + version + '\":';
-        return version;
-    }
+               version = '\"' + version + '\":';
+               return version;
+       }
 
-    var regexObj = new RegExp(regex, 'g');
+       var regexObj = new RegExp(regex, 'g');
 
-    gulp.src(['./dist/' + jsManifest['scripts.js']])
-        .pipe(replace(regexObj, replaceByVersion))
-        .pipe(gulp.dest('./dist/'));
+       gulp.src(['./dist/' + jsManifest['scripts.js']])
+               .pipe(replace(regexObj, replaceByVersion))
+               .pipe(gulp.dest('./dist/'));
 
-    return gulp.src('./src/index.html')
-        .pipe(htmlreplace({
-            'css': cssManifest['style.css'],
-            'js': jsManifest['scripts.js']
-        }))
-        .pipe(gulp.dest('./dist/'));
+       return gulp.src('./src/index.html')
+               .pipe(htmlreplace({
+                       'css': cssManifest['style.css'],
+                       'js': jsManifest['scripts.js']
+               }))
+               .pipe(gulp.dest('./dist/'));
 });
 
 
 
 // Removes all files from ./dist/
 gulp.task('clean', function () {
-    return gulp.src('./dist/**/*', {
-            read: false
-        })
-        .pipe(clean());
+       return gulp.src('./dist/**/*', {
+                       read: false
+               })
+               .pipe(clean());
 });
 
 gulp.task('images', function() {
-    return gulp.src('./src/images/**/*')
-           .pipe(gulp.dest('./dist/images/'));
+       return gulp.src('./src/images/**/*')
+                       .pipe(gulp.dest('./dist/images/'));
 });
 
 gulp.task('default', ['clean', 'replace', 'lint', 'font', 'fonts', 'images'], 
function (callback) {
-    callback();
-    console.log('\nPlaced optimized files in ' + chalk.magenta('dist/\n'));
-    console.log('\nPlaced font files in ' + chalk.magenta('font/\n'));
+       callback();
+       console.log('\nPlaced optimized files in ' + chalk.magenta('dist/\n'));
+       console.log('\nPlaced font files in ' + chalk.magenta('font/\n'));
 
-    console.log('\nWatching changes... You\'re free to kill off this task 
now.');
+       console.log('\nWatching changes... You\'re free to kill off this task 
now.');
 });
 
 function logWatcher(event) {
-    console.log('File ' + event.path + ' was ' + event.type + ', running 
tasks...');
+       console.log('File ' + event.path + ' was ' + event.type + ', running 
tasks...');
 }
 gulp.watch('./src/**/*.js', ['js']).on('change', logWatcher);
 gulp.watch('./src/**/*.html', ['replace']).on('change', logWatcher);
diff --git a/package.json b/package.json
index 2b4e953..4c7a9d5 100644
--- a/package.json
+++ b/package.json
@@ -1,43 +1,43 @@
 {
-  "name": "dash",
-  "description": "Fundraising Dashboard App",
-  "version": "0.0.1",
-  "private": true,
-  "repository": {
-    "type": "git",
-    "url": "https://gerrit.wikimedia.org/r/wikimedia/fundraising/dash";
-  },
-  "dependencies": {
-    "amdrequire": "0.0.3",
-    "commander": "~2.2.0",
-    "dotenv": "^0.4.0",
-    "evil-dns": "0.0.2",
-    "express": "3.x",
-    "gulp": "^3.8.8",
-    "gulp-jshint": "^1.8.4",
-    "gulp-rename": "^1.2.0",
-    "gulp-rev": "^1.1.0",
-    "jade": ">= 0.0.1",
-    "lodash": "^2.4.1",
-    "memory-cache": "0.0.5",
-    "mysql": "^2.4.3",
-    "mysql-promise": "^1.3.0",
-    "node-syslog": "~1.1.7",
-    "odata-parser": "~1.0.0",
-    "passport": "^0.2.1",
-    "passport-drupal": "0.3.3",
-    "passport-oauth": "^1.0.0",
-    "node.extend": "1.1.3"
-  },
-  "devDependencies": {
-    "chalk": "^0.5.1",
-    "deeply": "^0.1.0",
-    "event-stream": "^3.1.7",
-    "gulp-clean": "^0.3.1",
-    "gulp-concat": "^2.4.1",
-    "gulp-html-replace": "^1.3.0",
-    "gulp-replace": "^0.4.0",
-    "gulp-requirejs-bundler": "^0.1.1",
-    "gulp-uglify": "^1.0.1"
-  }
+       "name": "dash",
+       "description": "Fundraising Dashboard App",
+       "version": "0.0.1",
+       "private": true,
+       "repository": {
+               "type": "git",
+               "url": 
"https://gerrit.wikimedia.org/r/wikimedia/fundraising/dash";
+       },
+       "dependencies": {
+               "amdrequire": "0.0.3",
+               "commander": "~2.2.0",
+               "dotenv": "^0.4.0",
+               "evil-dns": "0.0.2",
+               "express": "3.x",
+               "gulp": "^3.8.8",
+               "gulp-jshint": "^1.8.4",
+               "gulp-rename": "^1.2.0",
+               "gulp-rev": "^1.1.0",
+               "jade": ">= 0.0.1",
+               "lodash": "^2.4.1",
+               "memory-cache": "0.0.5",
+               "mysql": "^2.4.3",
+               "mysql-promise": "^1.3.0",
+               "node-syslog": "~1.1.7",
+               "odata-parser": "~1.0.0",
+               "passport": "^0.2.1",
+               "passport-drupal": "0.3.3",
+               "passport-oauth": "^1.0.0",
+               "node.extend": "1.1.3"
+       },
+       "devDependencies": {
+               "chalk": "^0.5.1",
+               "deeply": "^0.1.0",
+               "event-stream": "^3.1.7",
+               "gulp-clean": "^0.3.1",
+               "gulp-concat": "^2.4.1",
+               "gulp-html-replace": "^1.3.0",
+               "gulp-replace": "^0.4.0",
+               "gulp-requirejs-bundler": "^0.1.1",
+               "gulp-uglify": "^1.0.1"
+       }
 }
diff --git a/routes/index.js b/routes/index.js
index bcb02c3..3e7169f 100644
--- a/routes/index.js
+++ b/routes/index.js
@@ -1,9 +1,9 @@
 var path = require('path');
 
 require('fs').readdirSync(__dirname)
-  .filter(function(file) {
-    return ((file.indexOf('.') !== 0) && (file !== 'index.js') && 
(file.slice(-3) === '.js'));
-  })
-  .forEach(function(file) {
-    module.exports[file.substr(0,file.length - 3)] = 
require(path.join(__dirname, file));
+       .filter(function(file) {
+               return ((file.indexOf('.') !== 0) && (file !== 'index.js') && 
(file.slice(-3) === '.js'));
+       })
+       .forEach(function(file) {
+               module.exports[file.substr(0,file.length - 3)] = 
require(path.join(__dirname, file));
 });
diff --git a/src/app/require.config.js b/src/app/require.config.js
index 4b15b77..a5c73bd 100644
--- a/src/app/require.config.js
+++ b/src/app/require.config.js
@@ -1,57 +1,57 @@
 /* jshint -W098 */
 
 var require = {
-    baseUrl: '.',
-    paths: {
-        'bootstrap':            'bower_modules/bootstrap/dist/js/bootstrap',
-        'crossroads':           'bower_modules/crossroads/dist/crossroads.min',
-        'hasher':               'bower_modules/hasher/dist/js/hasher.min',
-        'jquery':               'bower_modules/jquery/dist/jquery',
-        'noUISlider':           
'bower_modules/nouislider/distribute/jquery.nouislider.all',
-        'knockout':             'bower_modules/knockout/dist/knockout',
-        'knockout-projections': 
'bower_modules/knockout-projections/dist/knockout-projections',
-        'signals':              'bower_modules/js-signals/dist/signals.min',
-        'd3':                   'bower_modules/d3/d3',
-        'text':                 'bower_modules/requirejs-text/text',
-        'chartjs':              'bower_modules/chartjs/Chart',
-        'momentjs':             'bower_modules/moment/moment',
-        'raphael':              'bower_modules/raphael/raphael',
-        'gauge':                'bower_modules/gauge.js/dist/gauge',
-        'bootstrap-datepicker': 
'bower_modules/bootstrap-datepicker/js/bootstrap-datepicker',
-        'bootstrap-timepicker': 
'bower_modules/bootstrap-timepicker/js/bootstrap-timepicker',
-        'sifter':               'bower_modules/sifter/sifter',
-        'microplugin':          'bower_modules/microplugin/src/microplugin',
-        'select2':              'bower_modules/select2//select2',
-        'c3':                   'bower_modules/c3/c3',
-        'numeraljs':            'bower_modules/numeraljs/numeral',
-        'decemberData':         'bower_modules/fakeData/decemberData',
-        'WidgetBase':           'app/widgetBase'
-    },
-    shim: {
-        'bootstrap': {
-            deps: [
-                'jquery'
-            ]
-        },
-        'c3': {
-            deps: [
-                'd3'
-            ]
-        },
-        'momentjs': {
-            exports: 'moment'
-        },
-        'noUISlider': {
-            deps: [
-                'jquery'
-            ]
-        },
-        'selectize': {
-            deps: [
-                'bootstrap',
-                'sifter',
-                'microplugin'
-            ]
-        }
-    }
-};
\ No newline at end of file
+       baseUrl: '.',
+       paths: {
+               'bootstrap':            
'bower_modules/bootstrap/dist/js/bootstrap',
+               'crossroads':           
'bower_modules/crossroads/dist/crossroads.min',
+               'hasher':               
'bower_modules/hasher/dist/js/hasher.min',
+               'jquery':               'bower_modules/jquery/dist/jquery',
+               'noUISlider':           
'bower_modules/nouislider/distribute/jquery.nouislider.all',
+               'knockout':             'bower_modules/knockout/dist/knockout',
+               'knockout-projections': 
'bower_modules/knockout-projections/dist/knockout-projections',
+               'signals':              
'bower_modules/js-signals/dist/signals.min',
+               'd3':                   'bower_modules/d3/d3',
+               'text':                 'bower_modules/requirejs-text/text',
+               'chartjs':              'bower_modules/chartjs/Chart',
+               'momentjs':             'bower_modules/moment/moment',
+               'raphael':              'bower_modules/raphael/raphael',
+               'gauge':                'bower_modules/gauge.js/dist/gauge',
+               'bootstrap-datepicker': 
'bower_modules/bootstrap-datepicker/js/bootstrap-datepicker',
+               'bootstrap-timepicker': 
'bower_modules/bootstrap-timepicker/js/bootstrap-timepicker',
+               'sifter':               'bower_modules/sifter/sifter',
+               'microplugin':          
'bower_modules/microplugin/src/microplugin',
+               'select2':              'bower_modules/select2//select2',
+               'c3':                   'bower_modules/c3/c3',
+               'numeraljs':            'bower_modules/numeraljs/numeral',
+               'decemberData':         'bower_modules/fakeData/decemberData',
+               'WidgetBase':           'app/widgetBase'
+       },
+       shim: {
+               'bootstrap': {
+                       deps: [
+                               'jquery'
+                               ]
+               },
+               'c3': {
+                       deps: [
+                               'd3'
+                               ]
+               },
+               'momentjs': {
+                       exports: 'moment'
+               },
+               'noUISlider': {
+                       deps: [
+                               'jquery'
+                               ]
+               },
+               'selectize': {
+                       deps: [
+                               'bootstrap',
+                       'sifter',
+                       'microplugin'
+                               ]
+               }
+       }
+};
diff --git a/src/app/router.js b/src/app/router.js
index 7a57ffc..834d33f 100644
--- a/src/app/router.js
+++ b/src/app/router.js
@@ -1,43 +1,43 @@
 define(
-    [   'jquery',
-        'knockout',
-        'crossroads',
-        'hasher'
-    ], function( $, ko, crossroads, hasher ) {
+               ['jquery',
+                'knockout',
+                'crossroads',
+                'hasher'
+               ], function( $, ko, crossroads, hasher ) {
 
-    var routerConfig = {
-        defaultParams: { page: 'home', action: 'view' }
-    };
+                       var routerConfig = {
+                               defaultParams: { page: 'home', action: 'view' }
+                       };
 
-    function Router( config ) {
-        var self = this;
+                       function Router( config ) {
+                               var self = this;
 
-        self.currentRoute = ko.observable({});
+                               self.currentRoute = ko.observable({});
 
-        crossroads.addRoute( ':page:/:action:', function( requestParams ) {
-            var routeParams = $.extend( config.defaultParams, requestParams );
-            self.currentRoute = routeParams;
-        });
-        crossroads.bypassed.add( function(){
-            self.error(404);
-        });
-        self.error = function( code ){
-            self.currentRoute({ page: 'error', code: code });
-        };
+                               crossroads.addRoute( ':page:/:action:', 
function( requestParams ) {
+                                       var routeParams = $.extend( 
config.defaultParams, requestParams );
+                                       self.currentRoute = routeParams;
+                               });
+                               crossroads.bypassed.add( function(){
+                                       self.error(404);
+                               });
+                               self.error = function( code ){
+                                       self.currentRoute({ page: 'error', 
code: code });
+                               };
 
-        startCrossroads();
+                               startCrossroads();
 
-    }
+                       }
 
-    function startCrossroads() {
-        function parseHash( newHash, oldHash ) { crossroads.parse( newHash ); }
+                       function startCrossroads() {
+                               function parseHash( newHash, oldHash ) { 
crossroads.parse( newHash ); }
 
-        crossroads.normalizeFn = crossroads.NORM_AS_OBJECT;
+                               crossroads.normalizeFn = 
crossroads.NORM_AS_OBJECT;
 
-        hasher.initialized.add( parseHash );
-        hasher.changed.add( parseHash );
-        hasher.init();
-    }
+                               hasher.initialized.add( parseHash );
+                               hasher.changed.add( parseHash );
+                               hasher.init();
+                       }
 
-    return new Router( routerConfig );
-});
\ No newline at end of file
+                       return new Router( routerConfig );
+               });
diff --git a/src/app/startup.js b/src/app/startup.js
index 9f596a1..4391013 100644
--- a/src/app/startup.js
+++ b/src/app/startup.js
@@ -1,33 +1,31 @@
 define(
-    [  'jquery',
-       'knockout',
-       './router',
-       'bootstrap',
-       'knockout-projections',
-       './bindings'
-    ], function( $, ko, router ){
-        ko.components.register( 'dashboard',                  { require: 
'components/dashboard/dashboard' });
-        ko.components.register( 'home',                       { require: 
'components/home/home' });
-        ko.components.register( 'nav-bar',                    { require: 
'components/nav-bar/nav-bar' });
-        ko.components.register( 'app-content',                { require: 
'components/app-content/app-content' });
+               [  'jquery',
+               'knockout',
+               './router',
+               'bootstrap',
+               'knockout-projections',
+               './bindings'
+               ], function( $, ko, router ){
+                       ko.components.register( 'dashboard',                  { 
require: 'components/dashboard/dashboard' });
+                       ko.components.register( 'home',                       { 
require: 'components/home/home' });
+                       ko.components.register( 'nav-bar',                    { 
require: 'components/nav-bar/nav-bar' });
+                       ko.components.register( 'app-content',                { 
require: 'components/app-content/app-content' });
 
-        //register utils
-        ko.components.register( 'date-pickers',               { require: 
'components/utils/date-pickers/date-pickers' });
+                       //register utils
+                       ko.components.register( 'date-pickers',               { 
require: 'components/utils/date-pickers/date-pickers' });
 
-        //register boards
-        ko.components.register( 'generic-board',               { require: 
'components/boards/generic-board/generic-board' });
+                       //register boards
+                       ko.components.register( 'generic-board',               
{ require: 'components/boards/generic-board/generic-board' });
 
-        //register individual widgets
-        ko.components.register( 'fraud-gauge',                { require: 
'components/widgets/fraud-gauge/fraud-gauge' });
-        ko.components.register( 'totals-earned-chart',        { require: 
'components/widgets/totals-earned-chart/totals-earned-chart' });
-        ko.components.register( 'distance-to-goal-chart',     { require: 
'components/widgets/distance-to-goal-chart/distance-to-goal-chart' });
-        ko.components.register( 'amt-per-second-chart',       { require: 
'components/widgets/amt-per-second-chart/amt-per-second-chart' });
-        ko.components.register( 'x-by-y',                     { require: 
'components/widgets/x-by-y/x-by-y' });
-        ko.components.register( 'cat-trombone',               { require: 
'components/widgets/cat-trombone/cat-trombone' });
+                       //register individual widgets
+                       ko.components.register( 'fraud-gauge',                { 
require: 'components/widgets/fraud-gauge/fraud-gauge' });
+                       ko.components.register( 'totals-earned-chart',        { 
require: 'components/widgets/totals-earned-chart/totals-earned-chart' });
+                       ko.components.register( 'distance-to-goal-chart',     { 
require: 'components/widgets/distance-to-goal-chart/distance-to-goal-chart' });
+                       ko.components.register( 'amt-per-second-chart',       { 
require: 'components/widgets/amt-per-second-chart/amt-per-second-chart' });
+                       ko.components.register( 'x-by-y',                     { 
require: 'components/widgets/x-by-y/x-by-y' });
+                       ko.components.register( 'cat-trombone',               { 
require: 'components/widgets/cat-trombone/cat-trombone' });
 
-        //fire up router
-        ko.applyBindings({ route: router.currentRoute });
+                       //fire up router
+                       ko.applyBindings({ route: router.currentRoute });
 
-
-
-});
\ No newline at end of file
+});
diff --git a/src/components/app-content/app-content.js 
b/src/components/app-content/app-content.js
index d3d1f5a..508577f 100644
--- a/src/components/app-content/app-content.js
+++ b/src/components/app-content/app-content.js
@@ -1,55 +1,55 @@
 define(
-    [   'jquery',
-        'knockout',
-        'text!./app-content.html'
-    ], function( $, ko, templateMarkup ) {
+       [   'jquery',
+       'knockout',
+       'text!./app-content.html'
+       ], function( $, ko, templateMarkup ) {
 
-    function AppContent( params ) {
-        var self = this;
+               function AppContent( params ) {
+                       var self = this;
 
-        self.url                = params.url || 'hi';
-        self.displayedBoard     = ko.observable();
-        self.userBoards         = ko.observableArray();
-        self.userdata           = ko.observableArray();
-        self.displayPage        = ko.observable('Home');
-        self.loggedIn           = ko.observable(false);
-        self.welcome            = ko.observable('');
-        self.widgetTemplates    = ko.observableArray();
-        self.widgetInstances    = ko.observableArray();
+                       self.url                = params.url || 'hi';
+                       self.displayedBoard     = ko.observable();
+                       self.userBoards         = ko.observableArray();
+                       self.userdata           = ko.observableArray();
+                       self.displayPage        = ko.observable('Home');
+                       self.loggedIn           = ko.observable(false);
+                       self.welcome            = ko.observable('');
+                       self.widgetTemplates    = ko.observableArray();
+                       self.widgetInstances    = ko.observableArray();
 
-        $.get( '/user/info', function( userInfo ) {
-            if ( userInfo && !userInfo.error ) {
-                self.userdata( userInfo );
-                self.welcome( userInfo.name.charAt(0).toUpperCase() + 
userInfo.name.slice(1) );
-                self.loggedIn( true );
+                       $.get( '/user/info', function( userInfo ) {
+                               if ( userInfo && !userInfo.error ) {
+                                       self.userdata( userInfo );
+                                       self.welcome( 
userInfo.name.charAt(0).toUpperCase() + userInfo.name.slice(1) );
+                                       self.loggedIn( true );
 
-                $.get( 'board/' + self.userdata().defaultBoard, function( 
moredata ){
-                    self.displayedBoard( moredata );
-                });
+                                       $.get( 'board/' + 
self.userdata().defaultBoard, function( moredata ){
+                                               self.displayedBoard( moredata );
+                                       });
 
-                $.get( 'board/', function ( boards ){
-                    $.each( boards, function( i, board ){
-                        if( board.ownerId === self.userdata().id ){
-                            self.userBoards.push(board);
-                        }
-                    });
-                });
-            }
-        });
+                                       $.get( 'board/', function ( boards ){
+                                               $.each( boards, function( i, 
board ){
+                                                       if( board.ownerId === 
self.userdata().id ){
+                                                               
self.userBoards.push(board);
+                                                       }
+                                               });
+                                       });
+                               }
+                       });
 
-        self.addWidgetToBoard = function( event, data ){
-            $.ajax( {
-                method: 'POST',
-                url: '/widget-instance',
-                contentType: 'application/json; charset=UTF-8',
-                data: JSON.stringify( {
-                    widgetId: event.id,
-                    displayName: 'My ' + event.displayName,
-                    isShared: false
-                } ),
-                success: function( data ) {
-                                       $.ajax( {
-                                               method: 'POST',
+                       self.addWidgetToBoard = function( event, data ){
+                               $.ajax( {
+                                       method: 'POST',
+                                       url: '/widget-instance',
+                                       contentType: 'application/json; 
charset=UTF-8',
+                                       data: JSON.stringify( {
+                                               widgetId: event.id,
+                                       displayName: 'My ' + event.displayName,
+                                       isShared: false
+                                       } ),
+                                       success: function( data ) {
+                                               $.ajax( {
+                                                       method: 'POST',
                                                url: '/board/' + 
self.userdata().defaultBoard + '/widgets',
                                                contentType: 'application/json; 
charset=UTF-8',
                                                data: JSON.stringify( {
@@ -66,67 +66,67 @@
                                                                });
                                                        }
                                                }
-                                       } );
-                }
-            } );
+                                               } );
+                                       }
+                               } );
 
-        };
+                       };
 
-        self.removeWidgetFromBoard = function( event, data ){
-            var removingBoard = self.displayedBoard().id;
-            $.ajax({
-                method: 'DELETE',
-                url: '/board/' + removingBoard + '/widgets/' + 
event.instanceID,
-                success: function( ) {
-                    $.get( 'board/' + removingBoard, function( moredata ){
-                        self.displayedBoard( moredata );
-                        $('.modal-backdrop').remove();
-                    });
-                }
-            });
-        };
+                       self.removeWidgetFromBoard = function( event, data ){
+                               var removingBoard = self.displayedBoard().id;
+                               $.ajax({
+                                       method: 'DELETE',
+                                       url: '/board/' + removingBoard + 
'/widgets/' + event.instanceID,
+                                       success: function( ) {
+                                               $.get( 'board/' + 
removingBoard, function( moredata ){
+                                                       self.displayedBoard( 
moredata );
+                                                       
$('.modal-backdrop').remove();
+                                               });
+                                       }
+                               });
+                       };
 
-        self.setDisplayPage = function( e, data ){
-            var pages = [ 'Library', 'Profile', 'Home' ], view = 
data.target.id;
+                       self.setDisplayPage = function( e, data ){
+                               var pages = [ 'Library', 'Profile', 'Home' ], 
view = data.target.id;
 
-            if( pages.indexOf(data.target.id) > -1 ){
-                self.displayPage(view);
-            } else if( isNaN( parseInt( view, 10 ) ) ) {
-                self.displayPage($.trim($(data.target).text()));
-            } else {
-                $.get( 'board/' + view, function( bdata ){
-                                       self.displayPage('Home');
-                    self.displayedBoard( bdata );
-                });
-            }
+                               if( pages.indexOf(data.target.id) > -1 ){
+                                       self.displayPage(view);
+                               } else if( isNaN( parseInt( view, 10 ) ) ) {
+                                       
self.displayPage($.trim($(data.target).text()));
+                               } else {
+                                       $.get( 'board/' + view, function( bdata 
){
+                                               self.displayPage('Home');
+                                               self.displayedBoard( bdata );
+                                       });
+                               }
 
-        };
+                       };
 
-        self.getWidgetTemplates = function(){
-            $.get( '/widget', function( widgetTemplates ){
+                       self.getWidgetTemplates = function(){
+                               $.get( '/widget', function( widgetTemplates ){
 
-                var wt = $.map(widgetTemplates, function(n){
-                    return n;
-                });
+                                       var wt = $.map(widgetTemplates, 
function(n){
+                                               return n;
+                                       });
 
-                self.widgetTemplates(wt);
-            });
-        };
-        self.getWidgetTemplates();
+                                       self.widgetTemplates(wt);
+                               });
+                       };
+                       self.getWidgetTemplates();
 
-        self.getUsersWidgetInstances = function(){
-            $.get('/widget-instance', function( widgetInstances ){
+                       self.getUsersWidgetInstances = function(){
+                               $.get('/widget-instance', function( 
widgetInstances ){
 
-                var wi = $.map(widgetInstances, function(n){
-                    return n;
-                });
+                                       var wi = $.map(widgetInstances, 
function(n){
+                                               return n;
+                                       });
 
-                self.widgetInstances(wi);
-            });
-        };
-        self.getUsersWidgetInstances();
+                                       self.widgetInstances(wi);
+                               });
+                       };
+                       self.getUsersWidgetInstances();
 
-    }
+               }
 
-    return { viewModel: AppContent, template: templateMarkup };
-});
+               return { viewModel: AppContent, template: templateMarkup };
+       });
diff --git a/src/components/boards/generic-board/generic-board.html 
b/src/components/boards/generic-board/generic-board.html
index dbf2861..f3484af 100644
--- a/src/components/boards/generic-board/generic-board.html
+++ b/src/components/boards/generic-board/generic-board.html
@@ -1,33 +1,33 @@
 <div class="col-md-12">
 
-    <div class="row">
-        <div class="col-md-4 titleCol">
-            <h2 style="display:inline" data-bind="text: 
displayedBoard().displayName"></h2>
-            <p><span data-bind="text: displayDate"></span></p>
-            <!-- <i class="fa fa-gear" data-toggle="modal" 
data-target="#changeBoardNameModal"></i></p> -->
-        </div>
-        <div class="col-md-8 titleCol">
-            <div class="btn-group btn-group-xs pull-right">
-                <button type="button" class="btn btn-default" id="Library" 
data-bind="click: $parent.setDisplayPage"><i class="fa fa-plus-square"></i> Add 
widgets</button>
-            </div>
-        </div>
-    </div>
+       <div class="row">
+               <div class="col-md-4 titleCol">
+                       <h2 style="display:inline" data-bind="text: 
displayedBoard().displayName"></h2>
+                       <p><span data-bind="text: displayDate"></span></p>
+                       <!-- <i class="fa fa-gear" data-toggle="modal" 
data-target="#changeBoardNameModal"></i></p> -->
+               </div>
+               <div class="col-md-8 titleCol">
+                       <div class="btn-group btn-group-xs pull-right">
+                               <button type="button" class="btn btn-default" 
id="Library" data-bind="click: $parent.setDisplayPage"><i class="fa 
fa-plus-square"></i> Add widgets</button>
+                       </div>
+               </div>
+       </div>
 
-    <div class="row jumbotron transparent" data-bind="visible: 
displayedBoard().widgets.length == 0">
-            <div class="alert alert-info">
-                <h1><i class="fa fa-flag"></i> There are no widgets on this 
board.</h1>
-                <div class="text-center">
-                    <h3>Don't worry, it's easy to add them. They live in the 
Library.</h3>
-                    <button class="btn btn-lg btn-info" id="Library" 
data-bind="click: $parent.setDisplayPage"><i class="fa fa-paper-plane"></i> 
Take me to the Library!</button>
-                </div>
-            </div>
-    </div>
+       <div class="row jumbotron transparent" data-bind="visible: 
displayedBoard().widgets.length == 0">
+               <div class="alert alert-info">
+                       <h1><i class="fa fa-flag"></i> There are no widgets on 
this board.</h1>
+                       <div class="text-center">
+                               <h3>Don't worry, it's easy to add them. They 
live in the Library.</h3>
+                               <button class="btn btn-lg btn-info" 
id="Library" data-bind="click: $parent.setDisplayPage"><i class="fa 
fa-paper-plane"></i> Take me to the Library!</button>
+                       </div>
+               </div>
+       </div>
 
-    <div class="row widgetDisplayRow" data-bind="foreach: 
displayedBoard().widgets">
-        <div class="widgetPlace" style="padding-left:0">
-            <span class="floatingWidget" data-bind="component: { name: 
widgetCode, params: { title: displayName, description: description, 
configuration: configuration, widgetInstance: id, widgetCode: widgetCode, 
dataLoading: dataLoading, sharedContext: $parent.sharedContext } }"><span 
data-bind="text: display_name"></span></span>
-        </div>
-    </div>
+       <div class="row widgetDisplayRow" data-bind="foreach: 
displayedBoard().widgets">
+               <div class="widgetPlace" style="padding-left:0">
+                       <span class="floatingWidget" data-bind="component: { 
name: widgetCode, params: { title: displayName, description: description, 
configuration: configuration, widgetInstance: id, widgetCode: widgetCode, 
dataLoading: dataLoading, sharedContext: $parent.sharedContext } }"><span 
data-bind="text: display_name"></span></span>
+               </div>
+       </div>
 
 </div>
 
@@ -36,28 +36,28 @@
                <div class="modal-content">
                        <h3 class="modal-body">Chart Loading....</h3>
                        <div class="progress">
-                         <div class="progress-bar progress-bar-success 
progress-bar-striped active" role="progressbar" aria-valuenow="100" 
aria-valuemin="0" aria-valuemax="100" style="width: 100%">
-                         </div>
+                               <div class="progress-bar progress-bar-success 
progress-bar-striped active" role="progressbar" aria-valuenow="100" 
aria-valuemin="0" aria-valuemax="100" style="width: 100%">
+                               </div>
                        </div>
                </div><!-- /.modal-content -->
        </div>
 </div>
 
 <div class="modal fade" id="changeBoardNameModal">
-    <div class="modal-dialog">
-        <div class="modal-content">
-            <div class="modal-header">
-                <button type="button" class="close" data-dismiss="modal"><span 
aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
-                <h4 class="modal-title">Change Board Name</h4>
-            </div>
-            <div class="modal-body">
-                <label>New Name:</label>
-                <input type="text" class="form-control" data-bind="textInput: 
boardName">
-            </div>
-            <div class="modal-footer">
-                <button type="button" class="btn btn-default" 
data-dismiss="modal">Cancel</button>
-                <button type="button" class="btn btn-success pull-right" 
data-dismiss="modal">Submit</button>
-            </div>
-        </div><!-- /.modal-content -->
-    </div><!-- /.modal-dialog -->
-</div><!-- /.modal -->
\ No newline at end of file
+       <div class="modal-dialog">
+               <div class="modal-content">
+                       <div class="modal-header">
+                               <button type="button" class="close" 
data-dismiss="modal"><span aria-hidden="true">&times;</span><span 
class="sr-only">Close</span></button>
+                               <h4 class="modal-title">Change Board Name</h4>
+                       </div>
+                       <div class="modal-body">
+                               <label>New Name:</label>
+                               <input type="text" class="form-control" 
data-bind="textInput: boardName">
+                       </div>
+                       <div class="modal-footer">
+                               <button type="button" class="btn btn-default" 
data-dismiss="modal">Cancel</button>
+                               <button type="button" class="btn btn-success 
pull-right" data-dismiss="modal">Submit</button>
+                       </div>
+               </div><!-- /.modal-content -->
+       </div><!-- /.modal-dialog -->
+</div><!-- /.modal -->
diff --git a/src/components/boards/generic-board/generic-board.js 
b/src/components/boards/generic-board/generic-board.js
index 2d2614e..c240646 100644
--- a/src/components/boards/generic-board/generic-board.js
+++ b/src/components/boards/generic-board/generic-board.js
@@ -1,58 +1,58 @@
 define( [
-    'knockout',
-    'text!components/boards/generic-board/generic-board.html',
-    'momentjs',
-    'numeraljs'
-], function( ko, template, moment, numeral ){
+               'knockout',
+               'text!components/boards/generic-board/generic-board.html',
+               'momentjs',
+               'numeraljs'
+               ], function( ko, template, moment, numeral ){
 
-    function GenericBoardViewModel( params ){
+                       function GenericBoardViewModel( params ){
 
-        var self = this,
-            timeFormat = 'dddd, MMMM Do YYYY, h:mm:ss a';
+                               var self = this,
+timeFormat = 'dddd, MMMM Do YYYY, h:mm:ss a';
 
-        self.sharedContext          = {};
-        self.displayedBoard         = params.displayedBoard;
-        self.boardName              = ko.observable();
-        self.widgetLoads            = ko.observableArray([]);
+self.sharedContext          = {};
+self.displayedBoard         = params.displayedBoard;
+self.boardName              = ko.observable();
+self.widgetLoads            = ko.observableArray([]);
 
-               function setWidgetLoads() {
-                       self.widgetLoads.removeAll();
-                       $.each( self.displayedBoard().widgets, function( i, 
widget ) {
-                               widget.dataLoading = ko.observable( false );
-                               self.widgetLoads.push( widget.dataLoading );
-                       } );
-               }
-               setWidgetLoads();
-               self.displayedBoard.subscribe( setWidgetLoads );
+function setWidgetLoads() {
+       self.widgetLoads.removeAll();
+       $.each( self.displayedBoard().widgets, function( i, widget ) {
+               widget.dataLoading = ko.observable( false );
+               self.widgetLoads.push( widget.dataLoading );
+       } );
+}
+setWidgetLoads();
+self.displayedBoard.subscribe( setWidgetLoads );
 
-        //TODO: be able to change board name
-        //self.boardName(self.displayedBoard().displayName);
+//TODO: be able to change board name
+//self.boardName(self.displayedBoard().displayName);
 
-        //This will return true if any child widget is loading
-        self.dataLoading = ko.computed( function() {
-            var i,
-                               loads = self.widgetLoads(),
-                               widgetCount = loads.length;
+//This will return true if any child widget is loading
+self.dataLoading = ko.computed( function() {
+       var i,
+       loads = self.widgetLoads(),
+       widgetCount = loads.length;
 
-            for ( i = 0; i < widgetCount; i++ ) {
-                if ( loads[i]() === true ) {
-                    return true;
-                }
-            }
-            return false;
-        } ).extend( { throttle: 10 } ); // don't flip too often
+for ( i = 0; i < widgetCount; i++ ) {
+       if ( loads[i]() === true ) {
+               return true;
+       }
+}
+return false;
+} ).extend( { throttle: 10 } ); // don't flip too often
 
-        self.dataLoading.subscribe( function( value ) {
-            if ( value ) {
-                $('#loadingModal').modal('show'); //todo: knockout-style!
-            } else {
-                $('#loadingModal').modal('hide'); //todo: knockout-style!
-            }
-        } );
-        // Get the date
-        self.displayDate = ko.observable( moment().format( timeFormat ) );
-    }
+self.dataLoading.subscribe( function( value ) {
+       if ( value ) {
+               $('#loadingModal').modal('show'); //todo: knockout-style!
+       } else {
+               $('#loadingModal').modal('hide'); //todo: knockout-style!
+       }
+} );
+// Get the date
+self.displayDate = ko.observable( moment().format( timeFormat ) );
+}
 
-    return { viewModel: GenericBoardViewModel, template: template };
+return { viewModel: GenericBoardViewModel, template: template };
 
 });
diff --git a/src/components/nav-bar/nav-bar.js 
b/src/components/nav-bar/nav-bar.js
index 13b0f62..d3d1e82 100644
--- a/src/components/nav-bar/nav-bar.js
+++ b/src/components/nav-bar/nav-bar.js
@@ -1,53 +1,53 @@
 define( [
-    'knockout',
-    'text!components/nav-bar/nav-bar.html'
-], function( ko, template ){
+       'knockout',
+       'text!components/nav-bar/nav-bar.html'
+       ], function( ko, template ){
 
 
-    function NavBarViewModel( params ){
-       var self = this;
-        self.loggedIn = params.loggedIn;
-        self.welcome = params.welcome;
-        self.userBoards = params.userBoards;
-        self.displayPage = ko.observable('filler');
+               function NavBarViewModel( params ){
+                       var self = this;
+                       self.loggedIn = params.loggedIn;
+                       self.welcome = params.welcome;
+                       self.userBoards = params.userBoards;
+                       self.displayPage = ko.observable('filler');
 
-        self.hideNav = function(){
-               //make the nav menu fold out of view.
-            $('#navContainer .navWrapper').toggleClass('hide');
-            $('#showNavMenu').css('display', 'inline');
-            $('#dashApp').css('padding', '0 0 0 10px');
-        };
+                       self.hideNav = function(){
+                               //make the nav menu fold out of view.
+                               $('#navContainer 
.navWrapper').toggleClass('hide');
+                               $('#showNavMenu').css('display', 'inline');
+                               $('#dashApp').css('padding', '0 0 0 10px');
+                       };
 
-        self.showNav = function(){
-               window.setTimeout(function(){
-                $('#navContainer .navWrapper').toggleClass('hide');
-                $('#dashApp').css('padding-left', '175px');
-            }, 200);
-        };
+                       self.showNav = function(){
+                               window.setTimeout(function(){
+                                       $('#navContainer 
.navWrapper').toggleClass('hide');
+                                       $('#dashApp').css('padding-left', 
'175px');
+                               }, 200);
+                       };
 
-        $('.mainNavButton').click(function(e){
-            $('.mainNavButton').removeClass('selectedSubNav');
-            if($(e.target).hasClass('mainNavButton')){
-                $(e.target).addClass('selectedSubNav');
-            } else {
-                $(e.target.parentElement).addClass('selectedSubNav');
-            }
-        });
+                       $('.mainNavButton').click(function(e){
+                               
$('.mainNavButton').removeClass('selectedSubNav');
+                               if($(e.target).hasClass('mainNavButton')){
+                                       $(e.target).addClass('selectedSubNav');
+                               } else {
+                                       
$(e.target.parentElement).addClass('selectedSubNav');
+                               }
+                       });
 
-        self.toggleBoardList = function(e, data){
-            $('#boards.subNavBoardOpts').slideDown(200, 'swing', function(){
-                $('#boards.subNavBoardOpts').toggleClass('hide');
-            });
-        };
+                       self.toggleBoardList = function(e, data){
+                               $('#boards.subNavBoardOpts').slideDown(200, 
'swing', function(){
+                                       
$('#boards.subNavBoardOpts').toggleClass('hide');
+                               });
+                       };
 
-        self.toggleProfileList = function(){
-            $('#profileLinks.subNavBoardOpts').slideDown(200, 'swing', 
function(){
-                $('#profileLinks.subNavBoardOpts').toggleClass('hide');
-            });
-        };
+                       self.toggleProfileList = function(){
+                               
$('#profileLinks.subNavBoardOpts').slideDown(200, 'swing', function(){
+                                       
$('#profileLinks.subNavBoardOpts').toggleClass('hide');
+                               });
+                       };
 
-    }
+               }
 
-    return { viewModel: NavBarViewModel, template: template };
+               return { viewModel: NavBarViewModel, template: template };
 
-});
\ No newline at end of file
+       });
diff --git a/src/components/utils/date-pickers/date-pickers.html 
b/src/components/utils/date-pickers/date-pickers.html
index e7f8128..0ad6f5e 100644
--- a/src/components/utils/date-pickers/date-pickers.html
+++ b/src/components/utils/date-pickers/date-pickers.html
@@ -1,38 +1,36 @@
 <div class="form-group">
-        <div>
+       <div>
 
-            <label>Choose Preset Time Period:</label>
-            <div>
-                <label>
-                    <select class="form-control" id="timePeriodDropdown" 
data-bind="options: availableTimePresets, value: selectedTimePeriod"></select>
-                </label>
-            </div>
+               <label>Choose Preset Time Period:</label>
+               <div>
+                       <label>
+                               <select class="form-control" 
id="timePeriodDropdown" data-bind="options: availableTimePresets, value: 
selectedTimePeriod"></select>
+                       </label>
+               </div>
 
-            <!-- <label>Or Custom Date & Time:</label>
-            <div class="input-group" id="customTimepicker">
-                <input type="text" class="input-sm form-control" 
id="customDate" placeholder="Date" data-bind="value: chosenTimePeriodDate" 
data-provide="datepicker" name="start" />
+               <!-- <label>Or Custom Date & Time:</label>
+                                       <div class="input-group" 
id="customTimepicker">
+                                               <input type="text" 
class="input-sm form-control" id="customDate" placeholder="Date" 
data-bind="value: chosenTimePeriodDate" data-provide="datepicker" name="start" 
/>
 
-                <div class="input-group" id="customTimepickerRange">
-                    <div class="bootstrap-timepicker">
-                        <input id="queryTimepickerFrom" type="text" 
class="input-sm form-control" placeholder="From Time" data-bind="value: 
chosenTimePeriodFromTime" data-bind="click: setupTimepicker(event)">
-                    </div>
-                    <span class="input-group-addon">to</span>
-                    <div class="bootstrap-timepicker">
-                        <input id="queryTimepickerTo" type="text" 
class="input-sm form-control" placeholder="Time" data-bind="value: 
chosenTimePeriodToTime" data-bind="click: setupTimepicker(event)">
-                    </div>
-                </div>
-            </div>
+                                               <div class="input-group" 
id="customTimepickerRange">
+                                                       <div 
class="bootstrap-timepicker">
+                                                               <input 
id="queryTimepickerFrom" type="text" class="input-sm form-control" 
placeholder="From Time" data-bind="value: chosenTimePeriodFromTime" 
data-bind="click: setupTimepicker(event)">
+                                                       </div>
+                                                       <span 
class="input-group-addon">to</span>
+                                                       <div 
class="bootstrap-timepicker">
+                                                               <input 
id="queryTimepickerTo" type="text" class="input-sm form-control" 
placeholder="Time" data-bind="value: chosenTimePeriodToTime" data-bind="click: 
setupTimepicker(event)">
+                                                       </div>
+                                               </div>
+                                       </div>
 
-            <div>
-                <label>Or Custom Range:</label>
-                <div class="input-group" id="customDatepicker">
-                    <input type="text" class="input-sm form-control" 
placeholder="Date" data-bind="value: dateBeginRange" id="customDateFrom" 
data-provide="datepicker" name="start" />
-                    <span class="input-group-addon">to</span>
-                    <input type="text" class="input-sm form-control" 
placeholder="Date" data-bind="value: dateEndRange" data-provide="datepicker" 
name="end" />
-                </div>
-            </div> -->
-        </div>
+                                       <div>
+                                               <label>Or Custom Range:</label>
+                                               <div class="input-group" 
id="customDatepicker">
+                                                       <input type="text" 
class="input-sm form-control" placeholder="Date" data-bind="value: 
dateBeginRange" id="customDateFrom" data-provide="datepicker" name="start" />
+                                                       <span 
class="input-group-addon">to</span>
+                                                       <input type="text" 
class="input-sm form-control" placeholder="Date" data-bind="value: 
dateEndRange" data-provide="datepicker" name="end" />
+                                               </div>
+                                       </div> -->
+       </div>
 
-        </div>
-    </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/src/components/utils/date-pickers/date-pickers.js 
b/src/components/utils/date-pickers/date-pickers.js
index 984ae59..f93fdfe 100644
--- a/src/components/utils/date-pickers/date-pickers.js
+++ b/src/components/utils/date-pickers/date-pickers.js
@@ -1,81 +1,81 @@
 define( [
-    'knockout',
-    'text!components/utils/date-pickers/date-pickers.html',
-    'bootstrap-timepicker'
-], function( ko, template ){
+       'knockout',
+       'text!components/utils/date-pickers/date-pickers.html',
+       'bootstrap-timepicker'
+       ], function( ko, template ){
 
 
-    function DatePickerViewModel( params ){
-        var self = this;
+               function DatePickerViewModel( params ){
+                       var self = this;
 
-        self.setupTimepicker = function(event){
-            $('#' + event.target.id).timepicker({
-                template: false,
-                showMeridian: false
-            });
-        };
+                       self.setupTimepicker = function(event){
+                               $('#' + event.target.id).timepicker({
+                                       template: false,
+                                       showMeridian: false
+                               });
+                       };
 
-        //initialize inputs
-        self.dateBeginRange = ko.observable('');
-        self.dateEndRange = ko.observable('');
-        self.chosenTimePeriodPresetDate = ko.observable('');
-        self.chosenTimePeriodDate = ko.observable('');
-        self.chosenTimePeriodFromTime = ko.observable('');
-        self.chosenTimePeriodToTime = ko.observable('');
-        self.selectedTimePeriod = params.selectedTimePeriod;
+                       //initialize inputs
+                       self.dateBeginRange = ko.observable('');
+                       self.dateEndRange = ko.observable('');
+                       self.chosenTimePeriodPresetDate = ko.observable('');
+                       self.chosenTimePeriodDate = ko.observable('');
+                       self.chosenTimePeriodFromTime = ko.observable('');
+                       self.chosenTimePeriodToTime = ko.observable('');
+                       self.selectedTimePeriod = params.selectedTimePeriod;
 
-        //TODO: handle resetting fields
-        self.chosenTimePeriod = ko.pureComputed( function (){
-            var timePeriod;
+                       //TODO: handle resetting fields
+                       self.chosenTimePeriod = ko.pureComputed( function (){
+                               var timePeriod;
 
-            if (self.dateBeginRange() && self.dateEndRange()){
-                timePeriod = 'from ' + self.dateBeginRange() + ' to ' + 
self.dateEndRange();
-            } else if(self.chosenTimePeriodPresetDate()){
-                timePeriod = self.chosenTimePeriodPresetDate();
-            } else if(self.chosenTimePeriodDate() && 
self.chosenTimePeriodFromTime() && self.chosenTimePeriodToTime()) {
-                timePeriod = self.chosenTimePeriodDate() + ' from ' + 
self.chosenTimePeriodFromTime() + ' to ' + self.chosenTimePeriodToTime();
-            }
+                               if (self.dateBeginRange() && 
self.dateEndRange()){
+                                       timePeriod = 'from ' + 
self.dateBeginRange() + ' to ' + self.dateEndRange();
+                               } else if(self.chosenTimePeriodPresetDate()){
+                                       timePeriod = 
self.chosenTimePeriodPresetDate();
+                               } else if(self.chosenTimePeriodDate() && 
self.chosenTimePeriodFromTime() && self.chosenTimePeriodToTime()) {
+                                       timePeriod = 
self.chosenTimePeriodDate() + ' from ' + self.chosenTimePeriodFromTime() + ' to 
' + self.chosenTimePeriodToTime();
+                               }
 
-            return timePeriod;
+                               return timePeriod;
 
-        });
+                       });
 
-        self.submitTimePeriod = function(){
-            console.log('the time period was submitted');
-        };
+                       self.submitTimePeriod = function(){
+                               console.log('the time period was submitted');
+                       };
 
-        self.shouldShowIncrements = ko.computed( function(){
-            return true;
-        });
+                       self.shouldShowIncrements = ko.computed( function(){
+                               return true;
+                       });
 
-        self.shouldShowCustom = ko.computed( function(){
-            return true;
-        });
+                       self.shouldShowCustom = ko.computed( function(){
+                               return true;
+                       });
 
-        self.availableTimePresets = ko.observableArray([
-                    'Last 15 Minutes',
-                    'Last Hour',
-                    'Last 24 Hours',
-                    'Last 5 Minutes'
-        ]);
+                       self.availableTimePresets = ko.observableArray([
+                                       'Last 15 Minutes',
+                                       'Last Hour',
+                                       'Last 24 Hours',
+                                       'Last 5 Minutes'
+                                       ]);
 
-        self.availableIncrementTypes = ko.observableArray([
-                    'Hour...',
-                    'Day...',
-                    'Week...',
-                    'Month...',
-                    'Year...'
-        ]);
+                       self.availableIncrementTypes = ko.observableArray([
+                                       'Hour...',
+                                       'Day...',
+                                       'Week...',
+                                       'Month...',
+                                       'Year...'
+                                       ]);
 
-        self.selectedIncrement = ko.observable();
+                       self.selectedIncrement = ko.observable();
 
-        self.getIncrementSubmenu = ko.computed( function(){
+                       self.getIncrementSubmenu = ko.computed( function(){
 
-        });
+                       });
 
 
-    }
+               }
 
-    return { viewModel: DatePickerViewModel, template: template };
+               return { viewModel: DatePickerViewModel, template: template };
 
-});
\ No newline at end of file
+       });
diff --git a/src/components/widgets/ABTesting/ABTestingMain.html 
b/src/components/widgets/ABTesting/ABTestingMain.html
index cb11962..7c4e1e8 100644
--- a/src/components/widgets/ABTesting/ABTestingMain.html
+++ b/src/components/widgets/ABTesting/ABTestingMain.html
@@ -1,53 +1,53 @@
 <div id="ABTestingMainWidget">
 
-    <div class="row">
+       <div class="row">
 
-        <nav class="navbar navbar-default">
-            <div class="container-fluid">
-                <div class="navbar-header">
-                    <h1 data-bind="text: title"></h1>
-                </div>
+               <nav class="navbar navbar-default">
+                       <div class="container-fluid">
+                               <div class="navbar-header">
+                                       <h1 data-bind="text: title"></h1>
+                               </div>
 
-                <ul class="navbar-form navbar-right">
-                    <div class="form-group">
-                        <input type="text" class="form-control" 
placeholder="Test Start Time">
-                        <input type="text" class="form-control" 
placeholder="Test End Time">
-                        <div class="btn-group">
-                            <button type="button" class="btn btn-default 
dropdown-toggle" data-toggle="dropdown">
-                            Group By <span class="caret"></span>
-                            </button>
-                            <ul class="dropdown-menu" role="menu">
-                                <li><a href="#">Banner</a></li>
-                                <li><a href="#">Payment Method</a></li>
-                                <li><a href="#">Country</a></li>
-                                <li><a href="#">Language</a></li>
-                            </ul>
-                        </div>
-                    </div>
-                    <button type="submit" class="btn btn-warning 
navbar-btn">Get Test Results</button>
-                </ul>
-            </div>
-        </nav>
+                               <ul class="navbar-form navbar-right">
+                                       <div class="form-group">
+                                               <input type="text" 
class="form-control" placeholder="Test Start Time">
+                                               <input type="text" 
class="form-control" placeholder="Test End Time">
+                                               <div class="btn-group">
+                                                       <button type="button" 
class="btn btn-default dropdown-toggle" data-toggle="dropdown">
+                                                               Group By <span 
class="caret"></span>
+                                                       </button>
+                                                       <ul 
class="dropdown-menu" role="menu">
+                                                               <li><a 
href="#">Banner</a></li>
+                                                               <li><a 
href="#">Payment Method</a></li>
+                                                               <li><a 
href="#">Country</a></li>
+                                                               <li><a 
href="#">Language</a></li>
+                                                       </ul>
+                                               </div>
+                                       </div>
+                                       <button type="submit" class="btn 
btn-warning navbar-btn">Get Test Results</button>
+                               </ul>
+                       </div>
+               </nav>
 
-        <table class="table">
+               <table class="table">
 
-            <tr>
-                <td></td>
-                <td data-bind="text: winner"></td>
-                <td data-bind="text: runnerUp"></td>
-            </tr>
+                       <tr>
+                               <td></td>
+                               <td data-bind="text: winner"></td>
+                               <td data-bind="text: runnerUp"></td>
+                       </tr>
 
-            <span data-bind="foreach: table1">
+                       <span data-bind="foreach: table1">
 
-            <tr>
-                <td data-bind="text: table1.donations"></td>
-            </tr>
+                               <tr>
+                                       <td data-bind="text: 
table1.donations"></td>
+                               </tr>
 
-            </span>
+                       </span>
 
-        </table>
+               </table>
 
-    </div>
+       </div>
 
 
-</div>
\ No newline at end of file
+</div>
diff --git a/src/components/widgets/fraud-gauge/fraud-gauge.html 
b/src/components/widgets/fraud-gauge/fraud-gauge.html
index d7e8806..bbdbb6f 100644
--- a/src/components/widgets/fraud-gauge/fraud-gauge.html
+++ b/src/components/widgets/fraud-gauge/fraud-gauge.html
@@ -1,146 +1,148 @@
 <div id="fraudGaugeWidget" class="panel panel-purple widget-6">
-    <div class="panel-heading">
-        <span data-bind='text: title'></span>
-        <div class="btn-group btn-group-xs pull-right">
-            <button type="button" class="btn btn-default dropdown-toggle" 
data-toggle="modal" data-target="#sqlModal"><i class="fa 
fa-database"></i></button>
-            <button type="button" class="btn btn-default" data-toggle="modal" 
data-target="#modifyModal" data-bind="click: renderPercentRangeChart"><i 
class="fa fa-edit"></i></button>
-            <button type="button" class="btn btn-danger" data-bind="visible: 
!chartSaved() && optionStateChanged, click: saveWidgetConfig"><i class="fa 
fa-save"></i></button>
-            <button type="button" class="btn btn-success" data-bind="visible: 
chartSaved && !optionStateChanged()"><i class="fa fa-save"></i> Saved</button>
-            <button type="button" class="btn btn-default dropdown-toggle" 
data-toggle="modal" data-bind="attr: { 'data-target': '#remove'+instanceID 
}"><i class="fa fa-times"></i></button>
-        </div>
-    </div>
-    <div class="panel-body">
+       <div class="panel-heading">
+               <span data-bind='text: title'></span>
+               <div class="btn-group btn-group-xs pull-right">
+                       <button type="button" class="btn btn-default 
dropdown-toggle" data-toggle="modal" data-target="#sqlModal"><i class="fa 
fa-database"></i></button>
+                       <button type="button" class="btn btn-default" 
data-toggle="modal" data-target="#modifyModal" data-bind="click: 
renderPercentRangeChart"><i class="fa fa-edit"></i></button>
+                       <button type="button" class="btn btn-danger" 
data-bind="visible: !chartSaved() && optionStateChanged, click: 
saveWidgetConfig"><i class="fa fa-save"></i></button>
+                       <button type="button" class="btn btn-success" 
data-bind="visible: chartSaved && !optionStateChanged()"><i class="fa 
fa-save"></i> Saved</button>
+                       <button type="button" class="btn btn-default 
dropdown-toggle" data-toggle="modal" data-bind="attr: { 'data-target': 
'#remove'+instanceID }"><i class="fa fa-times"></i></button>
+               </div>
+       </div>
+       <div class="panel-body">
 
-        <div class="row">
-            <div class="gauge">
+               <div class="row">
+                       <div class="gauge">
 
-                <div class="row">
-                    <h3 class="text-center" data-bind="visible: configSet, 
text: selectedTimePeriod"></h3>
-                </div>
+                               <div class="row">
+                                       <h3 class="text-center" 
data-bind="visible: configSet, text: selectedTimePeriod"></h3>
+                               </div>
 
-                <div class="row" id="specifiedFraudGauge" data-bind="if: 
configSet">
-                    <div id="FraudRiskScoreGauge" data-bind='c3: gauge'></div>
-                </div>
+                               <div class="row" id="specifiedFraudGauge" 
data-bind="if: configSet">
+                                       <div id="FraudRiskScoreGauge" 
data-bind='c3: gauge'></div>
+                               </div>
 
-                <div class="row" id="unspecifiedFraudGauge" data-bind="if: 
!configSet()">
-                    <div class="col-md-12">
-                        <div class="setupAsk">
-                            <h3>This widget hasn't been set up yet.</h3>
-                            <button type="button" class="btn btn-primary 
btn-lg btn-block" data-toggle="modal" data-target="#modifyModal" 
data-bind="click: renderPercentRangeChart">Set it up</button>
-                        </div>
-                    </div>
-                </div>
+                               <div class="row" id="unspecifiedFraudGauge" 
data-bind="if: !configSet()">
+                                       <div class="col-md-12">
+                                               <div class="setupAsk">
+                                                       <h3>This widget hasn't 
been set up yet.</h3>
+                                                       <button type="button" 
class="btn btn-primary btn-lg btn-block" data-toggle="modal" 
data-target="#modifyModal" data-bind="click: renderPercentRangeChart">Set it 
up</button>
+                                               </div>
+                                       </div>
+                               </div>
 
-                <div class="row" id="fraudGaugeMeta" data-bind="visible: 
configSet">
-                    <p class="text-center"><span data-bind="visible: 
filtersSelected()">By: </span><span class="label label-info" data-bind="text: 
selectedFilters"></span></p>
-                </div>
+                               <div class="row" id="fraudGaugeMeta" 
data-bind="visible: configSet">
+                                       <p class="text-center"><span 
data-bind="visible: filtersSelected()">By: </span><span class="label 
label-info" data-bind="text: selectedFilters"></span></p>
+                               </div>
 
-                <div class="modal fade" id="modifyModal">
-                    <div class="modal-dialog">
-                        <div class="modal-content">
-                            <div class="modal-header">
-                                <button type="button" class="close" 
data-dismiss="modal"><span aria-hidden="true">&times;</span><span 
class="sr-only">Close</span></button>
-                                <h4 class="modal-title">Modify Gauge 
Settings</h4>
-                            </div>
-                            <div class="modal-body">
+                               <div class="modal fade" id="modifyModal">
+                                       <div class="modal-dialog">
+                                               <div class="modal-content">
+                                                       <div 
class="modal-header">
+                                                               <button 
type="button" class="close" data-dismiss="modal"><span 
aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
+                                                               <h4 
class="modal-title">Modify Gauge Settings</h4>
+                                                       </div>
+                                                       <div class="modal-body">
 
-                                    <form role="form" class="fraudForm">
-                                        <div class="form-group">
-                                            <div class="well">
-                                                <label 
for="fraudPercentRanges">Fraud Percent Ranges</label>
-                                                <p>set up the colors as 
they'll appear in the gauge.</p>
-                                                <canvas 
id="fraudPercentRanges" width="200" height="120"></canvas>
-                                                <div class="row">
-                                                    <div class="col-md-4 
col-sm-4 col-lg-4">
-                                                        <label>low fraud 
score: up to</label>
-                                                        <div 
class="input-group">
-                                                          <input type="text" 
class="form-control" data-bind="textInput: greenHighRange, event: { mouseout: 
renderPercentRangeChart }">
-                                                          <span 
class="input-group-btn">
-                                                            <button class="btn 
btn-success percentBtn" type="button"><i class="fa fa-refresh"></i></button>
-                                                          </span>
-                                                        </div>
-                                                    </div>
-                                                    <div class="col-md-4 
col-sm-4 col-lg-4">
-                                                        <label>mid-level 
score:</label>
-                                                        <div 
class="input-group">
-                                                          <span 
class="input-group-btn">
-                                                            <button class="btn 
btn-warning percentBtn" type="button"><span data-bind="text:greenHighRange() + 
'% to ' + redLowRange() + '%'"></button>
-                                                          </span>
-                                                        </div>
-                                                    </div>
-                                                    <div class="col-md-4 
col-sm-4 col-lg-4">
-                                                        <label>high fraud 
score: from</label>
-                                                        <div 
class="input-group">
-                                                        <input type="text" 
class="form-control" data-bind="textInput: redLowRange, event: { mouseout: 
renderPercentRangeChart }">
-                                                          <span 
class="input-group-btn">
-                                                            <button class="btn 
btn-danger percentBtn" type="button"><i class="fa fa-refresh"></i></button>
-                                                          </span>
-                                                        </div>
-                                                    </div>
-                                                </div>
-                                            </div>
-                                        </div>
+                                                               <form 
role="form" class="fraudForm">
+                                                                       <div 
class="form-group">
+                                                                               
<div class="well">
+                                                                               
        <label for="fraudPercentRanges">Fraud Percent Ranges</label>
+                                                                               
        <p>set up the colors as they'll appear in the gauge.</p>
+                                                                               
        <canvas id="fraudPercentRanges" width="200" height="120"></canvas>
+                                                                               
        <div class="row">
+                                                                               
                <div class="col-md-4 col-sm-4 col-lg-4">
+                                                                               
                        <label>low fraud score: up to</label>
+                                                                               
                        <div class="input-group">
+                                                                               
                                <input type="text" class="form-control" 
data-bind="textInput: greenHighRange, event: { mouseout: 
renderPercentRangeChart }">
+                                                                               
                                <span class="input-group-btn">
+                                                                               
                                        <button class="btn btn-success 
percentBtn" type="button"><i class="fa fa-refresh"></i></button>
+                                                                               
                                </span>
+                                                                               
                        </div>
+                                                                               
                </div>
+                                                                               
                <div class="col-md-4 col-sm-4 col-lg-4">
+                                                                               
                        <label>mid-level score:</label>
+                                                                               
                        <div class="input-group">
+                                                                               
                                <span class="input-group-btn">
+                                                                               
                                        <button class="btn btn-warning 
percentBtn" type="button"><span data-bind="text:greenHighRange() + '% to ' + 
redLowRange() + '%'"></button>
+                                                                               
                                        </span>
+                                                                               
                                </div>
+                                                                               
                        </div>
+                                                                               
                        <div class="col-md-4 col-sm-4 col-lg-4">
+                                                                               
                                <label>high fraud score: from</label>
+                                                                               
                                <div class="input-group">
+                                                                               
                                        <input type="text" class="form-control" 
data-bind="textInput: redLowRange, event: { mouseout: renderPercentRangeChart 
}">
+                                                                               
                                        <span class="input-group-btn">
+                                                                               
                                                <button class="btn btn-danger 
percentBtn" type="button"><i class="fa fa-refresh"></i></button>
+                                                                               
                                        </span>
+                                                                               
                                </div>
+                                                                               
                        </div>
+                                                                               
                </div>
+                                                                               
        </div>
+                                                                               
</div>
 
-                                        <!--Call Date Pickers Component to 
handle date range-->
-                                        <date-pickers 
params="selectedTimePeriod: selectedTimePeriod"></date-pickers>
+                                                                               
<!--Call Date Pickers Component to handle date range-->
+                                                                               
<date-pickers params="selectedTimePeriod: selectedTimePeriod"></date-pickers>
 
-                                        <div class="form-group 
filterPickerForm">
-                                            <label>Filter By:</label><br>
-                                            <p class="small text-warning" 
style="display: inline"><i class="fa fa-lightbulb-o"></i> by default, the 
result will be "all of the above."</p>
-                                               <ul class="filterPickerList nav 
nav-tabs" id="filterNav" role="tablist" data-bind="foreach: filters">
-                                                    <li data-bind="visible: 
$data.values">
-                                                        <input type="checkbox" 
data-bind="checkedValue: display, checked: $parent.selectedFilters, click: 
$parent.showSubfilters(display)"><span data-bind="text: display"></span>
-                                                        <ul class="hide 
filterPickerList subfilterSubnav" data-bind="attr: {'id': display}, foreach: 
$data.values">
-                                                            <li>
-                                                                <input 
type="checkbox" class="filterChoices" data-bind="value: 
($parentContext.$data.display + ' eq \'' + $data + '\''), checked: 
$parents[1].selectedSubFilters"><span data-bind="text: $data"></span>
-                                                            </li>
-                                                        </ul>
-                                                    </li>
-                                               </ul>
-                                        </div>
+                                                                               
<div class="form-group filterPickerForm">
+                                                                               
        <label>Filter By:</label><br>
+                                                                               
        <p class="small text-warning" style="display: inline"><i class="fa 
fa-lightbulb-o"></i> by default, the result will be "all of the above."</p>
+                                                                               
        <ul class="filterPickerList nav nav-tabs" id="filterNav" role="tablist" 
data-bind="foreach: filters">
+                                                                               
                <li data-bind="visible: $data.values">
+                                                                               
                <input type="checkbox" data-bind="checkedValue: display, 
checked: $parent.selectedFilters, click: $parent.showSubfilters(display)"><span 
data-bind="text: display"></span>
+                                                                               
                <ul class="hide filterPickerList subfilterSubnav" 
data-bind="attr: {'id': display}, foreach: $data.values">
+                                                                               
                        <li>
+                                                                               
                        <input type="checkbox" class="filterChoices" 
data-bind="value: ($parentContext.$data.display + ' eq \'' + $data + '\''), 
checked: $parents[1].selectedSubFilters"><span data-bind="text: $data"></span>
+                                                                               
                        </li>
+                                                                               
                </ul>
+                                                                               
                </li>
+                                                                               
        </ul>
+                                                                               
</div>
 
-                                    </form>
-                            </div>
-                            <div class="modal-footer">
-                                <div class="alert alert-danger hide" 
id="fraudSubmissionErrors">
-                                    <p class="text-danger .errors"></p>
-                                </div>
-                                    <button type="button" class="btn 
btn-default" data-dismiss="modal">Cancel</button>
-                                    <button type="button" class="btn 
btn-success" data-dismiss="modal" data-bind="click: 
submitGaugeModifications.bind(true)">Submit</button>
-                            </div>
-                        </div><!-- /.modal-content -->
-                    </div><!-- /.modal-dialog -->
-                </div><!-- /.modal -->
+                                                                       </form>
+                                                               </div>
+                                                               <div 
class="modal-footer">
+                                                                       <div 
class="alert alert-danger hide" id="fraudSubmissionErrors">
+                                                                               
<p class="text-danger .errors"></p>
+                                                                       </div>
+                                                                       <button 
type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
+                                                                       <button 
type="button" class="btn btn-success" data-dismiss="modal" data-bind="click: 
submitGaugeModifications.bind(true)">Submit</button>
+                                                               </div>
+                                                       </div><!-- 
/.modal-content -->
+                                               </div><!-- /.modal-dialog -->
+                                       </div><!-- /.modal -->
 
-                <div class="modal fade" id="sqlModal">
-                    <div class="modal-dialog">
-                        <div class="modal-content">
-                            <div class="modal-header">
-                                <button type="button" class="close" 
data-dismiss="modal"><span aria-hidden="true">&times;</span><span 
class="sr-only">Close</span></button>
-                                <h4 class="modal-title">Fraud Gauge SQL:</h4>
-                            </div>
-                            <div class="modal-body" data-bind="text: 
queryStringSQL"></div>
-                        </div><!-- /.modal-content -->
-                    </div><!-- /.modal-dialog -->
-                </div><!-- /.modal -->
+                                       <div class="modal fade" id="sqlModal">
+                                               <div class="modal-dialog">
+                                                       <div 
class="modal-content">
+                                                               <div 
class="modal-header">
+                                                                       <button 
type="button" class="close" data-dismiss="modal"><span 
aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
+                                                                       <h4 
class="modal-title">Fraud Gauge SQL:</h4>
+                                                               </div>
+                                                               <div 
class="modal-body" data-bind="text: queryStringSQL"></div>
+                                                       </div><!-- 
/.modal-content -->
+                                               </div><!-- /.modal-dialog -->
+                                       </div><!-- /.modal -->
 
-            </div>
-        </div>
-    </div>
+                               </div>
+                       </div>
+               </div>
 
-</div>
+       </div>
 
 
-<div class="modal fade" data-bind="attr: { id: 'remove'+instanceID } ">
-    <div class="modal-dialog modal-sm">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h2>Remove this widget from the board?</h2>
-            </div>
-            <div class="modal-body">
-                <button class="btn btn-lg btn-success pull-right" 
data-dismiss="modal" data-bind="click: $parents[2].removeWidgetFromBoard"> 
OK</button>
-                <button class="btn btn-lg btn-danger pull-right" 
data-dismiss="modal"> Cancel</button>
-            </div>
-        </div><!-- /.modal-content -->
-    </div>
+       <div class="modal fade" data-bind="attr: { id: 'remove'+instanceID } ">
+               <div class="modal-dialog modal-sm">
+                       <div class="modal-content">
+                               <div class="modal-header">
+                                       <h2>Remove this widget from the 
board?</h2>
+                               </div>
+                               <div class="modal-body">
+                                       <button class="btn btn-lg btn-success 
pull-right" data-dismiss="modal" data-bind="click: 
$parents[2].removeWidgetFromBoard"> OK</button>
+                                       <button class="btn btn-lg btn-danger 
pull-right" data-dismiss="modal"> Cancel</button>
+                               </div>
+                       </div><!-- /.modal-content -->
+               </div>
+       </div>
+
 </div>
diff --git a/src/css/style.css b/src/css/style.css
index e039ce8..e4553c6 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -1,471 +1,471 @@
 html {
-    margin:0;
-    padding:0;
+       margin:0;
+       padding:0;
 }
 
 body {
-    background-color: #f5f5f5;
-    font-family: "Lato";
-    margin:0;
-    padding:0;
+       background-color: #f5f5f5;
+       font-family: "Lato";
+       margin:0;
+       padding:0;
 }
 
 .container-fluid {
-    padding: 12px 85px;
+       padding: 12px 85px;
 }
 
 #dashApp {
-    padding-left: 175px;
-    transition: all 0.4s ease 0s;
+       padding-left: 175px;
+       transition: all 0.4s ease 0s;
 }
 
 #dashApp .container {
-    padding-top: 50px;
+       padding-top: 50px;
 }
 
 .navRow {
-    width: 200px;
-    padding:0;
-    margin: 0;
+       width: 200px;
+       padding:0;
+       margin: 0;
 }
 
 .navWrapper {
-    margin-left: -200px;
-    left: 200px;
-    width: 200px;
-    position: fixed;
-    height: 100%;
-    overflow-y: auto;
-    z-index: 1000;
-    transition: all 0.4s ease 0s;
-    background-color: #5e668a;
-    color: #f5f5f5;
+       margin-left: -200px;
+       left: 200px;
+       width: 200px;
+       position: fixed;
+       height: 100%;
+       overflow-y: auto;
+       z-index: 1000;
+       transition: all 0.4s ease 0s;
+       background-color: #5e668a;
+       color: #f5f5f5;
 }
 
 select {
-    height: 37px;
-    border-radius: none;
+       height: 37px;
+       border-radius: none;
 }
 
 .sidebar-nav ul {
-    list-style-type: none;
-    width: 100%;
-    padding: 0;
-    background-color: rgba(255,255,255,0.2);
-    margin-bottom: 0;
+       list-style-type: none;
+       width: 100%;
+       padding: 0;
+       background-color: rgba(255,255,255,0.2);
+       margin-bottom: 0;
 }
 
 .mainNavButton, .mainNavButtonLogin {
-    font-size: 16px;
-    font-weight: normal;
-    width: 100%;
-    text-align: left;
-    padding: 1em;
-    border-bottom: rgba(255,255,255,0.3) solid 1px;
-    overflow: hidden;
+       font-size: 16px;
+       font-weight: normal;
+       width: 100%;
+       text-align: left;
+       padding: 1em;
+       border-bottom: rgba(255,255,255,0.3) solid 1px;
+       overflow: hidden;
 }
 
 .mainNavButton i {
-    margin-right: 8px;
+       margin-right: 8px;
 }
 
 .mainNavButton:hover {
-    cursor: pointer;
+       cursor: pointer;
 }
 
 .sidebar-nav a {
-    color: #f5f5f5;
+       color: #f5f5f5;
 }
 
 .setupAsk {
-    margin: 0 auto;
-    background-color: rgba(0,0,0,0.03);
-    padding: 5%;
-    font-size: 1.4em;
-    color: rgba(0,0,0,0.6);
+       margin: 0 auto;
+       background-color: rgba(0,0,0,0.03);
+       padding: 5%;
+       font-size: 1.4em;
+       color: rgba(0,0,0,0.6);
 }
 
 .setupWidget {
-    background-color: rgba(217,83,79, 0.7);
+       background-color: rgba(217,83,79, 0.7);
 }
 
 #collapseNavMenu {
-    background-color: rgba(255,255,255,0.4);
+       background-color: rgba(255,255,255,0.4);
 }
 
 #collapseNavMenu:hover {
-    background-color: rgba(255,255,255,0.7);
-    color: #5e668a;
-    cursor: pointer;
+       background-color: rgba(255,255,255,0.7);
+       color: #5e668a;
+       cursor: pointer;
 }
 
 .collapsedNavMenu {
-    width: 15px;
-    transition-duration: 1s;
+       width: 15px;
+       transition-duration: 1s;
 }
 
 #mainNav ul{
-    list-style-type: none;
-    cursor: pointer;
+       list-style-type: none;
+       cursor: pointer;
 }
 
 .libraryTitle {
-    margin-bottom: .5em;
+       margin-bottom: .5em;
 }
 
 #showNavMenu {
-    display: none;
-    position: fixed;
-    top: 10px;
-    left: 10px;
-    cursor: pointer;
+       display: none;
+       position: fixed;
+       top: 10px;
+       left: 10px;
+       cursor: pointer;
 }
 
 .selectedSubNav {
-    background-color: #f5f5f5;
-    color: #5e668a;
-    cursor: pointer;
-    border-top: 1px rgba(94,102,138,0.5) solid;
+       background-color: #f5f5f5;
+       color: #5e668a;
+       cursor: pointer;
+       border-top: 1px rgba(94,102,138,0.5) solid;
 }
 
 .subNavButton {
-    background-color: rgba(255,255,255,0.5);
-    color: #5e668a;
-    cursor: pointer;
-    transition:700ms ease-in;
+       background-color: rgba(255,255,255,0.5);
+       color: #5e668a;
+       cursor: pointer;
+       transition:700ms ease-in;
 }
 
 .subNavButton {
-    border-top: 1px rgba(94,102,138,0.5) solid;
+       border-top: 1px rgba(94,102,138,0.5) solid;
 }
 
 .subNavButton a {
-    color: #5e668a;
+       color: #5e668a;
 }
 
 .subNavBoardOpts li {
-    padding: 10px;
-    text-align: right;
-    border-top: 1px rgba(94, 102, 138, 0.2) solid;
+       padding: 10px;
+       text-align: right;
+       border-top: 1px rgba(94, 102, 138, 0.2) solid;
 }
 
 .subNavBoardOpts li:hover {
-    background-color: rgba(94,102,138,0.2);
+       background-color: rgba(94,102,138,0.2);
 }
 
 #welcomeTitle {
-    margin-bottom: 50px;
-    border-bottom: 1px #555 solid;
+       margin-bottom: 50px;
+       border-bottom: 1px #555 solid;
 }
 
 .titlebrand, .titlebrandToggle {
-    background-color: #d9534f;
-    overflow: hidden;
-    padding: 12px;
-    margin: 0;
+       background-color: #d9534f;
+       overflow: hidden;
+       padding: 12px;
+       margin: 0;
 }
 
 .titlebrand:hover {
-    background-color: #c12e2a;
-    cursor: pointer;
+       background-color: #c12e2a;
+       cursor: pointer;
 }
 
 .titlebrandToggle {
-    padding: 5px;
-    margin-left: 5px;
+       padding: 5px;
+       margin-left: 5px;
 }
 
 .titlebrandToggle:hover {
-    background-color: #fff;
-    color: #F15854;
+       background-color: #fff;
+       color: #F15854;
 }
 
 .titleCol {
-    padding: 0;
+       padding: 0;
 }
 
 .titleCol p {
-    color: #555;
+       color: #555;
 }
 
 /* MAIN BASE QUALITY STYLEINGS */
 
 .avatar {
-    height: 70px;
-    width: 70px;
-    border-radius: 35px;
-    margin: 18px 10px;
+       height: 70px;
+       width: 70px;
+       border-radius: 35px;
+       margin: 18px 10px;
 }
 
 .boxedIcon {
-    color: #333;
-    font-size: 18px;
-    color: rgba(0,0,0,0.2);
-    background-color: rgba(0,0,0,0.05);
-    padding: .5em;
+       color: #333;
+       font-size: 18px;
+       color: rgba(0,0,0,0.2);
+       background-color: rgba(0,0,0,0.05);
+       padding: .5em;
 }
 
 .smallIcon {
-    color: #333;
-    font-size: 13px;
-    color: #fff;
+       color: #333;
+       font-size: 13px;
+       color: #fff;
 }
 
 .lightWell {
-    background-color: rgba(0,0,0,0.009);
+       background-color: rgba(0,0,0,0.009);
 }
 
 .whiteWell {
-    background-color: #fff;
+       background-color: #fff;
 }
 
 .noUi-base {
-    background-color: #dff0d8;
+       background-color: #dff0d8;
 }
 
 .noUi-background {
-    background-color: #f2dede;
+       background-color: #f2dede;
 }
 
 .noUi-connect {
-    background-color: #fcf8e3;
+       background-color: #fcf8e3;
 }
 
 /* WIDGET BASE STYLINGS */
 
 .alert {
-    overflow: hidden;
+       overflow: hidden;
 }
 
 .factbox {
-    width: 100%;
-    padding: 7px;
-    color: #f5f5f5;
+       width: 100%;
+       padding: 7px;
+       color: #f5f5f5;
 }
 
 .factbox h3 {
-    font-size: 2em;
+       font-size: 2em;
 }
 
 .factbox-blue {
-    background-color: rgb(49,176,213);
+       background-color: rgb(49,176,213);
 }
 
 .factbox-yellow {
-    background-color: rgb(92,184,92);
+       background-color: rgb(92,184,92);
 }
 
 .factbox-red {
-    background-color: rgb(217,83,79);
+       background-color: rgb(217,83,79);
 }
 
 .factbox-icon {
-    font-size: 4em;
-    text-align: center;
-    padding:0;
+       font-size: 4em;
+       text-align: center;
+       padding:0;
 }
 
 .factbox-header {
-    margin-top: 10px;
-    margin-bottom: -12px;
+       margin-top: 10px;
+       margin-bottom: -12px;
 }
 
 /* TODO: finish this schema */
 /* Different widget class sizes */
 
 .widget-6 {
-    width: 47%;
-    display:inline-block;
+       width: 47%;
+       display:inline-block;
 }
 
 /* Big English */
 
 #bigEnglishThermometer {
-    margin-top: 10px;
+       margin-top: 10px;
 }
 
 .bigEnglish-updates .row {
-    margin: 0 0 10px 0;
-    border-bottom: 1px #ccc solid;
+       margin: 0 0 10px 0;
+       border-bottom: 1px #ccc solid;
 }
 
 .transparent {
-    background-color: #f5f5f5;
+       background-color: #f5f5f5;
 }
 
 /* Gauges */
 
 .fraudGauge {
-    padding: 0;
-    display: inline-block;
-    clear:right;
+       padding: 0;
+       display: inline-block;
+       clear:right;
 }
 
 #fraudGaugeWidget .panel-body {
-    padding: 0;
+       padding: 0;
 }
 
 #fraudGaugeMeta {
-    margin: 10px;
+       margin: 10px;
 }
 
 #FraudRiskScoreGauge {
-    width: 390px;
-    margin: -90px auto 0 auto;
+       width: 390px;
+       margin: -90px auto 0 auto;
 }
 
 #fraudPercentRanges {
-    margin: 0 auto;
-    display: inherit;
+       margin: 0 auto;
+       display: inherit;
 }
 
 #queryButton {
-    cursor: pointer;
+       cursor: pointer;
 }
 
 ul.filterPickerList {
-    list-style-type: none;
-    margin: 0;
-    padding: 0;
+       list-style-type: none;
+       margin: 0;
+       padding: 0;
 }
 
 .filterPickerList > li {
-    margin: 0;
-    padding: 0;
+       margin: 0;
+       padding: 0;
 }
 
 .subFilterPickerList input {
-    height: 12px;
+       height: 12px;
 }
 
 #filterNav > li > input, .subfilterSubnav > li > input{
-    vertical-align: middle;
-    margin-right:3px;
+       vertical-align: middle;
+       margin-right:3px;
 }
 
 #filterNav > li {
-    width: 25%;
-    padding:10px 0 0 0;
+       width: 25%;
+       padding:10px 0 0 0;
 }
 
 #filterNav.nav-tabs {
-    border: none;
+       border: none;
 }
 
 .subfilterSubnav {
-    margin-left: -35px;
+       margin-left: -35px;
 }
 
 #customTimePicker {
-    width: 100px;
+       width: 100px;
 }
 
 #customDate {
-    width: 100px;
+       width: 100px;
 }
 
 .input-sm.form-control{
-    height: 34px;
-    font-size: 14px;
+       height: 34px;
+       font-size: 14px;
 }
 
 #chosenTimePeriod {
-    margin: 15px 0 -15px 0;
+       margin: 15px 0 -15px 0;
 }
 
 #customTimepickerRange {
-    margin-left: 7px;
+       margin-left: 7px;
 }
 
 #fraudSubmissionErrors {
-    text-align: left;
+       text-align: left;
 }
 
 #unspecifiedFraudGauge.row{
-    margin: 10px;
+       margin: 10px;
 }
 
 .btn.percentBtn {
-    padding: .44em;
+       padding: .44em;
 }
 
 .btn.btn-warning.percentBtn {
-    width: 100%;
+       width: 100%;
 }
 
 .addToBoardBtn {
-    bottom: 0;
+       bottom: 0;
 }
 
 .widgetDesc {
-    height: 70px;
+       height: 70px;
 }
 
 /* BOOTSTRAP OVERRIDES */
 
 .btn {
-    border-radius: 0;
-    padding: .7em;
+       border-radius: 0;
+       padding: .7em;
 }
 
 .btn-col {
-    margin: 5px 0;
+       margin: 5px 0;
 }
 
 .btn-mint {
-    background-color: rgb(220,245,242);
-    color: #5e668a;
+       background-color: rgb(220,245,242);
+       color: #5e668a;
 }
 
 .btn-mint:hover {
-    background-color: rgba(220,245,242,0.9);
-    color: #000;
+       background-color: rgba(220,245,242,0.9);
+       color: #000;
 }
 
 a:hover {
-    text-decoration: none;
+       text-decoration: none;
 }
 
 input {
-    height: 28px;
+       height: 28px;
 }
 
 .modal-body {
-    overflow: hidden;
+       overflow: hidden;
 }
 
 #loadingModal .modal-content {
-    padding: 10px;
+       padding: 10px;
 }
 
 .navbar-fixed-top {
-    height: 70px;
+       height: 70px;
 }
 
 .padded {
-    padding: 1em;
+       padding: 1em;
 }
 
 .panel {
-    vertical-align: top;
-    min-height: 355px;
-    margin-right: 1.4em;
+       vertical-align: top;
+       min-height: 355px;
+       margin-right: 1.4em;
 }
 
 .panel-transparent {
-    border-color: #ccc;
+       border-color: #ccc;
 }
 
 .panel-purple {
-  border-color: #ccc;
+       border-color: #ccc;
 }
 
 .panel-purple > .panel-heading {
-  color: #f5f5f5;
-  background-color: rgb(94,102,138);
-  border-color: #5e668a;
-  height:33px;
-  padding:5px 5px 0 10px;
+       color: #f5f5f5;
+       background-color: rgb(94,102,138);
+       border-color: #5e668a;
+       height:33px;
+       padding:5px 5px 0 10px;
 }
 
 .panel-heading button {
@@ -473,166 +473,166 @@
 }
 
 .panel-purple > .panel-heading + .panel-collapse .panel-body {
-  border-top-color: #5e668a;
+       border-top-color: #5e668a;
 }
 
 .panel-purple > .panel-footer + .panel-collapse .panel-body {
-  border-bottom-color: #5e668a;
+       border-bottom-color: #5e668a;
 }
 
 .label {
-    font-weight: normal;
+       font-weight: normal;
 }
 
 .layoutRow:first-child, .layoutRow .firstWidget {
-    padding-left: 0;
+       padding-left: 0;
 }
 
 .layoutRow:last-child, .layoutRow .lastWidget {
-    padding-right: 0;
+       padding-right: 0;
 }
 
 .datepicker {
-    z-index: 1151 !important;
+       z-index: 1151 !important;
 }
 
 .datePickerForm input[type="radio"], input[type="checkbox"] {
-    margin: -4px 0 0 0;
+       margin: -4px 0 0 0;
 }
 
 .input-daterange .add-on{
-    margin-top: -4px;
-    height: 27px;
+       margin-top: -4px;
+       height: 27px;
 }
 
 #queryTimepickerFrom.input-small, #queryTimepickerTo.input-small {
-    width: 100px;
+       width: 100px;
 }
 
 .sliderTable {
-    width: 50%;
-    margin-top: -30px;
-    font-weight: bold;
+       width: 50%;
+       margin-top: -30px;
+       font-weight: bold;
 }
 
 .sliderTable > tbody > tr > td {
-    border-top: none;
+       border-top: none;
 }
 
 /* Charts are only so useful when small */
 .widgetDisplayRow {
-    min-width: 875px;
+       min-width: 875px;
 }
 
 .widgetPlace {
-    display: inline;
+       display: inline;
 }
 
 /* C3 Bar Chart Styles */
 .c3-region {
-  fill: red;
-  fill-opacity: .1;
+       fill: red;
+       fill-opacity: .1;
 }
 
 #distanceToGoalChart {
-    padding: 0 9px 0 0;
+       padding: 0 9px 0 0;
 }
 
 .goalText {
-    font-size: 1.5em;
-    margin-top: 1em;
+       font-size: 1.5em;
+       margin-top: 1em;
 }
 
 .loading, .loadingWidget {
-    background-color: #5bc0de;
-    opacity: .85;
-    border-radius: 25px;
-    padding: 37px;
-    color: #ffffff;
-    z-index: 99999;
-    font-size: 110%;
-    height: 192px;
-    width: 192px;
+       background-color: #5bc0de;
+       opacity: .85;
+       border-radius: 25px;
+       padding: 37px;
+       color: #ffffff;
+       z-index: 99999;
+       font-size: 110%;
+       height: 192px;
+       width: 192px;
 }
 
 .loading {
-    position: fixed;
-    top: 360px;
-    left: 50%;
-    margin-top: -96px;
-    margin-left: -96px;
+       position: fixed;
+       top: 360px;
+       left: 50%;
+       margin-top: -96px;
+       margin-left: -96px;
 }
 
 .loadingWidget {
-    position: absolute;
-    display: block;
-    margin: 10% 43%;
+       position: absolute;
+       display: block;
+       margin: 10% 43%;
 }
 
 .loading div {
-    margin-left: 10px;
+       margin-left: 10px;
 }
 
 #demoChart {
-    margin-left:30px;
+       margin-left:30px;
 }
 
 #savedChartsMenu {
-    padding: 5px;
-    color: #555;
+       padding: 5px;
+       color: #555;
 }
 #savedChartsMenu li {
-    padding: 3px;
+       padding: 3px;
 }
 
 #savedChartsMenu li:hover{
-    background-color: rgba(0,0,0,0.05);
+       background-color: rgba(0,0,0,0.05);
 }
 
 .select2-container-multi .select2-choices {
-    min-height: 36px;
-    min-width: 200px;
-    margin-left: 1px;
+       min-height: 36px;
+       min-width: 200px;
+       margin-left: 1px;
 }
 
 .widgetLibrary {
-    list-style-type: none;
-    margin: 0;
-    padding: 0;
+       list-style-type: none;
+       margin: 0;
+       padding: 0;
 }
 
 .widgetLibraryTitle {
-    margin-left: 10px;
+       margin-left: 10px;
 }
 
 .widgetLibrary li {
-    display: inline-block;
-    padding: 20px;
-    margin: 10px;
-    background-color: rgba(49,176,213,0.6);
-    color: #f5f5f5;
-    width: 250px;
-    height: 320px;
-    overflow: hidden;
-    border-bottom: 7px solid rgb(49,176,213);
-    border-radius: 4px 4px 0 0;
+       display: inline-block;
+       padding: 20px;
+       margin: 10px;
+       background-color: rgba(49,176,213,0.6);
+       color: #f5f5f5;
+       width: 250px;
+       height: 320px;
+       overflow: hidden;
+       border-bottom: 7px solid rgb(49,176,213);
+       border-radius: 4px 4px 0 0;
 }
 
 .widgetLibrary li:hover {
-    background-color: rgb(49,176,213);
+       background-color: rgb(49,176,213);
 }
 
 .widgetLibrary img {
-    width: 210px;
-    height: 100px;
+       width: 210px;
+       height: 100px;
 }
 
 .xyGroupOption {
-    overflow: hidden;
-    min-width: 250px;
-    margin: 10px auto;
+       overflow: hidden;
+       min-width: 250px;
+       margin: 10px auto;
 }
 
 .xyGroupOption .panel-heading{
-    overflow: hidden;
-}
\ No newline at end of file
+       overflow: hidden;
+}
diff --git a/src/index.html b/src/index.html
index 8eeff7d..4ce43d0 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1,29 +1,29 @@
 <!DOCTYPE html>
 <html lang="en">
 <head>
-        <!--build:css-->
-        <link rel="stylesheet" type="text/css" 
href="bower_modules/bootstrap/dist/css/bootstrap.css"/>
-        <link rel="stylesheet" type="text/css" 
href="bower_modules/fontawesome/css/font-awesome.css"/>
-        <link rel="stylesheet" type="text/css" 
href="bower_modules/lato/css/lato.css"/>
-        <link rel="stylesheet" type="text/css" 
href="bower_modules/nouislider/src/jquery.nouislider.css"/>
-        <link rel="stylesheet" type="text/css" 
href="bower_modules/select2/select2.css"/>
-        <link rel="stylesheet" type="text/css" href="bower_modules/c3/c3.css"/>
-        <link rel="stylesheet" type="text/css" href="css/style.css"/>
-        <!--endbuild-->
+<!--build:css-->
+<link rel="stylesheet" type="text/css" 
href="bower_modules/bootstrap/dist/css/bootstrap.css"/>
+<link rel="stylesheet" type="text/css" 
href="bower_modules/fontawesome/css/font-awesome.css"/>
+<link rel="stylesheet" type="text/css" href="bower_modules/lato/css/lato.css"/>
+<link rel="stylesheet" type="text/css" 
href="bower_modules/nouislider/src/jquery.nouislider.css"/>
+<link rel="stylesheet" type="text/css" 
href="bower_modules/select2/select2.css"/>
+<link rel="stylesheet" type="text/css" href="bower_modules/c3/c3.css"/>
+<link rel="stylesheet" type="text/css" href="css/style.css"/>
+<!--endbuild-->
 
-        <!--build:js-->
-        <script src="bower_modules/raphael/raphael.js"></script>
-        <script src="app/require.config.js"></script>
-        <script data-main="app/startup" 
src="bower_modules/requirejs/require.js"></script>
-        <!--endbuild-->
+<!--build:js-->
+<script src="bower_modules/raphael/raphael.js"></script>
+<script src="app/require.config.js"></script>
+<script data-main="app/startup" 
src="bower_modules/requirejs/require.js"></script>
+<!--endbuild-->
 </head>
 
 <body>
 
 <section id="dashApp">
-    <app-content></app-content>
+       <app-content></app-content>
 </section>
 
 </body>
 
-</html>
\ No newline at end of file
+</html>
diff --git a/widgets/index.js b/widgets/index.js
index bcb02c3..6770efa 100644
--- a/widgets/index.js
+++ b/widgets/index.js
@@ -1,9 +1,9 @@
 var path = require('path');
 
 require('fs').readdirSync(__dirname)
-  .filter(function(file) {
-    return ((file.indexOf('.') !== 0) && (file !== 'index.js') && 
(file.slice(-3) === '.js'));
-  })
-  .forEach(function(file) {
-    module.exports[file.substr(0,file.length - 3)] = 
require(path.join(__dirname, file));
+       .filter(function(file) {
+               return ((file.indexOf('.') !== 0) && (file !== 'index.js') && 
(file.slice(-3) === '.js'));
+})
+       .forEach(function(file) {
+               module.exports[file.substr(0,file.length - 3)] = 
require(path.join(__dirname, file));
 });

-- 
To view, visit https://gerrit.wikimedia.org/r/211914
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7bd8eaf927e0baef5b11dc6184dfa2c7f9e5405b
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/dash
Gerrit-Branch: master
Gerrit-Owner: Cdentinger <cdentin...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to