summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue')
-rw-r--r--app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue27
1 files changed, 21 insertions, 6 deletions
diff --git a/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue b/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue
index 5becc03646e..e7d028e8d23 100644
--- a/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue
+++ b/app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue
@@ -6,8 +6,8 @@ import { BV_SHOW_MODAL, BV_HIDE_MODAL } from '~/lib/utils/constants';
import { s__ } from '~/locale';
import { updateUserStatus } from '~/rest_api';
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
-import { isUserBusy } from './utils';
-import { NEVER_TIME_RANGE, AVAILABILITY_STATUS } from './constants';
+import { isUserBusy, computedClearStatusAfterValue } from './utils';
+import { AVAILABILITY_STATUS } from './constants';
import SetStatusForm from './set_status_form.vue';
Vue.use(GlToast);
@@ -53,9 +53,17 @@ export default {
message: this.currentMessage,
modalId: 'set-user-status-modal',
availability: isUserBusy(this.currentAvailability),
- clearStatusAfter: NEVER_TIME_RANGE,
+ clearStatusAfter: null,
};
},
+ computed: {
+ shouldIncludeClearStatusAfterInApiRequest() {
+ return this.clearStatusAfter !== null;
+ },
+ clearStatusAfterApiRequestValue() {
+ return computedClearStatusAfterValue(this.clearStatusAfter);
+ },
+ },
mounted() {
this.$root.$emit(BV_SHOW_MODAL, this.modalId);
},
@@ -70,14 +78,21 @@ export default {
this.setStatus();
},
setStatus() {
- const { emoji, message, availability, clearStatusAfter } = this;
+ const {
+ emoji,
+ message,
+ availability,
+ shouldIncludeClearStatusAfterInApiRequest,
+ clearStatusAfterApiRequestValue,
+ } = this;
updateUserStatus({
emoji,
message,
availability: availability ? AVAILABILITY_STATUS.BUSY : AVAILABILITY_STATUS.NOT_SET,
- clearStatusAfter:
- clearStatusAfter.label === NEVER_TIME_RANGE.label ? null : clearStatusAfter.shortcut,
+ ...(shouldIncludeClearStatusAfterInApiRequest
+ ? { clearStatusAfter: clearStatusAfterApiRequestValue }
+ : {}),
})
.then(this.onUpdateSuccess)
.catch(this.onUpdateFail);