Move IssuableTimeTracker vue component
This commit is contained in:
parent
5edd94ae75
commit
525d58303b
4 changed files with 85 additions and 75 deletions
|
@ -2,7 +2,7 @@ import _ from 'underscore';
|
|||
|
||||
import '~/smart_interval';
|
||||
|
||||
import timeTracker from './time_tracker';
|
||||
import IssuableTimeTracker from './time_tracker.vue';
|
||||
|
||||
import Store from '../../stores/sidebar_store';
|
||||
import Mediator from '../../sidebar_mediator';
|
||||
|
@ -16,7 +16,7 @@ export default {
|
|||
};
|
||||
},
|
||||
components: {
|
||||
'issuable-time-tracker': timeTracker,
|
||||
IssuableTimeTracker,
|
||||
},
|
||||
methods: {
|
||||
listenForQuickActions() {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<script>
|
||||
import timeTrackingHelpState from './help_state';
|
||||
import timeTrackingCollapsedState from './collapsed_state';
|
||||
import timeTrackingSpentOnlyPane from './spent_only_pane';
|
||||
|
@ -8,7 +9,15 @@ import timeTrackingComparisonPane from './comparison_pane';
|
|||
import eventHub from '../../event_hub';
|
||||
|
||||
export default {
|
||||
name: 'issuable-time-tracker',
|
||||
name: 'IssuableTimeTracker',
|
||||
components: {
|
||||
'time-tracking-collapsed-state': timeTrackingCollapsedState,
|
||||
'time-tracking-estimate-only-pane': timeTrackingEstimateOnlyPane,
|
||||
'time-tracking-spent-only-pane': timeTrackingSpentOnlyPane,
|
||||
'time-tracking-no-tracking-pane': timeTrackingNoTrackingPane,
|
||||
'time-tracking-comparison-pane': timeTrackingComparisonPane,
|
||||
'time-tracking-help-state': timeTrackingHelpState,
|
||||
},
|
||||
props: {
|
||||
time_estimate: {
|
||||
type: Number,
|
||||
|
@ -38,14 +47,6 @@ export default {
|
|||
showHelp: false,
|
||||
};
|
||||
},
|
||||
components: {
|
||||
'time-tracking-collapsed-state': timeTrackingCollapsedState,
|
||||
'time-tracking-estimate-only-pane': timeTrackingEstimateOnlyPane,
|
||||
'time-tracking-spent-only-pane': timeTrackingSpentOnlyPane,
|
||||
'time-tracking-no-tracking-pane': timeTrackingNoTrackingPane,
|
||||
'time-tracking-comparison-pane': timeTrackingComparisonPane,
|
||||
'time-tracking-help-state': timeTrackingHelpState,
|
||||
},
|
||||
computed: {
|
||||
timeSpent() {
|
||||
return this.time_spent;
|
||||
|
@ -81,6 +82,9 @@ export default {
|
|||
return !!this.showHelp;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
eventHub.$on('timeTracker:updateData', this.update);
|
||||
},
|
||||
methods: {
|
||||
toggleHelpState(show) {
|
||||
this.showHelp = show;
|
||||
|
@ -92,72 +96,73 @@ export default {
|
|||
this.human_time_spent = data.human_time_spent;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
eventHub.$on('timeTracker:updateData', this.update);
|
||||
},
|
||||
template: `
|
||||
<div
|
||||
class="time_tracker time-tracking-component-wrap"
|
||||
v-cloak
|
||||
>
|
||||
<time-tracking-collapsed-state
|
||||
:show-comparison-state="showComparisonState"
|
||||
:show-no-time-tracking-state="showNoTimeTrackingState"
|
||||
:show-help-state="showHelpState"
|
||||
:show-spent-only-state="showSpentOnlyState"
|
||||
:show-estimate-only-state="showEstimateOnlyState"
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
class="time_tracker time-tracking-component-wrap"
|
||||
v-cloak
|
||||
>
|
||||
<time-tracking-collapsed-state
|
||||
:show-comparison-state="showComparisonState"
|
||||
:show-no-time-tracking-state="showNoTimeTrackingState"
|
||||
:show-help-state="showHelpState"
|
||||
:show-spent-only-state="showSpentOnlyState"
|
||||
:show-estimate-only-state="showEstimateOnlyState"
|
||||
:time-spent-human-readable="timeSpentHumanReadable"
|
||||
:time-estimate-human-readable="timeEstimateHumanReadable"
|
||||
/>
|
||||
<div class="title hide-collapsed">
|
||||
{{ __('Time tracking') }}
|
||||
<div
|
||||
class="help-button pull-right"
|
||||
v-if="!showHelpState"
|
||||
@click="toggleHelpState(true)"
|
||||
>
|
||||
<i
|
||||
class="fa fa-question-circle"
|
||||
aria-hidden="true"
|
||||
>
|
||||
</i>
|
||||
</div>
|
||||
<div
|
||||
class="close-help-button pull-right"
|
||||
v-if="showHelpState"
|
||||
@click="toggleHelpState(false)"
|
||||
>
|
||||
<i
|
||||
class="fa fa-close"
|
||||
aria-hidden="true"
|
||||
>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="time-tracking-content hide-collapsed">
|
||||
<time-tracking-estimate-only-pane
|
||||
v-if="showEstimateOnlyState"
|
||||
:time-estimate-human-readable="timeEstimateHumanReadable"
|
||||
/>
|
||||
<time-tracking-spent-only-pane
|
||||
v-if="showSpentOnlyState"
|
||||
:time-spent-human-readable="timeSpentHumanReadable"
|
||||
/>
|
||||
<time-tracking-no-tracking-pane
|
||||
v-if="showNoTimeTrackingState"
|
||||
/>
|
||||
<time-tracking-comparison-pane
|
||||
v-if="showComparisonState"
|
||||
:time-estimate="timeEstimate"
|
||||
:time-spent="timeSpent"
|
||||
:time-spent-human-readable="timeSpentHumanReadable"
|
||||
:time-estimate-human-readable="timeEstimateHumanReadable"
|
||||
/>
|
||||
<div class="title hide-collapsed">
|
||||
{{ __('Time tracking') }}
|
||||
<div
|
||||
class="help-button pull-right"
|
||||
v-if="!showHelpState"
|
||||
@click="toggleHelpState(true)"
|
||||
>
|
||||
<i
|
||||
class="fa fa-question-circle"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="close-help-button pull-right"
|
||||
<transition name="help-state-toggle">
|
||||
<time-tracking-help-state
|
||||
v-if="showHelpState"
|
||||
@click="toggleHelpState(false)"
|
||||
>
|
||||
<i
|
||||
class="fa fa-close"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="time-tracking-content hide-collapsed">
|
||||
<time-tracking-estimate-only-pane
|
||||
v-if="showEstimateOnlyState"
|
||||
:time-estimate-human-readable="timeEstimateHumanReadable"
|
||||
:root-path="rootPath"
|
||||
/>
|
||||
<time-tracking-spent-only-pane
|
||||
v-if="showSpentOnlyState"
|
||||
:time-spent-human-readable="timeSpentHumanReadable"
|
||||
/>
|
||||
<time-tracking-no-tracking-pane
|
||||
v-if="showNoTimeTrackingState"
|
||||
/>
|
||||
<time-tracking-comparison-pane
|
||||
v-if="showComparisonState"
|
||||
:time-estimate="timeEstimate"
|
||||
:time-spent="timeSpent"
|
||||
:time-spent-human-readable="timeSpentHumanReadable"
|
||||
:time-estimate-human-readable="timeEstimateHumanReadable"
|
||||
/>
|
||||
<transition name="help-state-toggle">
|
||||
<time-tracking-help-state
|
||||
v-if="showHelpState"
|
||||
:rootPath="rootPath"
|
||||
/>
|
||||
</transition>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
`,
|
||||
};
|
||||
</div>
|
||||
</template>
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Move IssuableTimeTracker vue component
|
||||
merge_request: 16948
|
||||
author: George Tsiolis
|
||||
type: performance
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import Vue from 'vue';
|
||||
|
||||
import timeTracker from '~/sidebar/components/time_tracking/time_tracker';
|
||||
import timeTracker from '~/sidebar/components/time_tracking/time_tracker.vue';
|
||||
|
||||
function initTimeTrackingComponent(opts) {
|
||||
setFixtures(`
|
||||
|
|
Loading…
Reference in a new issue