From f23306b3c2ae44bf9eba2538f27ac8e06bea5564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vachon?= Date: Tue, 3 Feb 2015 09:52:40 -0500 Subject: [PATCH 01/12] Load configuration from JSON file before bootstrap --- app/app.js | 16 +++++++++++++++- app/components/config/config.js | 21 +++++++++++++++++++++ app/components/config/config.json | 3 +++ app/index.html | 6 ++++-- app/table/table.js | 14 ++++++++++---- 5 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 app/components/config/config.js create mode 100644 app/components/config/config.json diff --git a/app/app.js b/app/app.js index 6271c4e..7a590f0 100644 --- a/app/app.js +++ b/app/app.js @@ -1,12 +1,26 @@ 'use strict'; +angular.element(document).ready(function () { + + $.get('components/config/config.json', function (data) { + + angular.module('adagios.config').config(['readConfigProvider', function (readConfigProvider) { + readConfigProvider.setDashboardCells(data.cells); + }]); + + angular.bootstrap(document, ['adagios']); + }, "json"); + +}); + angular.module('adagios', [ 'ngRoute', 'adagios.sidebar', 'adagios.topbar', 'adagios.tactical', 'adagios.table', - 'adagios.filters' + 'adagios.filters', + 'adagios.config' ]) .config(['$routeProvider', function ($routeProvider) { diff --git a/app/components/config/config.js b/app/components/config/config.js new file mode 100644 index 0000000..c7638dd --- /dev/null +++ b/app/components/config/config.js @@ -0,0 +1,21 @@ +'use strict'; + + +function AdagiosConfig(dashboardCells) { + this.dashboardCells = dashboardCells; +} + +angular.module('adagios.config', []) + + .provider('readConfig', function ReadConfigProvider() { + + var dashboardCells = []; + + this.setDashboardCells = function (value) { + dashboardCells = value; + }; + + this.$get = [function getConfigFactory() { + return new AdagiosConfig(dashboardCells); + }]; + }); diff --git a/app/components/config/config.json b/app/components/config/config.json new file mode 100644 index 0000000..5dad06b --- /dev/null +++ b/app/components/config/config.json @@ -0,0 +1,3 @@ +{ + "cells":["host", "service_check", "duration", "last_check"] +} diff --git a/app/index.html b/app/index.html index c839353..d0919ac 100644 --- a/app/index.html +++ b/app/index.html @@ -2,7 +2,7 @@ - + @@ -10,6 +10,8 @@ + + @@ -17,6 +19,7 @@ + @@ -60,7 +63,6 @@ - diff --git a/app/table/table.js b/app/table/table.js index fd51632..eeb41e7 100644 --- a/app/table/table.js +++ b/app/table/table.js @@ -4,13 +4,13 @@ angular.module('adagios.table', ['ngRoute', 'adagios.live' ]) - .controller('TableCtrl', ['$scope', 'getServices', function ($scope, getServices) { + .value('tableConfig', {}) + + .controller('TableCtrl', ['$scope', 'getServices', 'readConfig', 'tableConfig', function ($scope, getServices, readConfig, tableConfig) { var requestFields = [], filters = {}; - $scope.cells = ['host', 'service_check', 'duration', 'last_check']; - // The module directory name must be cell_ + key $scope.cellToFieldsMap = { host: [ 'host_state', 'host_name' ], @@ -19,6 +19,8 @@ angular.module('adagios.table', ['ngRoute', last_check: ['last_check'] }; + $scope.cells = tableConfig.dashboardCells; + angular.forEach($scope.cells, function (key, value) { angular.forEach($scope.cellToFieldsMap[key], function (_value) { requestFields.push(_value); @@ -51,4 +53,8 @@ angular.module('adagios.table', ['ngRoute', }, template: '
' }; - }); + }) + + .run(['readConfig', 'tableConfig', function (readConfig, tableConfig) { + tableConfig.dashboardCells = readConfig.dashboardCells; + }]); From 7b7bddcb12a496501b6d1d780f38cc15cd299bcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vachon?= Date: Tue, 3 Feb 2015 11:30:48 -0500 Subject: [PATCH 02/12] Added global variables to JSLint configuration --- Gruntfile.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Gruntfile.js b/Gruntfile.js index 0ce1a93..e989bff 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -56,6 +56,7 @@ module.exports = function (grunt) { unparam: true, // TEMPORARY: Ignore unused params nomen: true, predef: [ // Global variables + 'document', '$', '$get', 'angular', 'inject', 'JustGage', 'describe', 'beforeEach', 'it', 'expect', 'moment' From de6f9b0689440734bf4ff98d542bb5c9c3c685a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vachon?= Date: Tue, 3 Feb 2015 12:23:26 -0500 Subject: [PATCH 03/12] Parameterizable table --- app/table/table.js | 23 ++++++++++++++--------- app/tactical/tactical.html | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/app/table/table.js b/app/table/table.js index eeb41e7..60603f4 100644 --- a/app/table/table.js +++ b/app/table/table.js @@ -33,19 +33,28 @@ angular.module('adagios.table', ['ngRoute', }); }]) - .directive('adgTable', function () { + .directive('adgTable', ['tableConfig', function (tableConfig) { return { restrict: 'E', - templateUrl: 'table/table.html' + link: function (scope, element, attrs) { + scope.generateTable = function () { + if (!!attrs.cells) { + tableConfig.dashboardCells = attrs.cells.split(','); + return 'table/table.html'; + } + console.log(' "cells" attribute is undefined'); + }; + }, + template: '
' }; - }) + }]) .directive('adgCell', function () { return { restrict: 'E', link: function (scope, element, attrs) { scope.getTemplateUrl = function () { - if (attrs.type) { + if (!!attrs.type) { return 'table/cell_' + attrs.type + '/cell_' + attrs.type + '.html'; } console.error(' "type" attribute is undefined'); @@ -53,8 +62,4 @@ angular.module('adagios.table', ['ngRoute', }, template: '
' }; - }) - - .run(['readConfig', 'tableConfig', function (readConfig, tableConfig) { - tableConfig.dashboardCells = readConfig.dashboardCells; - }]); + }); diff --git a/app/tactical/tactical.html b/app/tactical/tactical.html index 1c041ee..1595bfe 100644 --- a/app/tactical/tactical.html +++ b/app/tactical/tactical.html @@ -19,6 +19,6 @@ - + From 47c474372306d757b740cd9fdc366b16040de9a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vachon?= Date: Tue, 3 Feb 2015 13:19:49 -0500 Subject: [PATCH 04/12] Refactor : Move modules to components directory --- app/{ => components}/sidebar/_sidebar.scss | 0 app/{ => components}/sidebar/sidebar.html | 0 app/{ => components}/sidebar/sidebar.js | 2 +- app/{ => components}/sidebar/sidebar_test.js | 2 +- .../table/cell_duration/cell_duration.css | 0 .../table/cell_duration/cell_duration.html | 0 app/{ => components}/table/cell_host/cell_host.css | 0 .../table/cell_host/cell_host.html | 0 .../table/cell_last_check/cell_last_check.css | 0 .../table/cell_last_check/cell_last_check.html | 0 .../cell_service_check/cell_service_check.css | 0 .../cell_service_check/cell_service_check.html | 0 app/{ => components}/table/table.html | 0 app/{ => components}/table/table.js | 4 ++-- app/{ => components}/table/table_test.js | 6 +++--- app/{ => components}/tactical/_tactical.scss | 0 .../tactical/current_health/current_health.html | 0 .../tactical/current_health/current_health.js | 2 +- .../tactical/current_health/current_health_test.js | 2 +- .../tactical/status_overview/status_overview.html | 0 .../tactical/status_overview/status_overview.js | 2 +- .../status_overview/status_overview_test.js | 2 +- app/{ => components}/tactical/tactical.html | 0 app/{ => components}/tactical/tactical.js | 2 +- app/{ => components}/tactical/tactical_test.js | 0 .../top_alert_producers/top_alert_producers.html | 0 .../top_alert_producers/top_alert_producers.js | 2 +- .../top_alert_producers_test.js | 2 +- app/{ => components}/topbar/_topbar.scss | 0 app/{ => components}/topbar/topbar.html | 0 app/{ => components}/topbar/topbar.js | 2 +- app/{ => components}/topbar/topbar_test.js | 2 +- app/index.html | 14 +++++++------- 33 files changed, 23 insertions(+), 23 deletions(-) rename app/{ => components}/sidebar/_sidebar.scss (100%) rename app/{ => components}/sidebar/sidebar.html (100%) rename app/{ => components}/sidebar/sidebar.js (82%) rename app/{ => components}/sidebar/sidebar_test.js (91%) rename app/{ => components}/table/cell_duration/cell_duration.css (100%) rename app/{ => components}/table/cell_duration/cell_duration.html (100%) rename app/{ => components}/table/cell_host/cell_host.css (100%) rename app/{ => components}/table/cell_host/cell_host.html (100%) rename app/{ => components}/table/cell_last_check/cell_last_check.css (100%) rename app/{ => components}/table/cell_last_check/cell_last_check.html (100%) rename app/{ => components}/table/cell_service_check/cell_service_check.css (100%) rename app/{ => components}/table/cell_service_check/cell_service_check.html (100%) rename app/{ => components}/table/table.html (100%) rename app/{ => components}/table/table.js (92%) rename app/{ => components}/table/table_test.js (77%) rename app/{ => components}/tactical/_tactical.scss (100%) rename app/{ => components}/tactical/current_health/current_health.html (100%) rename app/{ => components}/tactical/current_health/current_health.js (81%) rename app/{ => components}/tactical/current_health/current_health_test.js (92%) rename app/{ => components}/tactical/status_overview/status_overview.html (100%) rename app/{ => components}/tactical/status_overview/status_overview.js (85%) rename app/{ => components}/tactical/status_overview/status_overview_test.js (93%) rename app/{ => components}/tactical/tactical.html (100%) rename app/{ => components}/tactical/tactical.js (91%) rename app/{ => components}/tactical/tactical_test.js (100%) rename app/{ => components}/tactical/top_alert_producers/top_alert_producers.html (100%) rename app/{ => components}/tactical/top_alert_producers/top_alert_producers.js (87%) rename app/{ => components}/tactical/top_alert_producers/top_alert_producers_test.js (92%) rename app/{ => components}/topbar/_topbar.scss (100%) rename app/{ => components}/topbar/topbar.html (100%) rename app/{ => components}/topbar/topbar.js (85%) rename app/{ => components}/topbar/topbar_test.js (91%) diff --git a/app/sidebar/_sidebar.scss b/app/components/sidebar/_sidebar.scss similarity index 100% rename from app/sidebar/_sidebar.scss rename to app/components/sidebar/_sidebar.scss diff --git a/app/sidebar/sidebar.html b/app/components/sidebar/sidebar.html similarity index 100% rename from app/sidebar/sidebar.html rename to app/components/sidebar/sidebar.html diff --git a/app/sidebar/sidebar.js b/app/components/sidebar/sidebar.js similarity index 82% rename from app/sidebar/sidebar.js rename to app/components/sidebar/sidebar.js index c294687..7ffe7c2 100644 --- a/app/sidebar/sidebar.js +++ b/app/components/sidebar/sidebar.js @@ -9,6 +9,6 @@ angular.module('adagios.sidebar', []) .directive('adgSidebar', function () { return { restrict: 'E', - templateUrl: "sidebar/sidebar.html" + templateUrl: "components/sidebar/sidebar.html" }; }); diff --git a/app/sidebar/sidebar_test.js b/app/components/sidebar/sidebar_test.js similarity index 91% rename from app/sidebar/sidebar_test.js rename to app/components/sidebar/sidebar_test.js index 7947f69..d6046e5 100644 --- a/app/sidebar/sidebar_test.js +++ b/app/components/sidebar/sidebar_test.js @@ -14,7 +14,7 @@ describe('Sidebar module', function () { $controller = _$controller_; $httpBackend = _$httpBackend_; - $httpBackend.expectGET('sidebar/sidebar.html').respond('
  • '); + $httpBackend.expectGET('components/sidebar/sidebar.html').respond('
  • '); })); describe('SideBarCtrl', function () { diff --git a/app/table/cell_duration/cell_duration.css b/app/components/table/cell_duration/cell_duration.css similarity index 100% rename from app/table/cell_duration/cell_duration.css rename to app/components/table/cell_duration/cell_duration.css diff --git a/app/table/cell_duration/cell_duration.html b/app/components/table/cell_duration/cell_duration.html similarity index 100% rename from app/table/cell_duration/cell_duration.html rename to app/components/table/cell_duration/cell_duration.html diff --git a/app/table/cell_host/cell_host.css b/app/components/table/cell_host/cell_host.css similarity index 100% rename from app/table/cell_host/cell_host.css rename to app/components/table/cell_host/cell_host.css diff --git a/app/table/cell_host/cell_host.html b/app/components/table/cell_host/cell_host.html similarity index 100% rename from app/table/cell_host/cell_host.html rename to app/components/table/cell_host/cell_host.html diff --git a/app/table/cell_last_check/cell_last_check.css b/app/components/table/cell_last_check/cell_last_check.css similarity index 100% rename from app/table/cell_last_check/cell_last_check.css rename to app/components/table/cell_last_check/cell_last_check.css diff --git a/app/table/cell_last_check/cell_last_check.html b/app/components/table/cell_last_check/cell_last_check.html similarity index 100% rename from app/table/cell_last_check/cell_last_check.html rename to app/components/table/cell_last_check/cell_last_check.html diff --git a/app/table/cell_service_check/cell_service_check.css b/app/components/table/cell_service_check/cell_service_check.css similarity index 100% rename from app/table/cell_service_check/cell_service_check.css rename to app/components/table/cell_service_check/cell_service_check.css diff --git a/app/table/cell_service_check/cell_service_check.html b/app/components/table/cell_service_check/cell_service_check.html similarity index 100% rename from app/table/cell_service_check/cell_service_check.html rename to app/components/table/cell_service_check/cell_service_check.html diff --git a/app/table/table.html b/app/components/table/table.html similarity index 100% rename from app/table/table.html rename to app/components/table/table.html diff --git a/app/table/table.js b/app/components/table/table.js similarity index 92% rename from app/table/table.js rename to app/components/table/table.js index 60603f4..cf69a49 100644 --- a/app/table/table.js +++ b/app/components/table/table.js @@ -40,7 +40,7 @@ angular.module('adagios.table', ['ngRoute', scope.generateTable = function () { if (!!attrs.cells) { tableConfig.dashboardCells = attrs.cells.split(','); - return 'table/table.html'; + return 'components/table/table.html'; } console.log(' "cells" attribute is undefined'); }; @@ -55,7 +55,7 @@ angular.module('adagios.table', ['ngRoute', link: function (scope, element, attrs) { scope.getTemplateUrl = function () { if (!!attrs.type) { - return 'table/cell_' + attrs.type + '/cell_' + attrs.type + '.html'; + return 'components/table/cell_' + attrs.type + '/cell_' + attrs.type + '.html'; } console.error(' "type" attribute is undefined'); }; diff --git a/app/table/table_test.js b/app/components/table/table_test.js similarity index 77% rename from app/table/table_test.js rename to app/components/table/table_test.js index 98abe84..4688de3 100644 --- a/app/table/table_test.js +++ b/app/components/table/table_test.js @@ -21,7 +21,7 @@ describe('In Table module', function () { angular.forEach(cells, function (cell) { var elem = angular.element(''); $compile(elem)($rootScope); - $httpBackend.expectGET('table/cell_' + cell + '/cell_' + cell + '.html').respond(''); + $httpBackend.expectGET('components/table/cell_' + cell + '/cell_' + cell + '.html').respond(''); $httpBackend.flush(); }); }); @@ -30,9 +30,9 @@ describe('In Table module', function () { describe('adgTable directive', function () { it('should request table/table.html template', function () { - var elem = angular.element(''); + var elem = angular.element(''); $compile(elem)($rootScope); - $httpBackend.expectGET('table/table.html').respond(''); + $httpBackend.expectGET('components/table/table.html').respond(''); $httpBackend.flush(); }); }); diff --git a/app/tactical/_tactical.scss b/app/components/tactical/_tactical.scss similarity index 100% rename from app/tactical/_tactical.scss rename to app/components/tactical/_tactical.scss diff --git a/app/tactical/current_health/current_health.html b/app/components/tactical/current_health/current_health.html similarity index 100% rename from app/tactical/current_health/current_health.html rename to app/components/tactical/current_health/current_health.html diff --git a/app/tactical/current_health/current_health.js b/app/components/tactical/current_health/current_health.js similarity index 81% rename from app/tactical/current_health/current_health.js rename to app/components/tactical/current_health/current_health.js index 240e037..14eca90 100644 --- a/app/tactical/current_health/current_health.js +++ b/app/components/tactical/current_health/current_health.js @@ -10,6 +10,6 @@ angular.module('adagios.tactical.current_health', ['ngRoute', 'ngJustGage' ]) .directive('adgCurrentHealth', function () { return { restrict: 'E', - templateUrl: "tactical/current_health/current_health.html" + templateUrl: 'components/tactical/current_health/current_health.html' }; }); diff --git a/app/tactical/current_health/current_health_test.js b/app/components/tactical/current_health/current_health_test.js similarity index 92% rename from app/tactical/current_health/current_health_test.js rename to app/components/tactical/current_health/current_health_test.js index 32beb89..30b0172 100644 --- a/app/tactical/current_health/current_health_test.js +++ b/app/components/tactical/current_health/current_health_test.js @@ -14,7 +14,7 @@ describe('Current Health tactical submodule', function () { $controller = _$controller_; $httpBackend = _$httpBackend_; - $httpBackend.expectGET('tactical/current_health/current_health.html') + $httpBackend.expectGET('components/tactical/current_health/current_health.html') .respond('Current Health'); })); diff --git a/app/tactical/status_overview/status_overview.html b/app/components/tactical/status_overview/status_overview.html similarity index 100% rename from app/tactical/status_overview/status_overview.html rename to app/components/tactical/status_overview/status_overview.html diff --git a/app/tactical/status_overview/status_overview.js b/app/components/tactical/status_overview/status_overview.js similarity index 85% rename from app/tactical/status_overview/status_overview.js rename to app/components/tactical/status_overview/status_overview.js index d48b4f2..3dc424f 100644 --- a/app/tactical/status_overview/status_overview.js +++ b/app/components/tactical/status_overview/status_overview.js @@ -17,6 +17,6 @@ angular.module('adagios.tactical.status_overview', ['ngRoute' ]) .directive('adgStatusOverview', function () { return { restrict: 'E', - templateUrl: "tactical/status_overview/status_overview.html" + templateUrl: 'components/tactical/status_overview/status_overview.html' }; }); diff --git a/app/tactical/status_overview/status_overview_test.js b/app/components/tactical/status_overview/status_overview_test.js similarity index 93% rename from app/tactical/status_overview/status_overview_test.js rename to app/components/tactical/status_overview/status_overview_test.js index 2641fcb..ce06ef2 100644 --- a/app/tactical/status_overview/status_overview_test.js +++ b/app/components/tactical/status_overview/status_overview_test.js @@ -14,7 +14,7 @@ describe('Status Overview tactical submodule', function () { $controller = _$controller_; $httpBackend = _$httpBackend_; - $httpBackend.expectGET('tactical/status_overview/status_overview.html') + $httpBackend.expectGET('components/tactical/status_overview/status_overview.html') .respond('{{ problems }}'); })); diff --git a/app/tactical/tactical.html b/app/components/tactical/tactical.html similarity index 100% rename from app/tactical/tactical.html rename to app/components/tactical/tactical.html diff --git a/app/tactical/tactical.js b/app/components/tactical/tactical.js similarity index 91% rename from app/tactical/tactical.js rename to app/components/tactical/tactical.js index 419e3b5..55f551d 100644 --- a/app/tactical/tactical.js +++ b/app/components/tactical/tactical.js @@ -9,7 +9,7 @@ angular.module('adagios.tactical', ['ngRoute', .config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/tactical', { - templateUrl: 'tactical/tactical.html', + templateUrl: 'components/tactical/tactical.html', controller: 'TacticalCtrl' }); }]) diff --git a/app/tactical/tactical_test.js b/app/components/tactical/tactical_test.js similarity index 100% rename from app/tactical/tactical_test.js rename to app/components/tactical/tactical_test.js diff --git a/app/tactical/top_alert_producers/top_alert_producers.html b/app/components/tactical/top_alert_producers/top_alert_producers.html similarity index 100% rename from app/tactical/top_alert_producers/top_alert_producers.html rename to app/components/tactical/top_alert_producers/top_alert_producers.html diff --git a/app/tactical/top_alert_producers/top_alert_producers.js b/app/components/tactical/top_alert_producers/top_alert_producers.js similarity index 87% rename from app/tactical/top_alert_producers/top_alert_producers.js rename to app/components/tactical/top_alert_producers/top_alert_producers.js index 6d26609..e65fddd 100644 --- a/app/tactical/top_alert_producers/top_alert_producers.js +++ b/app/components/tactical/top_alert_producers/top_alert_producers.js @@ -21,6 +21,6 @@ angular.module('adagios.tactical.top_alert_producers', ['ngRoute' ]) .directive('adgTopAlertProducers', function () { return { restrict: 'E', - templateUrl: "tactical/top_alert_producers/top_alert_producers.html" + templateUrl: 'components/tactical/top_alert_producers/top_alert_producers.html' }; }); diff --git a/app/tactical/top_alert_producers/top_alert_producers_test.js b/app/components/tactical/top_alert_producers/top_alert_producers_test.js similarity index 92% rename from app/tactical/top_alert_producers/top_alert_producers_test.js rename to app/components/tactical/top_alert_producers/top_alert_producers_test.js index 1b4e9b1..a381cbf 100644 --- a/app/tactical/top_alert_producers/top_alert_producers_test.js +++ b/app/components/tactical/top_alert_producers/top_alert_producers_test.js @@ -14,7 +14,7 @@ describe('Top Alert Producer tactical submodule', function () { $controller = _$controller_; $httpBackend = _$httpBackend_; - $httpBackend.expectGET('tactical/top_alert_producers/top_alert_producers.html') + $httpBackend.expectGET('components/tactical/top_alert_producers/top_alert_producers.html') .respond('{{ problems }}'); })); diff --git a/app/topbar/_topbar.scss b/app/components/topbar/_topbar.scss similarity index 100% rename from app/topbar/_topbar.scss rename to app/components/topbar/_topbar.scss diff --git a/app/topbar/topbar.html b/app/components/topbar/topbar.html similarity index 100% rename from app/topbar/topbar.html rename to app/components/topbar/topbar.html diff --git a/app/topbar/topbar.js b/app/components/topbar/topbar.js similarity index 85% rename from app/topbar/topbar.js rename to app/components/topbar/topbar.js index 0cfe573..7dacb60 100644 --- a/app/topbar/topbar.js +++ b/app/components/topbar/topbar.js @@ -9,6 +9,6 @@ angular.module('adagios.topbar', ['adagios.live']) .directive('adgTopbar', function () { return { restrict: 'E', - templateUrl: "topbar/topbar.html" + templateUrl: 'components/topbar/topbar.html' }; }); diff --git a/app/topbar/topbar_test.js b/app/components/topbar/topbar_test.js similarity index 91% rename from app/topbar/topbar_test.js rename to app/components/topbar/topbar_test.js index 2693879..647cde1 100644 --- a/app/topbar/topbar_test.js +++ b/app/components/topbar/topbar_test.js @@ -14,7 +14,7 @@ describe('Topbar module', function () { $controller = _$controller_; $httpBackend = _$httpBackend_; - $httpBackend.expectGET('topbar/topbar.html').respond('{{ notifications }}'); + $httpBackend.expectGET('components/topbar/topbar.html').respond('{{ notifications }}'); })); describe('TopBarCtrl', function () { diff --git a/app/index.html b/app/index.html index d0919ac..663befd 100644 --- a/app/index.html +++ b/app/index.html @@ -30,16 +30,16 @@ - + - + - - - - + + + + - + From ded33c025f27fd9f0ff47e19fb59c8c435288afe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vachon?= Date: Tue, 3 Feb 2015 14:30:10 -0500 Subject: [PATCH 05/12] Create a view for the dashboard --- app/components/sidebar/sidebar.html | 2 +- app/components/tactical/tactical.html | 3 --- app/components/tactical/tactical.js | 10 +--------- app/dashboard/dashboard.html | 23 +++++++++++++++++++++++ app/dashboard/dashboard.js | 19 +++++++++++++++++++ app/index.html | 3 +++ 6 files changed, 47 insertions(+), 13 deletions(-) create mode 100644 app/dashboard/dashboard.html create mode 100644 app/dashboard/dashboard.js diff --git a/app/components/sidebar/sidebar.html b/app/components/sidebar/sidebar.html index 5522d50..c397797 100644 --- a/app/components/sidebar/sidebar.html +++ b/app/components/sidebar/sidebar.html @@ -6,7 +6,7 @@