diff --git a/index.html b/app/index.html similarity index 88% rename from index.html rename to app/index.html index b29494b..3dc26d6 100644 --- a/index.html +++ b/app/index.html @@ -5,8 +5,7 @@ Scrum Board - Manage your tasks with ease - - +
@@ -25,29 +24,29 @@ @@ -165,9 +164,8 @@ - - - - + + + diff --git a/gulpfile.js b/gulpfile.js index 93b74b7..0a839ea 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -8,66 +8,64 @@ * @version 1.0 Beta */ -const BrowserSync = require('browser-sync'); +// const BrowserSync = require('browser-sync'); +const fs = require('fs'); +const http = require('http'); const Gulp = require('gulp'); Gulp.clean = require('gulp-clean'); -const sass = require('gulp-sass'); -const autoprefixer = require('gulp-autoprefixer'); -const cleanCSS = require('gulp-clean-css'); -const uglify = require('gulp-uglify'); -const renameFiles = require('gulp-rename'); +Gulp.sass = require('gulp-sass'); +Gulp.autoprefixer = require('gulp-autoprefixer'); +Gulp.cleanCSS = require('gulp-clean-css'); +Gulp.uglify = require('gulp-uglify'); +Gulp.rename = require('gulp-rename'); -const Url = 'http://localhost:8888/scrum/'; -const Browser = 'google chrome'; +const PORT = 3000; -function browserSync(cb){ - BrowserSync.init({ - server: { - // baseDir: "app", - proxy: Url, - // files: ['app/views/**/*.*', 'public/**/*.css', 'public/**/*.js'], - browser: Browser, - port: 3005, - // open: false +function httpd(){ + function servePage(req, res, url){ + if(url[url.length - 1] == '/'){ + return servePage(req, res, url + 'index.html') } - }, function (err, bs){ - cb(); - }); -}; - -function bsReload(cb){ - BrowserSync.reload(); - cb(); -}; + urlSplit = url.split('.'); + if(urlSplit[urlSplit.length-1].length > 4){ + return servePage(req, res, url + '/index.html') + } + fs.readFile(__dirname + '/app' + url, function (err,data) { + if (err) { + res.writeHead(404); + res.end(JSON.stringify(err)); + return; + } + res.writeHead(200); + res.end(data); + }); + } + http.createServer(function (req, res) { + servePage(req, res, req.url) + }).listen(PORT); +} function css(){ return Gulp.src('src/stylesheets/**/*.scss') - .pipe(sass().on('error', sass.logError)) - .pipe(autoprefixer('last 3 version')) + .pipe(Gulp.sass().on('error', Gulp.sass.logError)) + .pipe(Gulp.autoprefixer('last 3 version')) .pipe(Gulp.dest('app/assets/stylesheets')) } function cssMinify(){ return Gulp.src(['app/assets/stylesheets/**/*.css', '!app/assets/stylesheets/**/*.min.css']) - .pipe(cleanCSS({debug: true}, function(details) { + .pipe(Gulp.cleanCSS({debug: true}, function(details) { console.log('Original Size : ' + details.name + ': ' + details.stats.originalSize + ' bytes'); console.log('Minified Size : ' + details.name + ': ' + details.stats.minifiedSize + ' bytes'); })) - .pipe(renameFiles({ suffix: '.min' })) + .pipe(Gulp.rename({ suffix: '.min' })) .pipe(Gulp.dest('app/assets/stylesheets')) - // .pipe(browserSync.reload({ // ?? - // stream:true - // })); }; function jsMinify(){ return Gulp.src('src/scripts/**/*.js') - .pipe(uglify()) - .pipe(renameFiles({ suffix: '.min' })) + .pipe(Gulp.uglify()) + .pipe(Gulp.rename({ suffix: '.min' })) .pipe(Gulp.dest('app/assets/scripts')) - // .pipe(browserSync.reload({ // ?? - // stream: true, - // once: true - // })); }; function clean(mode = 'all'){ @@ -105,8 +103,8 @@ const jsTask = jsMinify; const buildTask = Gulp.parallel(cssTask, jsTask); exports.clean = clean('all'); -exports.server = browserSync; +exports.server = httpd; exports.cssBuild = cssTask; exports.jsBuild = jsTask; exports.build = Gulp.series(clean('all'), buildTask); -exports.default = Gulp.series(buildTask, browserSync); \ No newline at end of file +exports.default = Gulp.series(buildTask, httpd); \ No newline at end of file diff --git a/src/scripts/app.js b/src/scripts/app.js index 13ad92b..f40fa6c 100644 --- a/src/scripts/app.js +++ b/src/scripts/app.js @@ -29,10 +29,10 @@ var App = function() { function exportData(){ function getFullData(){ var data = {}; - data['status'] = JSON.parse(LocalStorage.get('status')); - data['taskCounter'] = parseInt(LocalStorage.get('taskCounter')); + data['status'] = JSON.parse(localStorage.getItem('status')); + data['taskCounter'] = parseInt(localStorage.getItem('taskCounter')); for(var i=0; i <= data['taskCounter']; i++){ - const task = LocalStorage.get('task-' + i); + const task = localStorage.getItem('task-' + i); if(task != null) data['task-' + i] = JSON.parse(task) } @@ -71,7 +71,7 @@ var App = function() { for(key in data){ if(!data.hasOwnProperty(key)) continue; - LocalStorage.set(key, JSON.stringify(data[key])); + localStorage.setItem(key, JSON.stringify(data[key])); } window.location.reload() } @@ -95,22 +95,22 @@ var App = function() { status: 'pending' } - if(!LocalStorage.get('appInitialized', true)) { - LocalStorage.set('taskCounter', 1); - LocalStorage.set('status', JSON.stringify([ + if(!localStorage.getItem('appInitialized', true)) { + localStorage.setItem('taskCounter', 1); + localStorage.setItem('status', JSON.stringify([ {key: 'rejected', value: 'Rejected'}, {key: 'pending', value: 'Pending'}, {key: 'development', value: 'Development'}, {key: 'testing', value: 'Testing'}, {key: 'production', value: 'Production'}])); - LocalStorage.set('task-1', JSON.stringify(defaultTask)); - LocalStorage.set('appInitialized', true); + localStorage.setItem('task-1', JSON.stringify(defaultTask)); + localStorage.setItem('appInitialized', true); } } function addStatusColumns(){ - var statusArr = JSON.parse(LocalStorage.get('status')); + var statusArr = JSON.parse(localStorage.getItem('status')); var headerObj = $('header ul'); var myDashboard = $('#dashboard'); statusArr.map(function(item){ @@ -138,7 +138,7 @@ var App = function() { e.preventDefault(); var newStatus = $('#new_status').val(); var newStatusId = $('#new_status_id').val(); - var currentStatus = JSON.parse(LocalStorage.get('status')); + var currentStatus = JSON.parse(localStorage.getItem('status')); currentStatus.map(function(obj){ if(obj.key == newStatusId) { @@ -148,7 +148,7 @@ var App = function() { $('header ul li[data-id=' + newStatusId + ']').html(newStatus); - LocalStorage.set('status', JSON.stringify(currentStatus)); + localStorage.setItem('status', JSON.stringify(currentStatus)); $('.close-modal').trigger('click'); }); @@ -178,11 +178,11 @@ var App = function() { return; } - var iid = LocalStorage.get('taskCounter'); + var iid = localStorage.getItem('taskCounter'); obj.id = ++iid; obj.status = 'pending'; - LocalStorage.set('task-' + obj.id, JSON.stringify(obj)); - LocalStorage.set('taskCounter', iid); + localStorage.setItem('task-' + obj.id, JSON.stringify(obj)); + localStorage.setItem('taskCounter', iid); var newCard = template([obj]); $('#dashboard #' + obj.status).append(newCard); @@ -206,11 +206,11 @@ var App = function() { $(document).on('input', '.card p', function() { var taskId = $(this).parents('.card').data('task-id'); var fieldToEdit = $(this).data('field'); - var getTaskData = JSON.parse(LocalStorage.get('task-' + taskId)); + var getTaskData = JSON.parse(localStorage.getItem('task-' + taskId)); getTaskData[fieldToEdit] = $(this).text(); - LocalStorage.set('task-' + taskId, JSON.stringify(getTaskData)); + localStorage.setItem('task-' + taskId, JSON.stringify(getTaskData)); }); } @@ -256,7 +256,7 @@ var App = function() { if($(this).attr('id') == 'remove') { //Deletes task elm.remove(); - LocalStorage.remove('task-' + taskId); + localStorage.removeItem('task-' + taskId); $('#removed-task-notification').text('Task removed successfully').removeClass('hide'); @@ -268,10 +268,10 @@ var App = function() { if(parentId != currentId) { $(elm).detach().removeAttr('style').appendTo(this); - var getTaskData = JSON.parse(LocalStorage.get('task-' + taskId)); + var getTaskData = JSON.parse(localStorage.getItem('task-' + taskId)); getTaskData.status = currentId; - LocalStorage.set('task-' + taskId, JSON.stringify(getTaskData)); + localStorage.setItem('task-' + taskId, JSON.stringify(getTaskData)); } } @@ -312,7 +312,7 @@ var App = function() { var source = $("#task-card-template").html(); var template = Handlebars.compile(source); - var status = JSON.parse(LocalStorage.get('status')); + var status = JSON.parse(localStorage.getItem('status')); for(var i = 0, l = status.length; i < l; i++) { var result = App.getAllNotes().filter(function(obj) { @@ -328,13 +328,13 @@ var App = function() { } function tips() { - if(!JSON.parse(LocalStorage.get('showedTip'))) { + if(!JSON.parse(localStorage.getItem('showedTip'))) { $('#tips').removeClass('hide').addClass('tips'); } $('#tips').on('click', function() { $(this).addClass('hide'); - LocalStorage.set('showedTip', true); + localStorage.setItem('showedTip', true); }); } diff --git a/src/scripts/localstorage.js b/src/scripts/localstorage.js deleted file mode 100644 index aa12d7c..0000000 --- a/src/scripts/localstorage.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * scrum-board - * - * @category scrum-board - * @author Vaibhav Mehta - * @copyright Copyright (c) 2016 Vaibhav Mehta - * @license http://www.opensource.org/licenses/mit-license.html MIT License - * @version 1.0 Beta - */ - - -var LocalStorage = function() { - function set(key, val) { - localStorage.setItem(key, val); - } - - function get(key) { - return localStorage.getItem(key); - } - - function remove(key) { - localStorage.removeItem(key); - } - - return { - set: set, - get: get, - remove: remove - } -}(); \ No newline at end of file