Commit 30bbab28 authored by Fatih Acet's avatar Fatih Acet

Merge branch...

Merge branch '29295-time-tracked-info-are-different-during-right-side-open-and-collapsed-2' into 'master'

Fix time tracking info when the sidebar is collapsed

Closes #29295

See merge request gitlab-org/gitlab!16830
parents 11472efd b65a3fe1
...@@ -536,13 +536,6 @@ export const stringifyTime = (timeObject, fullNameFormat = false) => { ...@@ -536,13 +536,6 @@ export const stringifyTime = (timeObject, fullNameFormat = false) => {
return reducedTime.length ? reducedTime : '0m'; return reducedTime.length ? reducedTime : '0m';
}; };
/**
* Accepts a time string of any size (e.g. '1w 2d 3h 5m' or '1w 2d') and returns
* the first non-zero unit/value pair.
*/
export const abbreviateTime = timeStr =>
timeStr.split(' ').filter(unitStr => unitStr.charAt(0) !== '0')[0];
/** /**
* Calculates the milliseconds between now and a given date string. * Calculates the milliseconds between now and a given date string.
* The result cannot become negative. * The result cannot become negative.
......
<script> <script>
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import { abbreviateTime } from '~/lib/utils/datetime_utility';
import icon from '~/vue_shared/components/icon.vue'; import icon from '~/vue_shared/components/icon.vue';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
...@@ -41,12 +40,6 @@ export default { ...@@ -41,12 +40,6 @@ export default {
}, },
}, },
computed: { computed: {
timeSpent() {
return this.abbreviateTime(this.timeSpentHumanReadable);
},
timeEstimate() {
return this.abbreviateTime(this.timeEstimateHumanReadable);
},
divClass() { divClass() {
if (this.showComparisonState) { if (this.showComparisonState) {
return 'compare'; return 'compare';
...@@ -73,11 +66,11 @@ export default { ...@@ -73,11 +66,11 @@ export default {
}, },
text() { text() {
if (this.showComparisonState) { if (this.showComparisonState) {
return `${this.timeSpent} / ${this.timeEstimate}`; return `${this.timeSpentHumanReadable} / ${this.timeEstimateHumanReadable}`;
} else if (this.showEstimateOnlyState) { } else if (this.showEstimateOnlyState) {
return `-- / ${this.timeEstimate}`; return `-- / ${this.timeEstimateHumanReadable}`;
} else if (this.showSpentOnlyState) { } else if (this.showSpentOnlyState) {
return `${this.timeSpent} / --`; return `${this.timeSpentHumanReadable} / --`;
} else if (this.showNoTimeTrackingState) { } else if (this.showNoTimeTrackingState) {
return __('None'); return __('None');
} }
...@@ -100,11 +93,6 @@ export default { ...@@ -100,11 +93,6 @@ export default {
return this.showNoTimeTrackingState ? __('Time tracking') : this.timeTrackedTooltipText; return this.showNoTimeTrackingState ? __('Time tracking') : this.timeTrackedTooltipText;
}, },
}, },
methods: {
abbreviateTime(timeStr) {
return abbreviateTime(timeStr);
},
},
}; };
</script> </script>
......
---
title: Fix time tracking info when the sidebar is collapsed
merge_request:
author:
type: fixed
...@@ -388,20 +388,6 @@ describe('prettyTime methods', () => { ...@@ -388,20 +388,6 @@ describe('prettyTime methods', () => {
expect(datetimeUtility.stringifyTime(timeObject, true)).toEqual('1 week 1 hour'); expect(datetimeUtility.stringifyTime(timeObject, true)).toEqual('1 week 1 hour');
}); });
}); });
describe('abbreviateTime', () => {
it('should abbreviate stringified times for weeks', () => {
const fullTimeString = '1w 3d 4h 5m';
expect(datetimeUtility.abbreviateTime(fullTimeString)).toBe('1w');
});
it('should abbreviate stringified times for non-weeks', () => {
const fullTimeString = '0w 3d 4h 5m';
expect(datetimeUtility.abbreviateTime(fullTimeString)).toBe('3d');
});
});
}); });
describe('calculateRemainingMilliseconds', () => { describe('calculateRemainingMilliseconds', () => {
......
...@@ -83,8 +83,8 @@ describe('Issuable Time Tracker', () => { ...@@ -83,8 +83,8 @@ describe('Issuable Time Tracker', () => {
initTimeTrackingComponent({ initTimeTrackingComponent({
timeEstimate: 100000, // 1d 3h timeEstimate: 100000, // 1d 3h
timeSpent: 5000, // 1h 23m timeSpent: 5000, // 1h 23m
timeEstimateHumanReadable: '', timeEstimateHumanReadable: '1d 3h',
timeSpentHumanReadable: '', timeSpentHumanReadable: '1h 23m',
}); });
}); });
...@@ -98,6 +98,16 @@ describe('Issuable Time Tracker', () => { ...@@ -98,6 +98,16 @@ describe('Issuable Time Tracker', () => {
}); });
}); });
it('should show full times when the sidebar is collapsed', done => {
Vue.nextTick(() => {
const timeTrackingText = vm.$el.querySelector('.time-tracking-collapsed-summary span')
.innerText;
expect(timeTrackingText).toBe('1h 23m / 1d 3h');
done();
});
});
describe('Remaining meter', () => { describe('Remaining meter', () => {
it('should display the remaining meter with the correct width', done => { it('should display the remaining meter with the correct width', done => {
Vue.nextTick(() => { Vue.nextTick(() => {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment