From 6429a681be99f5f86a25f39fd2a3510c8e01243f Mon Sep 17 00:00:00 2001 From: Gunther Brunner Date: Tue, 27 May 2014 19:03:53 +0900 Subject: [PATCH] Refactored basic mode to a directive. --- .../stf/basic-mode/basic-mode-directive.js | 15 ++++++++++++ .../stf/basic-mode/basic-mode-spec.js | 23 +++++++++++++++++++ res/app/components/stf/basic-mode/index.js | 4 ++++ res/app/layout/index.js | 1 + res/app/layout/layout-controller.js | 9 +------- res/app/views/index.jade | 2 +- 6 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 res/app/components/stf/basic-mode/basic-mode-directive.js create mode 100644 res/app/components/stf/basic-mode/basic-mode-spec.js create mode 100644 res/app/components/stf/basic-mode/index.js diff --git a/res/app/components/stf/basic-mode/basic-mode-directive.js b/res/app/components/stf/basic-mode/basic-mode-directive.js new file mode 100644 index 00000000..34cf29e5 --- /dev/null +++ b/res/app/components/stf/basic-mode/basic-mode-directive.js @@ -0,0 +1,15 @@ +module.exports = function basicModeDirective($rootScope, BrowserInfo) { + return { + restrict: 'AE', + link: function (scope, element, attrs) { + $rootScope.basicMode = !!BrowserInfo.small // TODO: use .mobile + if ($rootScope.basicMode) { + element.addClass('basic-mode') + } + + if (BrowserInfo.mobile) { + element.addClass('mobile') + } + } + } +} diff --git a/res/app/components/stf/basic-mode/basic-mode-spec.js b/res/app/components/stf/basic-mode/basic-mode-spec.js new file mode 100644 index 00000000..7e104919 --- /dev/null +++ b/res/app/components/stf/basic-mode/basic-mode-spec.js @@ -0,0 +1,23 @@ +describe('basicMode', function () { + + beforeEach(module('stf.basic-mode')); + + var scope, compile; + + beforeEach(inject(function ($rootScope, $compile) { + scope = $rootScope.$new(); + compile = $compile; + })); + + it('should ...', function () { + + /* + To test your directive, you need to create some html that would use your directive, + send that through compile() then compare the results. + + var element = compile('
hi
')(scope); + expect(element.text()).toBe('hello, world'); + */ + + }); +}); \ No newline at end of file diff --git a/res/app/components/stf/basic-mode/index.js b/res/app/components/stf/basic-mode/index.js new file mode 100644 index 00000000..ada1adee --- /dev/null +++ b/res/app/components/stf/basic-mode/index.js @@ -0,0 +1,4 @@ +module.exports = angular.module('stf.basic-mode', [ + +]) + .directive('basicMode', require('./basic-mode-directive')) diff --git a/res/app/layout/index.js b/res/app/layout/index.js index 553f4d4d..e70f8e09 100644 --- a/res/app/layout/index.js +++ b/res/app/layout/index.js @@ -24,6 +24,7 @@ require('angular-loading-bar/src/loading-bar.js') require('angular-loading-bar/src/loading-bar.css') module.exports = angular.module('layout', [ + require('stf/basic-mode').name, 'ui.bootstrap', 'fa.directive.borderLayout', 'angular-loading-bar', diff --git a/res/app/layout/layout-controller.js b/res/app/layout/layout-controller.js index 329051f0..59a15943 100644 --- a/res/app/layout/layout-controller.js +++ b/res/app/layout/layout-controller.js @@ -1,10 +1,3 @@ -module.exports = function LayoutCtrl(FatalMessageService, BrowserInfo, $rootScope) { - - $rootScope.basicMode = false - if (BrowserInfo.small) { - $rootScope.basicMode = true - } else { - $rootScope.basicMode = false - } +module.exports = function LayoutCtrl(FatalMessageService) { } diff --git a/res/app/views/index.jade b/res/app/views/index.jade index f9841046..2c109388 100644 --- a/res/app/views/index.jade +++ b/res/app/views/index.jade @@ -5,7 +5,7 @@ html meta(name='viewport', content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui') title STF body(ng-app='app', ng-cloak).bg-1.fill-height - div(ng-controller='LayoutCtrl').fill-height + div(ng-controller='LayoutCtrl', basic-mode).fill-height div(pane).fill-height .pane-top-bar(pane, pane-anchor='north', pane-size='46px', pane-min='46px', pane-max='46px', pane-handle='') div(ng-include='"menu.jade"')