diff options
author | Phil Hughes <me@iamphill.com> | 2018-05-03 14:21:45 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2018-05-03 14:21:45 +0100 |
commit | 2a7bfacfb7e1cace9f93f7d70114b60890423396 (patch) | |
tree | 7a620b829007f2290e893bf685f2e9090c33a2a4 /app/assets/javascripts/ide | |
parent | 93f0eb07c993fa5e424b0e803e972c93e6e444c5 (diff) | |
download | gitlab-ce-2a7bfacfb7e1cace9f93f7d70114b60890423396.tar.gz |
improved success message after commit with new sidebar
Diffstat (limited to 'app/assets/javascripts/ide')
8 files changed, 34 insertions, 23 deletions
diff --git a/app/assets/javascripts/ide/components/activity_bar.vue b/app/assets/javascripts/ide/components/activity_bar.vue index 3a8bc6fd859..edea6a9b894 100644 --- a/app/assets/javascripts/ide/components/activity_bar.vue +++ b/app/assets/javascripts/ide/components/activity_bar.vue @@ -51,7 +51,7 @@ export default { /> </button> </li> - <li v-show="hasChanges"> + <li> <button type="button" class="ide-sidebar-link js-ide-review-mode" @@ -65,7 +65,7 @@ export default { /> </button> </li> - <li> + <li v-show="hasChanges"> <button type="button" class="ide-sidebar-link js-ide-commit-mode" diff --git a/app/assets/javascripts/ide/components/commit_sidebar/actions.vue b/app/assets/javascripts/ide/components/commit_sidebar/actions.vue index 4ecc8e0db51..3790c3401f3 100644 --- a/app/assets/javascripts/ide/components/commit_sidebar/actions.vue +++ b/app/assets/javascripts/ide/components/commit_sidebar/actions.vue @@ -1,5 +1,5 @@ <script> -import { mapGetters, mapState } from 'vuex'; +import { mapState } from 'vuex'; import { sprintf, __ } from '~/locale'; import * as consts from '../../stores/modules/commit/constants'; import RadioGroup from './radio_group.vue'; diff --git a/app/assets/javascripts/ide/components/commit_sidebar/form.vue b/app/assets/javascripts/ide/components/commit_sidebar/form.vue index f42b4265f8e..ab64627e735 100644 --- a/app/assets/javascripts/ide/components/commit_sidebar/form.vue +++ b/app/assets/javascripts/ide/components/commit_sidebar/form.vue @@ -21,13 +21,10 @@ export default { }; }, computed: { - ...mapState(['lastCommitMsg', 'changedFiles', 'stagedFiles', 'currentActivityView']), + ...mapState(['changedFiles', 'stagedFiles', 'currentActivityView', 'lastCommitMsg']), ...mapState('commit', ['commitMessage', 'submitCommitLoading']), - ...mapGetters(['hasChanges']), + ...mapGetters(['hasChanges', 'someUncommitedChanges']), ...mapGetters('commit', ['commitButtonDisabled', 'discardDraftButtonDisabled']), - someUncommitedChanges() { - return !!(this.changedFiles.length || this.stagedFiles.length); - }, overviewText() { return sprintf( __( @@ -126,8 +123,7 @@ export default { ref="formEl" > <success-message - v-if="lastCommitMsg && !someUncommitedChanges" - :committed-state-svg-path="committedStateSvgPath" + v-show="(lastCommitMsg && someUncommitedChanges)" /> <commit-message-field :text="commitMessage" diff --git a/app/assets/javascripts/ide/components/commit_sidebar/success_message.vue b/app/assets/javascripts/ide/components/commit_sidebar/success_message.vue index 628a17eddca..a6df91b79c2 100644 --- a/app/assets/javascripts/ide/components/commit_sidebar/success_message.vue +++ b/app/assets/javascripts/ide/components/commit_sidebar/success_message.vue @@ -2,14 +2,8 @@ import { mapState } from 'vuex'; export default { - props: { - committedStateSvgPath: { - type: String, - required: true, - }, - }, computed: { - ...mapState(['lastCommitMsg']), + ...mapState(['lastCommitMsg', 'committedStateSvgPath']), }, }; </script> diff --git a/app/assets/javascripts/ide/components/ide_side_bar.vue b/app/assets/javascripts/ide/components/ide_side_bar.vue index 808f14943d7..2f3f93a6aed 100644 --- a/app/assets/javascripts/ide/components/ide_side_bar.vue +++ b/app/assets/javascripts/ide/components/ide_side_bar.vue @@ -11,6 +11,8 @@ import ActivityBar from './activity_bar.vue'; import CommitSection from './repo_commit_section.vue'; import CommitForm from './commit_sidebar/form.vue'; import IdeReview from './ide_review.vue'; +import SuccessMessage from './commit_sidebar/success_message.vue'; +import { activityBarViews } from '../constants'; export default { components: { @@ -25,10 +27,24 @@ export default { IdeTree, CommitForm, IdeReview, + SuccessMessage, }, computed: { - ...mapState(['loading', 'currentBranchId', 'currentActivityView']), - ...mapGetters(['currentProject']), + ...mapState([ + 'loading', + 'currentBranchId', + 'currentActivityView', + 'changedFiles', + 'stagedFiles', + 'lastCommitMsg', + ]), + ...mapGetters(['currentProject', 'someUncommitedChanges']), + showSuccessMessage() { + return ( + this.currentActivityView === activityBarViews.edit && + (this.lastCommitMsg && !this.someUncommitedChanges) + ); + }, }, }; </script> @@ -96,6 +112,9 @@ export default { /> </div> <commit-form /> + <success-message + v-show="showSuccessMessage" + /> </template> </div> </resizable-panel> diff --git a/app/assets/javascripts/ide/components/repo_commit_section.vue b/app/assets/javascripts/ide/components/repo_commit_section.vue index e71ce83d4ea..c5092d8e04d 100644 --- a/app/assets/javascripts/ide/components/repo_commit_section.vue +++ b/app/assets/javascripts/ide/components/repo_commit_section.vue @@ -27,14 +27,11 @@ export default { 'unusedSeal', ]), ...mapState('commit', ['commitMessage', 'submitCommitLoading']), - ...mapGetters(['lastOpenedFile', 'hasChanges']), + ...mapGetters(['lastOpenedFile', 'hasChanges', 'someUncommitedChanges']), ...mapGetters('commit', ['commitButtonDisabled', 'discardDraftButtonDisabled']), showStageUnstageArea() { return !!(this.someUncommitedChanges || this.lastCommitMsg || !this.unusedSeal); }, - someUncommitedChanges() { - return !!(this.changedFiles.length || this.stagedFiles.length); - }, }, watch: { hasChanges() { diff --git a/app/assets/javascripts/ide/components/repo_editor.vue b/app/assets/javascripts/ide/components/repo_editor.vue index 23d584b62c4..8a08f9fc7db 100644 --- a/app/assets/javascripts/ide/components/repo_editor.vue +++ b/app/assets/javascripts/ide/components/repo_editor.vue @@ -26,6 +26,7 @@ export default { 'getStagedFile', 'isEditModeActive', 'isCommitModeActive', + 'isReviewModeActive', ]), shouldHideEditor() { return this.file && this.file.binary && !this.file.content; diff --git a/app/assets/javascripts/ide/stores/getters.js b/app/assets/javascripts/ide/stores/getters.js index db98d511c00..8494f07ed84 100644 --- a/app/assets/javascripts/ide/stores/getters.js +++ b/app/assets/javascripts/ide/stores/getters.js @@ -59,6 +59,10 @@ export const lastOpenedFile = state => export const isEditModeActive = state => state.currentActivityView === activityBarViews.edit; export const isCommitModeActive = state => state.currentActivityView === activityBarViews.commit; +export const isReviewModeActive = state => state.currentActivityView === activityBarViews.review; + +export const someUncommitedChanges = state => + !!(state.changedFiles.length || state.stagedFiles.length); // prevent babel-plugin-rewire from generating an invalid default during karma tests export default () => {}; |