Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-12-21 00:08:00 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-12-21 00:08:00 +0300
commitbe59dd1d43332496def276c8d3e78fc82e94273a (patch)
tree19c25e5a7e7f88a0ac4bd797bf70ac48603656cc /app/assets/javascripts/ide/components
parent855bf0533bc5d5df2821e9a5951fae4f153f7492 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/ide/components')
-rw-r--r--app/assets/javascripts/ide/components/commit_sidebar/editor_header.vue32
1 files changed, 26 insertions, 6 deletions
diff --git a/app/assets/javascripts/ide/components/commit_sidebar/editor_header.vue b/app/assets/javascripts/ide/components/commit_sidebar/editor_header.vue
index 6b2ef34c960..3398cd091ba 100644
--- a/app/assets/javascripts/ide/components/commit_sidebar/editor_header.vue
+++ b/app/assets/javascripts/ide/components/commit_sidebar/editor_header.vue
@@ -1,12 +1,13 @@
<script>
-import $ from 'jquery';
import { mapActions } from 'vuex';
-import { __ } from '~/locale';
+import { sprintf, __ } from '~/locale';
+import { GlModal } from '@gitlab/ui';
import FileIcon from '~/vue_shared/components/file_icon.vue';
import ChangedFileIcon from '~/vue_shared/components/changed_file_icon.vue';
export default {
components: {
+ GlModal,
FileIcon,
ChangedFileIcon,
},
@@ -17,7 +18,13 @@ export default {
},
},
computed: {
- activeButtonText() {
+ discardModalId() {
+ return `discard-file-${this.activeFile.path}`;
+ },
+ discardModalTitle() {
+ return sprintf(__('Discard changes to %{path}?'), { path: this.activeFile.path });
+ },
+ actionButtonText() {
return this.activeFile.staged ? __('Unstage') : __('Stage');
},
isStaged() {
@@ -25,7 +32,7 @@ export default {
},
},
methods: {
- ...mapActions(['stageChange', 'unstageChange']),
+ ...mapActions(['stageChange', 'unstageChange', 'discardFileChanges']),
actionButtonClicked() {
if (this.activeFile.staged) {
this.unstageChange(this.activeFile.path);
@@ -34,7 +41,7 @@ export default {
}
},
showDiscardModal() {
- $(document.getElementById(`discard-file-${this.activeFile.path}`)).modal('show');
+ this.$refs.discardModal.show();
},
},
};
@@ -53,6 +60,7 @@ export default {
<div class="ml-auto">
<button
v-if="!isStaged"
+ ref="discardButton"
type="button"
class="btn btn-remove btn-inverted append-right-8"
@click="showDiscardModal"
@@ -60,6 +68,7 @@ export default {
{{ __('Discard') }}
</button>
<button
+ ref="actionButton"
:class="{
'btn-success': !isStaged,
'btn-warning': isStaged,
@@ -68,8 +77,19 @@ export default {
class="btn btn-inverted"
@click="actionButtonClicked"
>
- {{ activeButtonText }}
+ {{ actionButtonText }}
</button>
</div>
+ <gl-modal
+ ref="discardModal"
+ ok-variant="danger"
+ cancel-variant="light"
+ :ok-title="__('Discard changes')"
+ :modal-id="discardModalId"
+ :title="discardModalTitle"
+ @ok="discardFileChanges(activeFile.path)"
+ >
+ {{ __("You will lose all changes you've made to this file. This action cannot be undone.") }}
+ </gl-modal>
</div>
</template>