TT#39927 Fix issue time and dests briefly shown

Change-Id: Ibca14d1ef9f1c03695da01400ca8d53394964a24
changes/88/22488/4
raxelsen 7 years ago
parent eeb9df5512
commit 50f7c5ee6f

@ -1,22 +1,37 @@
<template> <template>
<div class="times-card"> <div class="times-card">
<q-list no-border> <q-list no-border>
<csc-call-forward-time class="csc-call-forward-times" v-if="times.length > 0" v-for="(time, index) in times" <csc-call-forward-time
:key="index" :time="time" :index="index" /> class="csc-call-forward-times"
v-if="times.length > 0"
v-for="(time, index) in times"
:key="index"
:time="time"
:index="index"
/>
</q-list> </q-list>
<csc-add-time-form v-if="activeTimeForm" type="existing" :timeset="timesetName" ref="addFormExisting" /> <div v-if="timesetTimesLoaded">
<q-btn v-else <csc-add-time-form
color="primary" v-if="activeTimeForm"
class="add-time" type="existing"
icon="fa-plus" flat :timeset="timesetName"
@click="enableAddForm()"> ref="addFormExisting"
/>
<q-btn
v-else
color="primary"
class="add-time"
icon="fa-plus" flat
@click="enableAddForm()"
>
{{ $t('pages.callForward.times.addTimeButton') }} {{ $t('pages.callForward.times.addTimeButton') }}
</q-btn> </q-btn>
</div>
</div> </div>
</template> </template>
<script> <script>
import { mapState } from 'vuex' import { mapGetters } from 'vuex'
import CscCallForwardTime from './CscCallForwardTime' import CscCallForwardTime from './CscCallForwardTime'
import CscAddTimeForm from './CscAddTimeForm' import CscAddTimeForm from './CscAddTimeForm'
import { QField, QBtn, QList } from 'quasar-framework' import { QField, QBtn, QList } from 'quasar-framework'
@ -39,8 +54,9 @@
QList QList
}, },
computed: { computed: {
...mapState('callForward', [ ...mapGetters('callForward', [
'activeTimeForm' 'activeTimeForm',
'timesetTimesLoaded'
]) ])
}, },
methods: { methods: {

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<div v-if="showTimesAndDestinations"> <div v-if="showSections">
<csc-call-forward-times <csc-call-forward-times
:times="timesetTimes" :times="timesetTimes"
:timesetName="timesetName" :timesetName="timesetName"
@ -60,7 +60,7 @@
</q-alert> </q-alert>
</div> </div>
<csc-add-time-form <csc-add-time-form
v-if="activeTimeForm && !timesetExists" v-if="showTimesetForm"
type="new" type="new"
:timeset="timesetName" :timeset="timesetName"
ref="addTimeNew" ref="addTimeNew"
@ -70,7 +70,7 @@
</template> </template>
<script> <script>
import { mapState, mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { QAlert, QCard } from 'quasar-framework' import { QAlert, QCard } from 'quasar-framework'
import { import {
startLoading, startLoading,
@ -104,7 +104,7 @@
QCard QCard
}, },
computed: { computed: {
...mapState('callForward', [ ...mapGetters('callForward', [
'destinations', 'destinations',
'timesetTimes', 'timesetTimes',
'resetTimeState', 'resetTimeState',
@ -116,16 +116,15 @@
'activeTimeForm', 'activeTimeForm',
'sourcesets', 'sourcesets',
'loadDestinationState', 'loadDestinationState',
'addSourcesetState' 'addSourcesetState',
]),
...mapGetters('callForward', [
'resetTimeError', 'resetTimeError',
'addTimeError', 'addTimeError',
'showDefinedAlert', 'showDefinedAlert',
'destinationsLoaded', 'destinationsLoaded',
'showTimesAndDestinations', 'showTimesAndDestinations',
'loadDestinationError', 'loadDestinationError',
'addSourcesetError' 'addSourcesetError',
'timesetTimesLoaded'
]), ]),
labelReset() { labelReset() {
return this.$t('pages.callForward.times.resetTimeset', { return this.$t('pages.callForward.times.resetTimeset', {
@ -136,6 +135,12 @@
return this.$t('pages.callForward.times.addTimeset', { return this.$t('pages.callForward.times.addTimeset', {
timeset: this.timesetName timeset: this.timesetName
}); });
},
showTimesetForm() {
return this.activeTimeForm && !this.timesetExists && this.timesetTimesLoaded;
},
showSections() {
return this.showTimesAndDestinations && this.timesetTimesLoaded;
} }
}, },
methods: { methods: {

@ -6,8 +6,6 @@ import { i18n } from '../i18n';
import { import {
getSourcesets, getSourcesets,
getDestinationsets, getDestinationsets,
getTimesets,
getMappings,
deleteDestinationFromDestinationset, deleteDestinationFromDestinationset,
addDestinationToDestinationset, addDestinationToDestinationset,
addDestinationToEmptyGroup, addDestinationToEmptyGroup,
@ -29,7 +27,7 @@ import {
} from '../api/call-forward'; } from '../api/call-forward';
const RequestState = { const RequestState = {
button: 'button', initial: 'initial',
requesting: 'requesting', requesting: 'requesting',
succeeded: 'succeeded', succeeded: 'succeeded',
failed: 'failed' failed: 'failed'
@ -44,33 +42,33 @@ export default {
timesets: null, timesets: null,
destinationsets: null, destinationsets: null,
destinations: [], destinations: [],
loadDestinationState: RequestState.button, loadDestinationState: RequestState.initial,
loadDestinationError: null, loadDestinationError: null,
removeDestinationState: RequestState.button, removeDestinationState: RequestState.initial,
removeDestinationError: null, removeDestinationError: null,
lastRemovedDestination: null, lastRemovedDestination: null,
addDestinationState: RequestState.button, addDestinationState: RequestState.initial,
addDestinationError: null, addDestinationError: null,
lastAddedDestination: null, lastAddedDestination: null,
changeDestinationState: RequestState.button, changeDestinationState: RequestState.initial,
changeDestinationError: null, changeDestinationError: null,
removeTimeState: RequestState.button, removeTimeState: RequestState.initial,
removeTimeError: null, removeTimeError: null,
lastRemovedDay: null, lastRemovedDay: null,
resetTimeState: RequestState.button, resetTimeState: RequestState.initial,
resetTimeError: null, resetTimeError: null,
addTimeState: RequestState.button, addTimeState: RequestState.initial,
addTimeError: null, addTimeError: null,
addSourcesetState: RequestState.button, addSourcesetState: RequestState.initial,
addSourcesetError: null, addSourcesetError: null,
removeSourcesetState: RequestState.button, removeSourcesetState: RequestState.initial,
removeSourcesetError: null, removeSourcesetError: null,
lastRemovedSourceset: null, lastRemovedSourceset: null,
lastAddedSourceset: null, lastAddedSourceset: null,
addSourceState: RequestState.button, addSourceState: RequestState.initial,
addSourceError: null, addSourceError: null,
lastAddedSource: null, lastAddedSource: null,
removeSourceState: RequestState.button, removeSourceState: RequestState.initial,
removeSourceError: null, removeSourceError: null,
lastRemovedSource: null, lastRemovedSource: null,
activeForm: '', activeForm: '',
@ -90,7 +88,8 @@ export default {
timesetHasDuplicate: false, timesetHasDuplicate: false,
timesetId: null, timesetId: null,
activeTimeForm: false, activeTimeForm: false,
addSourceFormEnabled: false addSourceFormEnabled: false,
timesetTimesLoaded: false
}, },
getters: { getters: {
hasFaxCapability(state, getters, rootState, rootGetters) { hasFaxCapability(state, getters, rootState, rootGetters) {
@ -180,18 +179,54 @@ export default {
}, },
lastRemovedSource(state) { lastRemovedSource(state) {
return state.lastRemovedSource; return state.lastRemovedSource;
},
timesetTimesLoaded(state) {
return state.timesetTimesLoaded;
},
destinations(state) {
return state.destinations;
},
timesetTimes(state) {
return state.timesetTimes;
},
resetTimeState(state) {
return state.resetTimeState;
},
addTimeState(state) {
return state.addTimeState;
},
timesetHasDuplicate(state) {
return state.timesetHasDuplicate;
},
timesetIsCompatible(state) {
return state.timesetIsCompatible;
},
timesetHasReverse(state) {
return state.timesetHasReverse;
},
timesetExists(state) {
return state.timesetExists;
},
activeTimeForm(state) {
return state.activeTimeForm;
},
sourcesets(state) {
return state.sourcesets;
},
loadDestinationState(state) {
return state.loadDestinationState;
},
addSourcesetState(state) {
return state.addSourcesetState;
},
lastAddedSourceset(state) {
return state.lastAddedSourceset;
} }
}, },
mutations: { mutations: {
loadMappings(state, result) {
state.mappings = result;
},
loadSourcesets(state, result) { loadSourcesets(state, result) {
state.sourcesets = result; state.sourcesets = result;
}, },
loadTimesets(state, result) {
state.timesets = result;
},
loadDestinations(state, result) { loadDestinations(state, result) {
state.destinations = result; state.destinations = result;
}, },
@ -229,9 +264,9 @@ export default {
state.formType = ''; state.formType = '';
state.destinationsetId = ''; state.destinationsetId = '';
state.groupName = ''; state.groupName = '';
state.addDestinationState = RequestState.button; state.addDestinationState = RequestState.initial;
state.changeDestinationState = RequestState.button; state.changeDestinationState = RequestState.initial;
state.removeDestinationState = RequestState.button; state.removeDestinationState = RequestState.initial;
}, },
addDestinationRequesting(state) { addDestinationRequesting(state) {
state.addDestinationState = RequestState.requesting; state.addDestinationState = RequestState.requesting;
@ -285,6 +320,7 @@ export default {
state.lastRemovedDay = value; state.lastRemovedDay = value;
}, },
loadTimesSucceeded(state, result) { loadTimesSucceeded(state, result) {
state.timesetTimesLoaded = true;
state.timesetTimes = result.times; state.timesetTimes = result.times;
state.timesetIsCompatible = result.timesetIsCompatible; state.timesetIsCompatible = result.timesetIsCompatible;
state.timesetExists = result.timesetExists; state.timesetExists = result.timesetExists;
@ -320,7 +356,7 @@ export default {
state.activeTimeForm = value; state.activeTimeForm = value;
}, },
resetAddTimeState(state) { resetAddTimeState(state) {
state.addTimeState = RequestState.button; state.addTimeState = RequestState.initial;
}, },
resetTimesetState(state) { resetTimesetState(state) {
state.timesetIsCompatible = true; state.timesetIsCompatible = true;
@ -328,7 +364,8 @@ export default {
state.timesetHasReverse = false; state.timesetHasReverse = false;
state.timesetHasDuplicate = false; state.timesetHasDuplicate = false;
state.activeTimeForm = false; state.activeTimeForm = false;
state.addTimeState = RequestState.button; state.addTimeState = RequestState.initial;
state.timesetTimesLoaded = false;
}, },
setSourceset(state, result) { setSourceset(state, result) {
state.sourceset = result; state.sourceset = result;
@ -410,16 +447,6 @@ export default {
} }
}, },
actions: { actions: {
loadMappings(context) {
return new Promise((resolve, reject) => {
getMappings(localStorage.getItem('subscriberId'))
.then(result => {
context.commit('loadMappings', result);
}).catch(err => {
reject(err);
});
});
},
loadSourcesets(context) { loadSourcesets(context) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getSourcesets(localStorage.getItem('subscriberId')) getSourcesets(localStorage.getItem('subscriberId'))
@ -430,16 +457,6 @@ export default {
}); });
}); });
}, },
loadTimesets(context) {
return new Promise((resolve, reject) => {
getTimesets(localStorage.getItem('subscriberId'))
.then(result => {
context.commit('loadTimesets', result);
}).catch((err) => {
reject(err);
});
});
},
loadDestinationsets(context) { loadDestinationsets(context) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getDestinationsets(localStorage.getItem('subscriberId')) getDestinationsets(localStorage.getItem('subscriberId'))

Loading…
Cancel
Save