Skip to content

Commit 569a32a

Browse files
committed
feat: [SER-2215] Adding disable feature to dialog box buttons
1 parent 530ced0 commit 569a32a

File tree

1 file changed

+17
-4
lines changed
  • frontend/express/public/javascripts/countly/vue/components

1 file changed

+17
-4
lines changed

frontend/express/public/javascripts/countly/vue/components/dialog.js

+17-4
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,10 @@
4848
title: {type: String, required: true},
4949
saveButtonLabel: {type: String, required: false, default: CV.i18n("common.save")},
5050
saveButtonVisibility: {type: Boolean, required: false, default: true},
51+
saveButtonDisabled: {type: Boolean, required: false, default: false},
5152
cancelButtonLabel: {type: String, required: false, default: CV.i18n("common.cancel")},
5253
cancelButtonVisibility: {type: Boolean, required: false, default: true},
54+
cancelButtonDisabled: {type: Boolean, required: false, default: false},
5355
dialogType: {type: String, required: false, default: "success"},
5456
testId: {type: String, default: 'cly-vue-confirm-dialog-test-id', required: false},
5557
alignCenter: {type: Boolean, default: true}
@@ -76,6 +78,17 @@
7678
},
7779
customClass: function() {
7880
return this.alignCenter ? "el-dialog--centered" : "";
81+
},
82+
isButtonDisabled: function() {
83+
return {
84+
save: this.saveButtonDisabled,
85+
cancel: this.cancelButtonDisabled
86+
};
87+
},
88+
buttonStyle: function() {
89+
return function(disabled) {
90+
return disabled ? { opacity: 0.5 } : {};
91+
};
7992
}
8093
},
8194
methods: {
@@ -92,10 +105,10 @@
92105
<slot :name="name"/>\
93106
</template>\
94107
<template v-slot:footer><div class="cly-vue-formdialog__buttons is-single-step bu-is-justify-content-flex-end bu-is-flex">\
95-
<el-button size="small" :data-test-id="testId + \'-cly-confirm-dialog-cancel-button\'" @click="cancelClicked" type="secondary" v-if="cancelButtonVisibility">{{cancelLabel}}</el-button>\
96-
<el-button size="small" :data-test-id="testId + \'-cly-confirm-dialog-save-button\'" @click="confirmClicked" type="success" v-if="confirmStyle==\'success\' && saveButtonVisibility" >{{saveLabel}}</el-button>\
97-
<el-button size="small" :data-test-id="testId + \'-cly-confirm-dialog-warning-button\'" @click="confirmClicked" type="warning" v-else-if="confirmStyle==\'warning\' && saveButtonVisibility" >{{saveLabel}}</el-button>\
98-
<el-button size="small" :data-test-id="testId + \'-cly-confirm-dialog-danger-button\'" @click="confirmClicked" type="danger" v-else-if="saveButtonVisibility" >{{saveLabel}}</el-button>\
108+
<el-button size="small" :data-test-id="testId + \'-cly-confirm-dialog-cancel-button\'" @click="cancelClicked" type="secondary" :disabled="isButtonDisabled.cancel" :style="buttonStyle(isButtonDisabled.cancel)" v-if="cancelButtonVisibility">{{cancelLabel}}</el-button>\
109+
<el-button size="small" :data-test-id="testId + \'-cly-confirm-dialog-save-button\'" @click="confirmClicked" type="success" :disabled="isButtonDisabled.save" :style="buttonStyle(isButtonDisabled.save)" v-if="confirmStyle==\'success\' && saveButtonVisibility" >{{saveLabel}}</el-button>\
110+
<el-button size="small" :data-test-id="testId + \'-cly-confirm-dialog-warning-button\'" @click="confirmClicked" type="warning" :disabled="isButtonDisabled.save" :style="buttonStyle(isButtonDisabled.save)" v-else-if="confirmStyle==\'warning\' && saveButtonVisibility" >{{saveLabel}}</el-button>\
111+
<el-button size="small" :data-test-id="testId + \'-cly-confirm-dialog-danger-button\'" @click="confirmClicked" type="danger" :disabled="isButtonDisabled.save" :style="buttonStyle(isButtonDisabled.save)" v-else-if="saveButtonVisibility" >{{saveLabel}}</el-button>\
99112
</div></template>\
100113
</el-dialog>'
101114
}));

0 commit comments

Comments
 (0)