summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/logs/components/environment_logs.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/logs/components/environment_logs.vue')
-rw-r--r--app/assets/javascripts/logs/components/environment_logs.vue41
1 files changed, 35 insertions, 6 deletions
diff --git a/app/assets/javascripts/logs/components/environment_logs.vue b/app/assets/javascripts/logs/components/environment_logs.vue
index 01a4cbd41f6..f37f48aa431 100644
--- a/app/assets/javascripts/logs/components/environment_logs.vue
+++ b/app/assets/javascripts/logs/components/environment_logs.vue
@@ -8,6 +8,7 @@ import {
GlDropdown,
GlDropdownHeader,
GlDropdownItem,
+ GlDropdownDivider,
GlInfiniteScroll,
} from '@gitlab/ui';
@@ -27,6 +28,7 @@ export default {
GlDropdown,
GlDropdownHeader,
GlDropdownItem,
+ GlDropdownDivider,
GlInfiniteScroll,
LogSimpleFilters,
LogAdvancedFilters,
@@ -55,6 +57,10 @@ export default {
type: String,
required: true,
},
+ clustersPath: {
+ type: String,
+ required: true,
+ },
},
data() {
return {
@@ -63,7 +69,7 @@ export default {
};
},
computed: {
- ...mapState('environmentLogs', ['environments', 'timeRange', 'logs', 'pods']),
+ ...mapState('environmentLogs', ['environments', 'timeRange', 'logs', 'pods', 'managedApps']),
...mapGetters('environmentLogs', ['trace', 'showAdvancedFilters']),
showLoader() {
@@ -85,12 +91,15 @@ export default {
});
this.fetchEnvironments(this.environmentsPath);
+ this.fetchManagedApps(this.clustersPath);
},
methods: {
...mapActions('environmentLogs', [
'setInitData',
'showEnvironment',
+ 'showManagedApp',
'fetchEnvironments',
+ 'fetchManagedApps',
'refreshPodLogs',
'fetchMoreLogsPrepend',
'dismissRequestEnvironmentsError',
@@ -101,6 +110,9 @@ export default {
isCurrentEnvironment(envName) {
return envName === this.environments.current;
},
+ isCurrentManagedApp(appName) {
+ return appName === this.managedApps.current;
+ },
topReached() {
if (!this.logs.isLoading) {
this.fetchMoreLogsPrepend();
@@ -164,12 +176,12 @@ export default {
<div class="flex-grow-0">
<gl-dropdown
id="environments-dropdown"
- :text="environments.current"
+ :text="environments.current || managedApps.current"
:disabled="environments.isLoading"
class="mb-2 gl-h-32 pr-2 d-flex d-md-block js-environments-dropdown"
>
- <gl-dropdown-header class="text-center">
- {{ s__('Environments|Select environment') }}
+ <gl-dropdown-header class="gl-text-center">
+ {{ s__('Environments|Environments') }}
</gl-dropdown-header>
<gl-dropdown-item
v-for="env in environments.options"
@@ -181,7 +193,24 @@ export default {
:class="{ invisible: !isCurrentEnvironment(env.name) }"
name="status_success_borderless"
/>
- <div class="flex-grow-1">{{ env.name }}</div>
+ <div class="gl-flex-grow-1">{{ env.name }}</div>
+ </div>
+ </gl-dropdown-item>
+ <gl-dropdown-divider />
+ <gl-dropdown-header class="gl-text-center">
+ {{ s__('Environments|Managed apps') }}
+ </gl-dropdown-header>
+ <gl-dropdown-item
+ v-for="app in managedApps.options"
+ :key="app.id"
+ @click="showManagedApp(app.name)"
+ >
+ <div class="gl-display-flex">
+ <gl-icon
+ :class="{ invisible: !isCurrentManagedApp(app.name) }"
+ name="status_success_borderless"
+ />
+ <div class="gl-flex-grow-1">{{ app.name }}</div>
</div>
</gl-dropdown-item>
</gl-dropdown>
@@ -202,7 +231,7 @@ export default {
<log-control-buttons
ref="scrollButtons"
- class="flex-grow-0 pr-2 mb-2 controllers"
+ class="flex-grow-0 pr-2 mb-2 controllers gl-display-inline-flex"
:scroll-down-button-disabled="scrollDownButtonDisabled"
@refresh="refreshPodLogs()"
@scrollDown="scrollDown"