From fe5d2c552fb8657298c493afa6f8b434ef56120b Mon Sep 17 00:00:00 2001 From: Jacob Schatz Date: Sun, 30 Jul 2017 13:34:53 -0400 Subject: [PATCH] Discard changes to files when cancel edit is hit. --- app/assets/javascripts/repo/index.js | 1 - .../javascripts/repo/repo_edit_button.js | 11 ---------- app/assets/javascripts/repo/repo_editor.vue | 17 +++++++++++++++ app/assets/javascripts/repo/repo_store.js | 2 +- app/assets/javascripts/repo/repo_tab.vue | 2 +- app/assets/javascripts/repo/repo_tabs.vue | 6 +++++- app/assets/stylesheets/pages/repo.scss | 21 ++++++++++++++++--- 7 files changed, 42 insertions(+), 18 deletions(-) diff --git a/app/assets/javascripts/repo/index.js b/app/assets/javascripts/repo/index.js index 9a3f2a424a3..c8349dc08fa 100644 --- a/app/assets/javascripts/repo/index.js +++ b/app/assets/javascripts/repo/index.js @@ -37,7 +37,6 @@ function addEventsForNonVueEls() { window.onbeforeunload = function (e) { const hasChanged = Store.openedFiles .some(file => file.changed); - console.log('hasChanged',hasChanged) if(!hasChanged) return; e = e || window.event; if (e) { diff --git a/app/assets/javascripts/repo/repo_edit_button.js b/app/assets/javascripts/repo/repo_edit_button.js index 43d5f36eb23..60b57efa277 100644 --- a/app/assets/javascripts/repo/repo_edit_button.js +++ b/app/assets/javascripts/repo/repo_edit_button.js @@ -30,17 +30,6 @@ export default class RepoEditButton { this.editMode = !this.editMode; }, }, - - watch: { - dialog: { - handler(obj) { - if(obj.status) { - obj.status = false; - } - }, - deep: true, - } - } }); } } diff --git a/app/assets/javascripts/repo/repo_editor.vue b/app/assets/javascripts/repo/repo_editor.vue index f4abe62b9bd..7bc5269ecd4 100644 --- a/app/assets/javascripts/repo/repo_editor.vue +++ b/app/assets/javascripts/repo/repo_editor.vue @@ -86,6 +86,23 @@ const RepoEditor = { this.showHide(); }, + dialog: { + handler(obj) { + if(obj.status) { + obj.status = false; + this.openedFiles.map((f) => { + if(f.active) { + this.blobRaw = f.plain; + } + f.changed = false; + delete f.newContent; + }); + this.editMode = false; + } + }, + deep: true, + }, + isTree() { this.showHide(); }, diff --git a/app/assets/javascripts/repo/repo_store.js b/app/assets/javascripts/repo/repo_store.js index f9ece196e02..96a685a43f5 100644 --- a/app/assets/javascripts/repo/repo_store.js +++ b/app/assets/javascripts/repo/repo_store.js @@ -97,7 +97,7 @@ const RepoStore = { RepoStore.blobRaw = file.base64; RepoStore.binaryMimeType = file.mime_type; } else { - RepoStore.blobRaw = file.plain; + RepoStore.blobRaw = file.newContent || file.plain; } if (!file.loading) RepoHelper.toURL(file.url, file.name); diff --git a/app/assets/javascripts/repo/repo_tab.vue b/app/assets/javascripts/repo/repo_tab.vue index b2c4af719e5..58fc1e89f57 100644 --- a/app/assets/javascripts/repo/repo_tab.vue +++ b/app/assets/javascripts/repo/repo_tab.vue @@ -24,7 +24,7 @@ const RepoTab = { xClicked(file) { if (file.changed) return; - RepoStore.removeFromOpenedFiles(file); + this.$emit('xclicked', file); }, }, }; diff --git a/app/assets/javascripts/repo/repo_tabs.vue b/app/assets/javascripts/repo/repo_tabs.vue index 959aecd26b2..a8364dd3a0c 100644 --- a/app/assets/javascripts/repo/repo_tabs.vue +++ b/app/assets/javascripts/repo/repo_tabs.vue @@ -17,6 +17,10 @@ const RepoTabs = { isOverflow() { return this.$el.scrollWidth > this.$el.offsetWidth; }, + + xclicked(file) { + Store.removeFromOpenedFiles(file); + } }, watch: { @@ -33,6 +37,6 @@ export default RepoTabs; diff --git a/app/assets/stylesheets/pages/repo.scss b/app/assets/stylesheets/pages/repo.scss index 6a543338a7b..77c6952340a 100644 --- a/app/assets/stylesheets/pages/repo.scss +++ b/app/assets/stylesheets/pages/repo.scss @@ -97,6 +97,15 @@ white-space: nowrap; border-radius: 3px 3px 0 0; + &.remove { + animation: swipeRightDissapear ease-in 0.1s; + animation-iteration-count: 1; + transform-origin: 0% 50%; + a { + width: 0; + } + } + &.active { background: $white-light; } @@ -372,11 +381,17 @@ transform: scaleX(0.00); } - 45% { - transform: scaleX(0.26); + 100% { + transform: scaleX(1.00); + } +} + +@keyframes swipeRightDissapear { + 0% { + transform: scaleX(1.00); } 100% { - transform: scaleX(1.00); + transform: scaleX(0.00); } } -- GitLab