summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/lib/utils/datetime_utility.js
diff options
context:
space:
mode:
authorJon Kolb <kolbyjack@gmail.com>2019-06-11 17:48:42 +0800
committerHeinrich Lee Yu <heinrich@gitlab.com>2019-06-25 09:31:23 +0800
commit4e283ee706b11fd3b918230976addc9a70603ce6 (patch)
tree17c39d55c76ce24380f4805c733c823b63222d85 /app/assets/javascripts/lib/utils/datetime_utility.js
parentdb9783f7826ed5ba58a8941dd80a1cd7dda517b0 (diff)
downloadgitlab-ce-4e283ee706b11fd3b918230976addc9a70603ce6.tar.gz
Limit time tracking values to hours
Adds an instance setting to limit display of time tracking values to hours only
Diffstat (limited to 'app/assets/javascripts/lib/utils/datetime_utility.js')
-rw-r--r--app/assets/javascripts/lib/utils/datetime_utility.js9
1 files changed, 8 insertions, 1 deletions
diff --git a/app/assets/javascripts/lib/utils/datetime_utility.js b/app/assets/javascripts/lib/utils/datetime_utility.js
index d521c462ad8..f8398f2f780 100644
--- a/app/assets/javascripts/lib/utils/datetime_utility.js
+++ b/app/assets/javascripts/lib/utils/datetime_utility.js
@@ -479,7 +479,10 @@ export const pikadayToString = date => {
* Seconds can be negative or positive, zero or non-zero. Can be configured for any day
* or week length.
*/
-export const parseSeconds = (seconds, { daysPerWeek = 5, hoursPerDay = 8 } = {}) => {
+export const parseSeconds = (
+ seconds,
+ { daysPerWeek = 5, hoursPerDay = 8, limitToHours = false } = {},
+) => {
const DAYS_PER_WEEK = daysPerWeek;
const HOURS_PER_DAY = hoursPerDay;
const MINUTES_PER_HOUR = 60;
@@ -496,6 +499,10 @@ export const parseSeconds = (seconds, { daysPerWeek = 5, hoursPerDay = 8 } = {})
let unorderedMinutes = Math.abs(seconds / MINUTES_PER_HOUR);
return _.mapObject(timePeriodConstraints, minutesPerPeriod => {
+ if (limitToHours && minutesPerPeriod > MINUTES_PER_HOUR) {
+ return 0;
+ }
+
const periodCount = Math.floor(unorderedMinutes / minutesPerPeriod);
unorderedMinutes -= periodCount * minutesPerPeriod;