From adbf6149cf1778cd48a9bbf8e97332669dbcb7cb Mon Sep 17 00:00:00 2001 From: Paul Slaughter Date: Thu, 27 Sep 2018 16:57:30 -0500 Subject: Keep IDE RightPane views alive **Why?** - This is needed for the Web Terminal feature. https://gitlab.com/gitlab-org/gitlab-ee/issues/5426 **Notes:** - Introduces a `pane` Vuex module. - Some views should not be kept alive (i.e. job details). This is why a `keepAlive` flag was introduced for views. --- .../javascripts/ide/components/ide_status_bar.vue | 6 ++- .../javascripts/ide/components/panes/right.vue | 63 ++++++++++++++-------- .../javascripts/ide/components/repo_editor.vue | 6 ++- app/assets/javascripts/ide/constants.js | 8 +-- app/assets/javascripts/ide/stores/actions.js | 4 -- app/assets/javascripts/ide/stores/index.js | 2 + .../javascripts/ide/stores/modules/pane/actions.js | 30 +++++++++++ .../javascripts/ide/stores/modules/pane/getters.js | 4 ++ .../javascripts/ide/stores/modules/pane/index.js | 12 +++++ .../ide/stores/modules/pane/mutation_types.js | 3 ++ .../ide/stores/modules/pane/mutations.js | 19 +++++++ .../javascripts/ide/stores/modules/pane/state.js | 5 ++ .../ide/stores/modules/pipelines/actions.js | 2 +- .../javascripts/ide/stores/mutation_types.js | 2 - app/assets/javascripts/ide/stores/mutations.js | 5 -- app/assets/javascripts/ide/stores/state.js | 1 - 16 files changed, 130 insertions(+), 42 deletions(-) create mode 100644 app/assets/javascripts/ide/stores/modules/pane/actions.js create mode 100644 app/assets/javascripts/ide/stores/modules/pane/getters.js create mode 100644 app/assets/javascripts/ide/stores/modules/pane/index.js create mode 100644 app/assets/javascripts/ide/stores/modules/pane/mutation_types.js create mode 100644 app/assets/javascripts/ide/stores/modules/pane/mutations.js create mode 100644 app/assets/javascripts/ide/stores/modules/pane/state.js (limited to 'app/assets/javascripts') diff --git a/app/assets/javascripts/ide/components/ide_status_bar.vue b/app/assets/javascripts/ide/components/ide_status_bar.vue index 715dc1bfb42..a04d09ef374 100644 --- a/app/assets/javascripts/ide/components/ide_status_bar.vue +++ b/app/assets/javascripts/ide/components/ide_status_bar.vue @@ -50,7 +50,9 @@ export default { this.stopPipelinePolling(); }, methods: { - ...mapActions(['setRightPane']), + ...mapActions('rightPane', { + openRightPane: 'open', + }), ...mapActions('pipelines', ['fetchLatestPipeline', 'stopPipelinePolling']), startTimer() { this.intervalId = setInterval(() => { @@ -88,7 +90,7 @@ export default {