From 603c7d4cac5e28bc1c75e50c23ed2cbe56f1aafc Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 24 Mar 2020 18:07:55 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../logs/components/environment_logs.vue | 205 +++++---------------- .../logs/components/log_advanced_filters.vue | 128 +++++++++++++ .../logs/components/log_simple_filters.vue | 73 ++++++++ app/assets/javascripts/logs/stores/getters.js | 8 +- 4 files changed, 255 insertions(+), 159 deletions(-) create mode 100644 app/assets/javascripts/logs/components/log_advanced_filters.vue create mode 100644 app/assets/javascripts/logs/components/log_simple_filters.vue (limited to 'app/assets/javascripts/logs') diff --git a/app/assets/javascripts/logs/components/environment_logs.vue b/app/assets/javascripts/logs/components/environment_logs.vue index 92d4be81c75..70b3af8dc75 100644 --- a/app/assets/javascripts/logs/components/environment_logs.vue +++ b/app/assets/javascripts/logs/components/environment_logs.vue @@ -7,17 +7,15 @@ import { GlAlert, GlDropdown, GlDropdownHeader, - GlDropdownDivider, GlDropdownItem, - GlFormGroup, - GlSearchBoxByClick, GlInfiniteScroll, } from '@gitlab/ui'; -import { s__ } from '~/locale'; -import DateTimePicker from '~/vue_shared/components/date_time_picker/date_time_picker.vue'; + +import LogSimpleFilters from './log_simple_filters.vue'; +import LogAdvancedFilters from './log_advanced_filters.vue'; import LogControlButtons from './log_control_buttons.vue'; -import { timeRanges, defaultTimeRange } from '~/vue_shared/constants'; +import { defaultTimeRange } from '~/vue_shared/constants'; import { timeRangeFromUrl } from '~/monitoring/utils'; import { formatDate } from '../utils'; @@ -28,12 +26,10 @@ export default { GlAlert, GlDropdown, GlDropdownHeader, - GlDropdownDivider, GlDropdownItem, - GlFormGroup, - GlSearchBoxByClick, GlInfiniteScroll, - DateTimePicker, + LogSimpleFilters, + LogAdvancedFilters, LogControlButtons, }, filters: { @@ -63,49 +59,22 @@ export default { traceHeight: 600, data() { return { - searchQuery: '', - timeRanges, isElasticStackCalloutDismissed: false, scrollDownButtonDisabled: true, }; }, computed: { ...mapState('environmentLogs', ['environments', 'timeRange', 'logs', 'pods']), - ...mapGetters('environmentLogs', ['trace']), - - timeRangeModel: { - get() { - return this.timeRange.selected; - }, - set(val) { - this.setTimeRange(val); - }, - }, + ...mapGetters('environmentLogs', ['trace', 'showAdvancedFilters']), showLoader() { return this.logs.isLoading; }, - advancedFeaturesEnabled() { - const environment = this.environments.options.find( - ({ name }) => name === this.environments.current, - ); - return environment && environment.enable_advanced_logs_querying; - }, - disableAdvancedControls() { - return this.environments.isLoading || !this.advancedFeaturesEnabled; - }, shouldShowElasticStackCallout() { - return !this.isElasticStackCalloutDismissed && this.disableAdvancedControls; - }, - - podDropdownText() { - if (this.pods.current) { - return this.pods.current; - } else if (this.advancedFeaturesEnabled) { - // "All pods" is a valid option when advanced querying is available - return s__('Environments|All pods'); - } - return s__('Environments|No pod selected'); + return ( + !this.isElasticStackCalloutDismissed && + (this.environments.isLoading || !this.showAdvancedFilters) + ); }, }, mounted() { @@ -121,7 +90,6 @@ export default { ...mapActions('environmentLogs', [ 'setInitData', 'setSearch', - 'setTimeRange', 'showPodLogs', 'showEnvironment', 'fetchEnvironments', @@ -131,9 +99,6 @@ export default { isCurrentEnvironment(envName) { return envName === this.environments.current; }, - isCurrentPod(podName) { - return podName === this.pods.current; - }, topReached() { if (!this.logs.isLoading) { this.fetchMoreLogsPrepend(); @@ -167,123 +132,49 @@ export default { -
-
- +
+ - + {{ s__('Environments|Select environment') }} + + - - {{ s__('Environments|Select environment') }} - - -
- -
{{ env.name }}
-
-
-
- - - - - - {{ s__('Environments|Filter by pod') }} - - - - - - - {{ s__('Environments|No pods to display') }} - - - -
- -
{{ podName }}
-
-
-
-
- - - - - - - +
+ +
{{ env.name }}
+
+ +
+ + + +import { s__ } from '~/locale'; +import DateTimePicker from '~/vue_shared/components/date_time_picker/date_time_picker.vue'; +import { mapActions, mapState } from 'vuex'; +import { + GlIcon, + GlDropdown, + GlDropdownHeader, + GlDropdownDivider, + GlDropdownItem, + GlSearchBoxByClick, +} from '@gitlab/ui'; +import { timeRanges } from '~/vue_shared/constants'; + +export default { + components: { + GlIcon, + GlDropdown, + GlDropdownHeader, + GlDropdownDivider, + GlDropdownItem, + GlSearchBoxByClick, + DateTimePicker, + }, + props: { + disabled: { + type: Boolean, + required: false, + default: false, + }, + }, + data() { + return { + timeRanges, + searchQuery: '', + }; + }, + computed: { + ...mapState('environmentLogs', ['timeRange', 'pods']), + + timeRangeModel: { + get() { + return this.timeRange.selected; + }, + set(val) { + this.setTimeRange(val); + }, + }, + + podDropdownText() { + return this.pods.current || s__('Environments|All pods'); + }, + }, + methods: { + ...mapActions('environmentLogs', ['setSearch', 'showPodLogs', 'setTimeRange']), + isCurrentPod(podName) { + return podName === this.pods.current; + }, + }, +}; + + diff --git a/app/assets/javascripts/logs/components/log_simple_filters.vue b/app/assets/javascripts/logs/components/log_simple_filters.vue new file mode 100644 index 00000000000..21fe1695624 --- /dev/null +++ b/app/assets/javascripts/logs/components/log_simple_filters.vue @@ -0,0 +1,73 @@ + + diff --git a/app/assets/javascripts/logs/stores/getters.js b/app/assets/javascripts/logs/stores/getters.js index 8770306fdd6..d92969c5389 100644 --- a/app/assets/javascripts/logs/stores/getters.js +++ b/app/assets/javascripts/logs/stores/getters.js @@ -5,5 +5,9 @@ const mapTrace = ({ timestamp = null, pod = '', message = '' }) => export const trace = state => state.logs.lines.map(mapTrace).join('\n'); -// prevent babel-plugin-rewire from generating an invalid default during karma tests -export default () => {}; +export const showAdvancedFilters = state => { + const environment = state.environments.options.find( + ({ name }) => name === state.environments.current, + ); + return Boolean(environment?.enable_advanced_logs_querying); +}; -- cgit v1.2.3