gitlab-org--gitlab-foss/app/assets/javascripts/repo/components/repo_edit_button.vue

48 lines
1.1 KiB
Vue
Raw Normal View History

<script>
import Store from '../stores/repo_store';
import RepoMixin from '../mixins/repo_mixin';
export default {
data: () => Store,
mixins: [RepoMixin],
computed: {
buttonLabel() {
return this.editMode ? this.__('Cancel edit') : this.__('Edit');
},
buttonIcon() {
return this.editMode ? [] : ['fa', 'fa-pencil'];
},
},
methods: {
editClicked() {
if (this.changedFiles.length) {
this.dialog.open = true;
return;
}
this.editMode = !this.editMode;
Store.toggleBlobView();
},
},
2017-08-03 22:11:14 -04:00
watch: {
editMode() {
if (this.editMode) {
$('.project-refs-form').addClass('disabled');
$('.js-tree-ref-target-holder').show();
2017-08-03 22:11:14 -04:00
} else {
$('.project-refs-form').removeClass('disabled');
$('.js-tree-ref-target-holder').hide();
2017-08-03 22:11:14 -04:00
}
},
2017-08-04 08:13:32 -04:00
},
};
</script>
<template>
2017-08-07 17:56:07 -04:00
<button class="btn btn-default" @click.prevent="editClicked" v-cloak v-if="isCommitable && !activeFile.render_error" :disabled="binary">
<i :class="buttonIcon"></i>
<span>{{buttonLabel}}</span>
</button>
</template>