From ed592f0597dfec4d24f1a366a6897c00f26a6169 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Sun, 17 Apr 2016 23:57:56 -0400 Subject: [PATCH] Add application version to footer (#335) * Implement ManifestBind directive This directive is useful to bind the contents of an element to a property in the `package.json` manifest. Signed-off-by: Juan Cruz Viotti * Add application version to footer Fixes: https://github.com/resin-io/etcher/issues/292 Signed-off-by: Juan Cruz Viotti --- build/css/main.css | 7 +- lib/browser/app.js | 3 +- .../manifest-bind/directives/manifest-bind.js | 50 +++++++++++++++ .../utils/manifest-bind/manifest-bind.js | 32 ++++++++++ lib/index.html | 2 + lib/scss/components/_caption.scss | 1 - lib/scss/main.scss | 6 ++ screenshot.png | Bin 124047 -> 126356 bytes tests/browser/utils/manifest-bind.spec.js | 60 ++++++++++++++++++ 9 files changed, 157 insertions(+), 4 deletions(-) create mode 100644 lib/browser/utils/manifest-bind/directives/manifest-bind.js create mode 100644 lib/browser/utils/manifest-bind/manifest-bind.js create mode 100644 tests/browser/utils/manifest-bind.spec.js diff --git a/build/css/main.css b/build/css/main.css index df0a136a..f9fa0c2e 100644 --- a/build/css/main.css +++ b/build/css/main.css @@ -6000,8 +6000,7 @@ html { .caption, .icon-caption { font-weight: bold; font-size: 11px; - margin-bottom: 0; - text-transform: uppercase; } + margin-bottom: 0; } /* * Copyright 2016 Resin.io @@ -6367,6 +6366,10 @@ body { .section-footer [os-open-external]:hover { color: #85898c; text-decoration: underline; } + .section-footer .footer-right { + position: absolute; + right: 0; + top: 50%; } .step-border, .step-border-left, .step-border-right { height: 2px; diff --git a/lib/browser/app.js b/lib/browser/app.js index 6bed737b..a8679b3a 100644 --- a/lib/browser/app.js +++ b/lib/browser/app.js @@ -55,7 +55,8 @@ const app = angular.module('Etcher', [ // Utils require('./browser/utils/if-state/if-state'), require('./browser/utils/notifier/notifier'), - require('./browser/utils/path/path') + require('./browser/utils/path/path'), + require('./browser/utils/manifest-bind/manifest-bind') ]); app.run(function(AnalyticsService) { diff --git a/lib/browser/utils/manifest-bind/directives/manifest-bind.js b/lib/browser/utils/manifest-bind/directives/manifest-bind.js new file mode 100644 index 00000000..6326c458 --- /dev/null +++ b/lib/browser/utils/manifest-bind/directives/manifest-bind.js @@ -0,0 +1,50 @@ +/* + * Copyright 2016 Resin.io + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +'use strict'; + +const _ = require('lodash'); +const packageJSON = require('../../../../../package.json'); + +/** + * @summary ManifestBind directive + * @function + * @public + * + * @description + * This directive provides an attribute to bind the current + * element value to a property in `package.json`. + * + * @returns {Object} directive + * + * @example + * + */ +module.exports = function() { + return { + restrict: 'A', + scope: false, + link: function(scope, element, attributes) { + const value = _.get(packageJSON, attributes.manifestBind); + + if (!value) { + throw new Error('ManifestBind: Unknown property `' + attributes.manifestBind + '`'); + } + + element.html(value); + } + }; +}; diff --git a/lib/browser/utils/manifest-bind/manifest-bind.js b/lib/browser/utils/manifest-bind/manifest-bind.js new file mode 100644 index 00000000..9c097c81 --- /dev/null +++ b/lib/browser/utils/manifest-bind/manifest-bind.js @@ -0,0 +1,32 @@ +/* + * Copyright 2016 Resin.io + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +'use strict'; + +/** + * @module Etcher.Utils.ManifestBind + * + * The purpose of this module is to provide an attribute + * directive to bind the current element to a property + * in the application's `package.json` manifest. + */ + +const angular = require('angular'); +const MODULE_NAME = 'Etcher.Utils.ManifestBind'; +const ManifestBind = angular.module(MODULE_NAME, []); +ManifestBind.directive('manifestBind', require('./directives/manifest-bind')); + +module.exports = MODULE_NAME; diff --git a/lib/index.html b/lib/index.html index 9fdf4d24..163d23b9 100644 --- a/lib/index.html +++ b/lib/index.html @@ -48,6 +48,8 @@ width="79px" height="23px" os-open-external="https://resin.io"> + + diff --git a/lib/scss/components/_caption.scss b/lib/scss/components/_caption.scss index 8f52144d..7f055ef4 100644 --- a/lib/scss/components/_caption.scss +++ b/lib/scss/components/_caption.scss @@ -18,5 +18,4 @@ font-weight: bold; font-size: 11px; margin-bottom: 0; - text-transform: uppercase; } diff --git a/lib/scss/main.scss b/lib/scss/main.scss index eb16454b..b43c2134 100644 --- a/lib/scss/main.scss +++ b/lib/scss/main.scss @@ -107,6 +107,12 @@ body { color: lighten($color-disabled, 5%); text-decoration: underline; } + + .footer-right { + position: absolute; + right: 0; + top: 50%; + } } .step-border { diff --git a/screenshot.png b/screenshot.png index 3d985bf76e32650d3cc5344219930a9cd4621cdd..5d9b422eb54764185e7b7109d9b1205ef130524a 100644 GIT binary patch delta 43228 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 delta 34903 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

)W_@r^yON*`brMjq6=zhO!MetV&8&p)}0_5 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 diff --git a/tests/browser/utils/manifest-bind.spec.js b/tests/browser/utils/manifest-bind.spec.js new file mode 100644 index 00000000..80eeeca3 --- /dev/null +++ b/tests/browser/utils/manifest-bind.spec.js @@ -0,0 +1,60 @@ +/* + * Copyright 2016 Resin.io + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +'use strict'; + +const m = require('mochainon'); +const angular = require('angular'); +const packageJSON = require('../../../package.json'); +require('angular-mocks'); + +describe('Browser: ManifestBind', function() { + + beforeEach(angular.mock.module( + require('../../../lib/browser/utils/manifest-bind/manifest-bind') + )); + + let $compile; + let $rootScope; + + beforeEach(angular.mock.inject(function(_$compile_, _$rootScope_) { + $compile = _$compile_; + $rootScope = _$rootScope_; + })); + + describe('manifestBind', function() { + + it('should bind to top level properties', function() { + const element = $compile('')($rootScope); + $rootScope.$digest(); + m.chai.expect(element.html()).to.equal(packageJSON.version); + }); + + it('should bind to nested properties', function() { + const element = $compile('')($rootScope); + $rootScope.$digest(); + m.chai.expect(element.html()).to.equal(packageJSON.repository.type); + }); + + it('should throw if the property does not exist', function() { + m.chai.expect(function() { + $compile('')($rootScope); + }).to.throw('ManifestBind: Unknown property `foo.bar`'); + }); + + }); + +});