Merge "Replace horizon.utils with an angular one"
This commit is contained in:
commit
54e4dab456
|
@ -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 @@ horizonApp
|
|||
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>
|
||||
|
|
Loading…
Reference in New Issue