From 80be8bcbf88b5baec12910481d86a236a48cf04f Mon Sep 17 00:00:00 2001 From: Johannes Millan Date: Tue, 10 Jan 2017 14:03:48 +0100 Subject: [PATCH] add simplest toast and messages for it --- app/index.html | 1 + app/scripts/dialogs/add-task/add-task-c.js | 3 ++- app/scripts/main-header/main-header-d.js | 7 ++--- .../main/global-services/projects-s.js | 6 ++--- .../main/global-services/simple-toast-s.js | 27 +++++++++++++++++++ .../global-services/simple-toast-s.spec.js | 17 ++++++++++++ app/scripts/routes/settings/settings-c.js | 14 +++------- 7 files changed, 58 insertions(+), 17 deletions(-) create mode 100644 app/scripts/main/global-services/simple-toast-s.js create mode 100644 app/scripts/main/global-services/simple-toast-s.spec.js diff --git a/app/index.html b/app/index.html index a470f8a84c..db4b99b9cf 100644 --- a/app/index.html +++ b/app/index.html @@ -124,6 +124,7 @@ TODO configure more restrictive Content-Security-Policy + diff --git a/app/scripts/dialogs/add-task/add-task-c.js b/app/scripts/dialogs/add-task/add-task-c.js index b237440712..5a66ec58ba 100644 --- a/app/scripts/dialogs/add-task/add-task-c.js +++ b/app/scripts/dialogs/add-task/add-task-c.js @@ -14,7 +14,7 @@ .controller('AddTaskCtrl', AddTaskCtrl); /* @ngInject */ - function AddTaskCtrl($mdDialog, Tasks) { + function AddTaskCtrl($mdDialog, Tasks, SimpleToast) { let vm = this; vm.task = {}; @@ -22,6 +22,7 @@ let success = Tasks.addToday(vm.task); if (success) { + SimpleToast('Created task "' + vm.task.title + '"'); $mdDialog.hide(); } }; diff --git a/app/scripts/main-header/main-header-d.js b/app/scripts/main-header/main-header-d.js index 41c81efd62..49d4fccd88 100644 --- a/app/scripts/main-header/main-header-d.js +++ b/app/scripts/main-header/main-header-d.js @@ -24,7 +24,7 @@ } /* @ngInject */ - function MainHeaderCtrl(Dialogs, $rootScope, Tasks, Projects) { + function MainHeaderCtrl(Dialogs, $rootScope, Tasks, Projects, SimpleToast) { let vm = this; let lastCurrentTask; @@ -32,8 +32,7 @@ vm.allProjects = Projects.getList(); - - this.openMenu = function($mdOpenMenu, ev) { + this.openMenu = function ($mdOpenMenu, ev) { $mdOpenMenu(ev); }; @@ -51,8 +50,10 @@ if (vm.isOnBreak) { lastCurrentTask = $rootScope.r.currentTask; Tasks.updateCurrent(null); + SimpleToast('On break!'); } else { Tasks.updateCurrent(lastCurrentTask); + SimpleToast('Off break!'); } }; } diff --git a/app/scripts/main/global-services/projects-s.js b/app/scripts/main/global-services/projects-s.js index 1718c8f2fb..57516ce9e9 100644 --- a/app/scripts/main/global-services/projects-s.js +++ b/app/scripts/main/global-services/projects-s.js @@ -14,7 +14,7 @@ .service('Projects', Projects); /* @ngInject */ - function Projects(LS_DEFAULTS, $localStorage, $rootScope, Uid, $window, $log) { + function Projects(LS_DEFAULTS, $localStorage, $rootScope, Uid, $window, SimpleToast) { const OMITTED_LS_FIELDS = ['currentProject', 'projects', '$$hashKey', '$$mdSelectId']; this.getList = () => { @@ -51,8 +51,8 @@ }; this.createNewFromCurrent = (projectTitle) => { - if ($localStorage.projects.length !== 0) { - $log.error('there is already a project'); + if ($localStorage.projects.length > 0) { + SimpleToast('ERROR: There is already a project'); return; } diff --git a/app/scripts/main/global-services/simple-toast-s.js b/app/scripts/main/global-services/simple-toast-s.js new file mode 100644 index 0000000000..89f1b06d73 --- /dev/null +++ b/app/scripts/main/global-services/simple-toast-s.js @@ -0,0 +1,27 @@ +/** + * @ngdoc service + * @name superProductivity.SimpleToast + * @description + * # SimpleToast + * Service in the superProductivity. + */ + +(function () { + 'use strict'; + + angular + .module('superProductivity') + .service('SimpleToast', SimpleToast); + + /* @ngInject */ + function SimpleToast($mdToast) { + + return (textContent) => { + return $mdToast.show($mdToast.simple() + .textContent(textContent) + .position('bottom')); + }; + // AngularJS will instantiate a singleton by calling "new" on this function + } + +})(); diff --git a/app/scripts/main/global-services/simple-toast-s.spec.js b/app/scripts/main/global-services/simple-toast-s.spec.js new file mode 100644 index 0000000000..b0f45a7e54 --- /dev/null +++ b/app/scripts/main/global-services/simple-toast-s.spec.js @@ -0,0 +1,17 @@ +'use strict'; + +describe('Service: SimpleToast', function() { + // load the service's module + beforeEach(module('superProductivity')); + + // instantiate service + var SimpleToast; + beforeEach(inject(function (_SimpleToast_) { + SimpleToast = _SimpleToast_; + })); + + it('should be defined', function() { + expect(true).toBe(true); + }); + +}); \ No newline at end of file diff --git a/app/scripts/routes/settings/settings-c.js b/app/scripts/routes/settings/settings-c.js index af082ee67c..c9ea0e43c0 100644 --- a/app/scripts/routes/settings/settings-c.js +++ b/app/scripts/routes/settings/settings-c.js @@ -14,7 +14,7 @@ .controller('SettingsCtrl', SettingsCtrl); /* @ngInject */ - function SettingsCtrl($localStorage, $rootScope, $scope, Projects, Dialogs, DEFAULT_THEME, $mdToast) { + function SettingsCtrl($localStorage, $rootScope, $scope, Projects, Dialogs, DEFAULT_THEME, SimpleToast) { let vm = this; function init() { @@ -33,9 +33,7 @@ vm.createNewProjectFromCurrent = (projectTitle) => { Projects.createNewFromCurrent(projectTitle); - $mdToast.show($mdToast.simple() - .textContent('Project "' + projectTitle + '" successfully saved') - .position('bottom')); + SimpleToast('Project "' + projectTitle + '" successfully saved'); }; vm.createNewProject = () => { @@ -58,9 +56,7 @@ $localStorage.projects = $rootScope.r.projects = []; } - $mdToast.show($mdToast.simple() - .textContent('Settings successfully imported') - .position('bottom')); + SimpleToast('Settings successfully imported'); }; // jira stuff @@ -71,9 +67,7 @@ $rootScope.r.currentProject.data.jiraSettings = settings; } - $mdToast.show($mdToast.simple() - .textContent('Jira settigns saved') - .position('bottom')); + SimpleToast('Jira settigns saved'); }; // theme stuff