Permalink
Browse files

Merge "Replace horizon.utils with an angular one"

  • Loading branch information...
Jenkins authored and openstack-gerrit committed Feb 27, 2014
2 parents ac0ccc8 + 1356315 commit 54e4dab4567ccb4910d754f03e79515bef9b7470
@@ -1,5 +1,11 @@
-var horizonApp = angular.module('hz', ['hz.conf'])
+var horizonApp = angular.module('hz', ['hz.conf', 'hz.utils'])
.config(['$interpolateProvider', function ($interpolateProvider) {
$interpolateProvider.startSymbol('{$');
$interpolateProvider.endSymbol('$}');
+ }])
+ .run(['hzConfig', 'hzUtils', function (hzConfig, hzUtils) {
+ //expose the configuration for horizon legacy variable
+ horizon.conf = hzConfig;
+ horizon.utils = hzUtils;
}]);
+
@@ -0,0 +1,64 @@
+/*global angular*/
+(function () {
+ 'use strict';
+ function utils(hzConfig, $log, $rootScope, $compile) {
+ return {
+ /*
+ Use the log levels of http://docs.angularjs.org/api/ng.$log
+ default to log level.
+ */
+ log: function (msg, lvl) {
+ if (hzConfig.debug) {
+ ($log[lvl] || $log.log)(msg);
+ }
+ },
+ capitalize: function (string) {
+ return string.charAt(0).toUpperCase() + string.slice(1);
+ },
+ /*
+ Adds commas to any integer or numbers within a string for human display.
+
+ EG:
+ horizon.utils.humanizeNumbers(1234); -> "1,234"
+ horizon.utils.humanizeNumbers("My Total: 1234"); -> "My Total: 1,234"
+ */
+ humanizeNumbers: function (number) {
+ return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
+ },
+
+ /*
+ Truncate a string at the desired length. Optionally append an ellipsis
+ to the end of the string.
+
+ EG:
+ horizon.utils.truncate("String that is too long.", 18, true); ->
+ "String that is too…"
+ */
+ truncate: function (string, size, includeEllipsis) {
+ if (string.length > size) {
+ if (includeEllipsis) {
+ return string.substring(0, (size - 3)) + "…";
+ }
+
+ return string.substring(0, size);
+ }
+
+ return string;
+ },
+ loadAngular: function (element) {
+ try {
+ $compile(element)($rootScope);
+ $rootScope.$apply();
+ } catch (err) {}
+ /*
+ Compilation fails when it could not find a directive,
+ fails silently on this, it is an angular behaviour.
+ */
+
+ }
+ };
+ }
+
+ angular.module('hz.utils', ['hz.conf'])
+ .service('hzUtils', ['hzConfig', '$log', '$rootScope', '$compile', utils]);
+}());
@@ -1,57 +0,0 @@
-/* Utilities for common needs which aren't JS builtins. */
-horizon.utils = {
- // Log function which checks for DEBUG and the existence of a console.
- log: function () {
- if (horizon.conf.debug && typeof(console) !== "undefined" && typeof(console.log) !== "undefined") {
- console.log(arguments);
- }
- },
-
- capitalize: function(string) {
- return string.charAt(0).toUpperCase() + string.slice(1);
- },
-
- /*
- Adds commas to any integer or numbers within a string for human display.
-
- EG:
- horizon.utils.humanizeNumbers(1234); -> "1,234"
- horizon.utils.humanizeNumbers("My Total: 1234"); -> "My Total: 1,234"
- */
- humanizeNumbers: function(number) {
- return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
- },
-
- /*
- Truncate a string at the desired length. Optionally append an ellipsis
- to the end of the string.
-
- EG:
- horizon.utils.truncate("String that is too long.", 18, true); ->
- "String that is too…"
- */
- truncate: function(string, size, includeEllipsis) {
- if(string.length > size) {
- if(includeEllipsis) {
- return string.substring(0, (size - 3)) + "…";
- } else {
- return string.substring(0, size);
- }
- } else {
- return string;
- }
- },
-
- loadAngular: function (element) {
- angular.injector(['ng', 'hz']).
- invoke(['$rootScope', '$compile', function ($rootScope, $compile) {
- try {
- $compile(element)($rootScope);
- $rootScope.$apply();
- } catch (err) {}
- /*
- Compilation fails when it could not find a directive, fails silently on this, it is an angular behaviour.
- */
- }]);
- }
-};
@@ -25,11 +25,7 @@
fade_duration: {{ HORIZON_CONFIG.auto_fade_alerts.fade_duration|default:"1500" }},
types: {{ HORIZON_CONFIG.auto_fade_alerts.types|default:"[]"|safe }}
};
-}])
- .run(['hzConfig', function (hzConfig) {
- //expose the configuration for horizon legacy variable
- horizon.conf = hzConfig;
- }]);
+}]);
</script>
{% endcompress %}
@@ -9,6 +9,7 @@
<script src='{{ STATIC_URL }}horizon/js/angular/controllers/dummy.js' type='text/javascript' charset='utf-8'></script>
<script src='{{ STATIC_URL }}horizon/js/angular/directives/forms.js' type='text/javascript' charset='utf-8'></script>
<script src='{{ STATIC_URL }}horizon/js/angular/horizon.conf.js' type='text/javascript' charset='utf-8'></script>
+<script src='{{ STATIC_URL }}horizon/js/angular/services/horizon.utils.js' type='text/javascript' charset='utf-8'></script>
<script src='{{ STATIC_URL }}horizon/lib/jquery/jquery.cookie.js' type='text/javascript' charset="utf-8"></script>
<script src='{{ STATIC_URL }}horizon/lib/jquery/jquery.quicksearch.js' type='text/javascript' charset="utf-8"></script>
@@ -38,7 +39,6 @@
<script src='{{ STATIC_URL }}horizon/js/horizon.tabs.js' type='text/javascript' charset='utf-8'></script>
<script src='{{ STATIC_URL }}horizon/js/horizon.templates.js' type='text/javascript' charset='utf-8'></script>
<script src='{{ STATIC_URL }}horizon/js/horizon.users.js' type='text/javascript' charset='utf-8'></script>
-<script src='{{ STATIC_URL }}horizon/js/horizon.utils.js' type='text/javascript' charset='utf-8'></script>
<script src='{{ STATIC_URL }}horizon/js/horizon.membership.js' type='text/javascript' charset='utf-8'></script>
<script src='{{ STATIC_URL }}horizon/js/horizon.networktopology.js' type='text/javascript' charset='utf-8'></script>
<script src='{{ STATIC_URL }}horizon/js/horizon.d3piechart.js' type='text/javascript' charset='utf-8'></script>
@@ -17,7 +17,7 @@
{% include "horizon/_scripts.html" %}
</head>
- <body>
+ <body ng-app="hz">
<h1 id="qunit-header">Horizon JavaScript Tests</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>

0 comments on commit 54e4dab

Please sign in to comment.