diff options
Diffstat (limited to 'vid-app-common/src/main/webapp/app/vid/scripts/modals/change-management-manual-tasks-controller/change-management-manual-tasks.controller.js')
-rw-r--r-- | vid-app-common/src/main/webapp/app/vid/scripts/modals/change-management-manual-tasks-controller/change-management-manual-tasks.controller.js | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/modals/change-management-manual-tasks-controller/change-management-manual-tasks.controller.js b/vid-app-common/src/main/webapp/app/vid/scripts/modals/change-management-manual-tasks-controller/change-management-manual-tasks.controller.js index bfe733023..38096a581 100644 --- a/vid-app-common/src/main/webapp/app/vid/scripts/modals/change-management-manual-tasks-controller/change-management-manual-tasks.controller.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/modals/change-management-manual-tasks-controller/change-management-manual-tasks.controller.js @@ -22,9 +22,9 @@ 'use strict'; appDS2.controller("changeManagementManualTasksController", ["$uibModalInstance", "jobInfo", "MsoService", "COMPONENT", - "$log", changeManagementManualTasksController]); + "$log", "moment", changeManagementManualTasksController]); - function changeManagementManualTasksController($uibModalInstance, jobInfo, MsoService, COMPONENT, $log) { + function changeManagementManualTasksController($uibModalInstance, jobInfo, MsoService, COMPONENT, $log, moment) { var vm = this; vm.manualTasks = []; @@ -43,10 +43,12 @@ }; function loadAvailableTasks(requestId) { - MsoService.getManualTasks(requestId) + return MsoService.getManualTasks(requestId) .then(function(response) { vm.task = response.data[0]; vm.manualTasks = vm.task && vm.task.validResponses; + vm.description = vm.task && vm.task.description || null; + vm.timeout = vm.task && vm.task.timeout || null; }) .catch(function(error) { $log.error(error); @@ -73,6 +75,37 @@ return vm.manualTasks.includes(task); }; + vm.timeoutHumanized = function() { + // moment.duration() can parse ISO 8601 time-intervals, + // e.g. "P1Y2M10DT2H30M" + // https://en.wikipedia.org/wiki/ISO_8601#Time_intervals + let duration = moment.duration(vm.timeout); + + return isDurationValid() + ? durationAsHoursAndMinutes() + ' hours (' + vm.timeout + ')' + : vm.timeout; + + + function isDurationValid() { + return duration.isValid() && duration.toISOString() !== 'P0D'; + } + + function durationAsHoursAndMinutes() { + return '' + + Math.floor(duration.asHours()) + + ':' + + withLeadingZero(duration.minutes()); + } + + function withLeadingZero(x) { + return ("00" + Math.round(x)).slice(-2); + } + }; + + vm.__test_only__ = { + loadAvailableTasks: loadAvailableTasks, + }; + init(); } })(); |