Merge pull request #256 from joefiorini/moment-fixes

Make usage of moment consistent throughout app
This commit is contained in:
Joe Fiorini
2015-06-01 17:18:01 -04:00
12 changed files with 55 additions and 19 deletions

View File

@@ -37,6 +37,7 @@ import setupMenu from 'tower/setup-menu/main';
import mainMenu from 'tower/main-menu/main'; import mainMenu from 'tower/main-menu/main';
import browserData from 'tower/browser-data/main'; import browserData from 'tower/browser-data/main';
import dashboard from 'tower/dashboard/main'; import dashboard from 'tower/dashboard/main';
import moment from 'tower/shared/moment/main';
import {JobDetailController} from 'tower/controllers/JobDetail'; import {JobDetailController} from 'tower/controllers/JobDetail';
import {JobStdoutController} from 'tower/controllers/JobStdout'; import {JobStdoutController} from 'tower/controllers/JobStdout';
@@ -82,6 +83,7 @@ var tower = angular.module('Tower', [
setupMenu.name, setupMenu.name,
mainMenu.name, mainMenu.name,
dashboard.name, dashboard.name,
moment.name,
'AuthService', 'AuthService',
'Utilities', 'Utilities',
'LicenseHelper', 'LicenseHelper',

View File

@@ -1,6 +1,7 @@
/* jshint unused: vars */ /* jshint unused: vars */
export default export default
[function JobsList() { ['moment',
function JobsList(moment) {
return { return {
restrict: 'E', restrict: 'E',
link: link, link: link,

View File

@@ -4,16 +4,15 @@
* All Rights Reserved * All Rights Reserved
*************************************************/ *************************************************/
angular.module('longDateFilter', []).filter('longDate', function() { function longDateFilter(moment, input) {
return function(input) { var date = moment(input);
// navigator.language is available in all modern browsers.
// however navigator.languages is a new technology that
// lists the user's preferred languages, the first in the array
// being the user's top choice. navigator.languages is currently
// comptabile with chrome>v32, ffox>32, but not IE/Safari
var lang = navigator.languages ? navigator.languages[0] : (navigator.language || navigator.userLanguage),
date = moment(input).locale(lang);
return date.format('l LTS'); return date.format('l LTS');
}; }
});
angular.module('longDateFilter', [])
.filter('longDate',
[ 'moment',
function(moment) {
return _.partial(longDateFilter, moment);
}
]);

View File

@@ -0,0 +1,9 @@
import newMoment from './moment';
export default
angular.module('moment', ['angularMoment'])
.config(function() {
// Remove the global variable for moment
delete window.moment;
})
.constant('moment', newMoment);

View File

@@ -0,0 +1,20 @@
var originalMoment = window.moment;
function moment() {
// navigator.language is available in all modern browsers.
// however navigator.languages is a new technology that
// lists the user's preferred languages, the first in the array
// being the user's top choice. navigator.languages is currently
// comptabile with chrome>v32, ffox>32, but not IE/Safari
var lang = navigator.languages ?
navigator.languages[0] :
(navigator.language || navigator.userLanguage);
originalMoment.locale(lang);
return originalMoment.apply(this, arguments);
}
_.merge(moment, originalMoment);
export default moment;

View File

@@ -7,8 +7,8 @@
/* jshint unused: vars */ /* jshint unused: vars */
export default export default
[ '$rootScope', [ 'moment',
function() { function(moment) {
return { return {
restrict: 'E', restrict: 'E',
scope: { scope: {

View File

@@ -16,8 +16,7 @@ import datePicker from './date-picker/main';
export default export default
angular.module('systemTracking', angular.module('systemTracking',
[ 'angularMoment', [ utilities.name,
utilities.name,
shared.name, shared.name,
datePicker.name datePicker.name
]) ])

View File

@@ -4,6 +4,8 @@
* All Rights Reserved * All Rights Reserved
*************************************************/ *************************************************/
import moment from 'tower/shared/moment/moment';
export function searchDateRange(dateString) { export function searchDateRange(dateString) {
var date; var date;

View File

@@ -6,7 +6,8 @@
export default export default
[ 'amDateFormatFilter', [ 'amDateFormatFilter',
function(dateFormat) { 'moment',
function(dateFormat, moment) {
return function(string, format) { return function(string, format) {
if (moment.isMoment(string)) { if (moment.isMoment(string)) {
return dateFormat(string, format); return dateFormat(string, format);

View File

@@ -15,7 +15,7 @@ function controller($rootScope,
initialFactData, initialFactData,
getDataForComparison, getDataForComparison,
waitIndicator, waitIndicator,
moment,
_) { _) {
// var inventoryId = $routeParams.id; // var inventoryId = $routeParams.id;
var hostIds = $routeParams.hosts.split(','); var hostIds = $routeParams.hosts.split(',');
@@ -201,6 +201,7 @@ export default
'factScanData', 'factScanData',
'getDataForComparison', 'getDataForComparison',
'Wait', 'Wait',
'moment',
'lodashAsPromised', 'lodashAsPromised',
controller controller
]; ];

View File

@@ -5,6 +5,7 @@
*************************************************/ *************************************************/
import {searchDateRange} from './search-date-range'; import {searchDateRange} from './search-date-range';
import moment from 'tower/shared/moment/moment';
export default { export default {
name: 'systemTracking', name: 'systemTracking',

View File

@@ -1,5 +1,6 @@
import systemTracking from 'tower/system-tracking/main'; import systemTracking from 'tower/system-tracking/main';
import {describeModule} from '../describe-module'; import {describeModule} from '../describe-module';
import moment from 'tower/shared/moment/moment';
describeModule(systemTracking.name) describeModule(systemTracking.name)
.testService('factScanDataService', function(test, restStub) { .testService('factScanDataService', function(test, restStub) {