diff --git a/app/assets/javascripts/repo/index.js b/app/assets/javascripts/repo/index.js index 986bdb25d3841f4ff73b48c531d5388bda1fc136..72f09a443e95f7f1a7d025caa96e414820ed08b7 100644 --- a/app/assets/javascripts/repo/index.js +++ b/app/assets/javascripts/repo/index.js @@ -17,6 +17,19 @@ function addEventsForNonVueEls() { $(document).on('change', '.dropdown', () => { Store.targetBranch = $('.project-refs-target-form input[name="ref"]').val(); }); + + 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) { + e.returnValue = 'Are you sure you want to lose unsaved changes?'; + } + // For Safari + return 'Are you sure you want to lose unsaved changes?'; + }; } function initRepo() { diff --git a/app/assets/stylesheets/pages/repo.scss b/app/assets/stylesheets/pages/repo.scss index 57836204e46064e328f5720b6b4566466b1ede41..e0dd24e3167b2d2a8d744c33c510c31c3b08f91c 100644 --- a/app/assets/stylesheets/pages/repo.scss +++ b/app/assets/stylesheets/pages/repo.scss @@ -158,6 +158,7 @@ span.help-block { padding-top: 7px; + margin-top: 0; } }