Adding a date filter that will format dates in Tower UI

based on the user's locale.

short and long date format filters

adding long date format to appropriate files

in doing a grep for the long date format, i found these files could instead use the londDate filter

Removing short hand abbreviation for dates.

We will now include the year in all our date formats

updating jshint to ignore moment

updating long date filter
This commit is contained in:
Jared Tabor
2015-05-12 10:07:51 -04:00
parent e4a9919c24
commit e41359c8cc
17 changed files with 38 additions and 28 deletions

View File

@@ -23,7 +23,8 @@
"it": false, "it": false,
"expect": false, "expect": false,
"context": false, "context": false,
"describe": false "describe": false,
"moment": false
}, },
"strict": false, "strict": false,
"quotmark": false, "quotmark": false,

View File

@@ -179,7 +179,8 @@ var tower = angular.module('Tower', [
'CreateCustomInventoryHelper', 'CreateCustomInventoryHelper',
'CustomInventoryListDefinition', 'CustomInventoryListDefinition',
'AdhocHelper', 'AdhocHelper',
'features' 'features',
'longDateFilter'
]) ])
.constant('AngularScheduler.partials', urlPrefix + 'lib/angular-scheduler/lib/') .constant('AngularScheduler.partials', urlPrefix + 'lib/angular-scheduler/lib/')

View File

@@ -1,7 +1,9 @@
import sanitizeFilter from 'tower/filters/sanitize/xss-sanitizer.filter'; import sanitizeFilter from 'tower/filters/sanitize/xss-sanitizer.filter';
import capitalizeFilter from 'tower/filters/capitalize.filter'; import capitalizeFilter from 'tower/filters/capitalize.filter';
import longDateFilter from 'tower/filters/dates/long-date.filter';
export { export {
sanitizeFilter, sanitizeFilter,
capitalizeFilter capitalizeFilter,
longDateFilter
}; };

View File

@@ -0,0 +1,6 @@
angular.module('longDateFilter', []).filter('longDate', function() {
return function(input) {
var date = moment(input);
return date.format('l LTS');
};
});

View File

@@ -38,13 +38,13 @@ export default
"started": { "started": {
label: "Started", label: "Started",
type: "date", type: "date",
"filter": "date:'MM/dd/yy HH:mm:ss'", "filter": "longDate",
readonly: true readonly: true
}, },
"finished": { "finished": {
label: "Finished", label: "Finished",
type: "date", type: "date",
"filter": "date:'MM/dd/yy HH:mm:ss'", "filter": "longDate",
readonly: true readonly: true
}, },
"elapsed": { "elapsed": {

View File

@@ -423,10 +423,10 @@ export default
else if (key === "start" || key === "end" || key === "created") { else if (key === "start" || key === "end" || key === "created") {
if (!/Z$/.test(itm)) { if (!/Z$/.test(itm)) {
itm = itm.replace(/\ /,'T') + 'Z'; itm = itm.replace(/\ /,'T') + 'Z';
html += $filter('date')(itm, 'MM/dd/yy HH:mm:ss.sss'); html += $filter('longDate')(itm);
} }
else { else {
html += $filter('date')(itm, 'MM/dd/yy HH:mm:ss'); html += $filter('longDate')(itm);
} }
} }
else if (key === "host_name" && event.host_id) { else if (key === "host_name" && event.host_id) {

View File

@@ -52,7 +52,7 @@ export default
label: 'Finished', label: 'Finished',
noLink: true, noLink: true,
searchable: false, searchable: false,
filter: "date:'MM/dd HH:mm:ss'", filter: "longDate",
columnClass: "col-lg-2 col-md-2 hidden-xs", columnClass: "col-lg-2 col-md-2 hidden-xs",
key: true, key: true,
desc: true desc: true

View File

@@ -9,7 +9,7 @@
export default export default
angular.module('CompletedJobsDefinition', ['sanitizeFilter']) angular.module('CompletedJobsDefinition', ['sanitizeFilter', 'longDateFilter'])
.value( 'CompletedJobsList', { .value( 'CompletedJobsList', {
name: 'completed_jobs', name: 'completed_jobs',
@@ -51,7 +51,7 @@ export default
label: 'Finished', label: 'Finished',
noLink: true, noLink: true,
searchable: false, searchable: false,
filter: "date:'MM/dd HH:mm:ss'", filter: "longDate",
columnClass: "col-lg-2 col-md-2 hidden-xs", columnClass: "col-lg-2 col-md-2 hidden-xs",
key: true, key: true,
desc: true desc: true

View File

@@ -57,7 +57,7 @@ export default
label: 'Started', label: 'Started',
noLink: true, noLink: true,
searchable: false, searchable: false,
filter: "date:'MM/dd HH:mm:ss'", filter: "longDate",
columnClass: "col-lg-2 col-md-2 hidden-xs" columnClass: "col-lg-2 col-md-2 hidden-xs"
}, },
type: { type: {

View File

@@ -12,7 +12,7 @@
export default export default
angular.module('PortalJobsListDefinition', []) angular.module('PortalJobsListDefinition', ['longDateFilter'])
.value( 'PortalJobsList', { .value( 'PortalJobsList', {
name: 'portal_jobs', name: 'portal_jobs',
@@ -58,7 +58,7 @@ export default
label: 'Started', label: 'Started',
noLink: true, noLink: true,
searchable: false, searchable: false,
filter: "date:'MM/dd HH:mm:ss'", filter: "longDate",
columnClass: "col-lg-3 col-md-3 hidden-xs" columnClass: "col-lg-3 col-md-3 hidden-xs"
}, },
name: { name: {

View File

@@ -45,7 +45,7 @@ export default
}, },
last_updated: { last_updated: {
label: 'Last Updated', label: 'Last Updated',
filter: "date:'MM/dd/yy HH:mm:ss'", filter: "longDate",
columnClass: "col-lg-2 col-md-2 hidden-sm hidden-xs", columnClass: "col-lg-2 col-md-2 hidden-sm hidden-xs",
excludeModal: true, excludeModal: true,
searchable: false, searchable: false,

View File

@@ -9,7 +9,7 @@
export default export default
angular.module('ScheduledJobsDefinition', ['sanitizeFilter']) angular.module('ScheduledJobsDefinition', ['sanitizeFilter', 'longDateFilter'])
.value( 'ScheduledJobsList', { .value( 'ScheduledJobsList', {
name: 'schedules', name: 'schedules',
@@ -36,7 +36,7 @@ export default
noLink: true, noLink: true,
searchable: false, searchable: false,
columnClass: "col-lg-2 col-md-2 hidden-xs", columnClass: "col-lg-2 col-md-2 hidden-xs",
filter: "date:'MM/dd HH:mm:ss'", filter: "longDate",
key: true key: true
}, },
type: { type: {

View File

@@ -29,19 +29,19 @@ export default
}, },
dtstart: { dtstart: {
label: 'First Run', label: 'First Run',
filter: "date:'MM/dd/yy HH:mm:ss'", filter: "longDate",
searchable: false, searchable: false,
columnClass: "col-md-2 col-sm-3 hidden-xs" columnClass: "col-md-2 col-sm-3 hidden-xs"
}, },
next_run: { next_run: {
label: 'Next Run', label: 'Next Run',
filter: "date:'MM/dd/yy HH:mm:ss'", filter: "longDate",
searchable: false, searchable: false,
columnClass: "col-md-2 col-sm-3 col-xs-3" columnClass: "col-md-2 col-sm-3 col-xs-3"
}, },
dtend: { dtend: {
label: 'Final Run', label: 'Final Run',
filter: "date:'MM/dd/yy HH:mm:ss'", filter: "longDate",
searchable: false, searchable: false,
columnClass: "col-md-2 col-sm-3 hidden-xs" columnClass: "col-md-2 col-sm-3 hidden-xs"
} }

View File

@@ -29,7 +29,7 @@ export default
desc: true, desc: true,
noLink: true, noLink: true,
searchable: false, searchable: false,
filter: "date:'MM/dd/yy HH:mm:ss'" filter: "longDate",
}, },
user: { user: {
label: 'Initiated by', label: 'Initiated by',

View File

@@ -300,7 +300,7 @@ angular.module('StreamWidget', ['RestServices', 'Utilities', 'StreamListDefiniti
scope = generator.inject(form, { mode: 'edit', modal: true, related: false }); scope = generator.inject(form, { mode: 'edit', modal: true, related: false });
scope.changes = activity.changes_stringified; scope.changes = activity.changes_stringified;
scope.user = ((activity.summary_fields.actor) ? activity.summary_fields.actor.username : 'system') + scope.user = ((activity.summary_fields.actor) ? activity.summary_fields.actor.username : 'system') +
' on ' + $filter('date')(activity.timestamp, "MM/dd/yy HH:mm:ss"); ' on ' + $filter('longDate')(activity.timestamp);
scope.operation = activity.description_nolink; scope.operation = activity.description_nolink;
scope.formModalAction = function () { scope.formModalAction = function () {

View File

@@ -45,8 +45,8 @@
<div class="form-group" ng-show="job_status.started"> <div class="form-group" ng-show="job_status.started">
<label class="col-lg-2 col-md-2 col-sm-2 col-xs-3 control-label">Timing</label> <label class="col-lg-2 col-md-2 col-sm-2 col-xs-3 control-label">Timing</label>
<div class="col-lg-10 col-md-10 col-sm-10 col-xs-9"> <div class="col-lg-10 col-md-10 col-sm-10 col-xs-9">
<div ng-show="job_status.started" id="started-time">Started &nbsp;{{ job_status.started | date:'MM/dd/yy HH:mm:ss' }}</div> <div ng-show="job_status.started" id="started-time">Started &nbsp;{{ job_status.started | longDate }}</div>
<div ng-show="job_status.finished" id="finished-time">Finished &nbsp;{{ job_status.finished | date:'MM/dd/yy HH:mm:ss' }}</div> <div ng-show="job_status.finished" id="finished-time">Finished &nbsp;{{ job_status.finished | longDate }}</div>
<div ng-show="job_status.finished" id="elapsed-time">Elapsed &nbsp;{{ job_status.elapsed }}</div> <div ng-show="job_status.finished" id="elapsed-time">Elapsed &nbsp;{{ job_status.elapsed }}</div>
</div> </div>
</div> </div>

View File

@@ -44,10 +44,10 @@
<div class="col-lg-10 col-md-10 col-sm-10 col-xs-12 <div class="col-lg-10 col-md-10 col-sm-10 col-xs-12
StandardOutDetails-detailContent"> StandardOutDetails-detailContent">
<div ng-show="job.started" id="started-time"> <div ng-show="job.started" id="started-time">
Started &nbsp;{{ job.started | date:'MM/dd/yy HH:mm:ss' }} Started &nbsp;{{ job.started | longDate }}
</div> </div>
<div ng-show="job.finished" id="finished-time"> <div ng-show="job.finished" id="finished-time">
Finished &nbsp;{{ job.finished | date:'MM/dd/yy HH:mm:ss' }} Finished &nbsp;{{ job.finished | longDate }}
</div> </div>
<div ng-show="job.finished" id="elapsed-time"> <div ng-show="job.finished" id="elapsed-time">
Elapsed &nbsp;{{ job.elapsed }} seconds Elapsed &nbsp;{{ job.elapsed }} seconds