From 43a25d93ebdabea52f99b05e15b06250cd8f07d7 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 17 May 2023 16:05:49 +0000 Subject: Add latest changes from gitlab-org/gitlab@16-0-stable-ee --- .../observability/components/observability_app.vue | 60 ++++++++++------------ .../observability/components/skeleton/embed.vue | 15 ++++++ .../observability/components/skeleton/index.vue | 21 +++++--- 3 files changed, 56 insertions(+), 40 deletions(-) create mode 100644 app/assets/javascripts/observability/components/skeleton/embed.vue (limited to 'app/assets/javascripts/observability/components') diff --git a/app/assets/javascripts/observability/components/observability_app.vue b/app/assets/javascripts/observability/components/observability_app.vue index ff9cf6ff6c5..36cbe715149 100644 --- a/app/assets/javascripts/observability/components/observability_app.vue +++ b/app/assets/javascripts/observability/components/observability_app.vue @@ -2,7 +2,7 @@ import { darkModeEnabled } from '~/lib/utils/color_utils'; import { setUrlParams } from '~/lib/utils/url_utility'; -import { MESSAGE_EVENT_TYPE, SKELETON_VARIANTS_BY_ROUTE } from '../constants'; +import { MESSAGE_EVENT_TYPE, FULL_APP_DIMENSIONS } from '../constants'; import ObservabilitySkeleton from './skeleton/index.vue'; export default { @@ -14,25 +14,33 @@ export default { type: String, required: true, }, + inlineEmbed: { + type: Boolean, + required: false, + default: false, + }, + skeletonVariant: { + type: String, + required: false, + default: 'dashboards', + }, + height: { + type: String, + required: false, + default: FULL_APP_DIMENSIONS.HEIGHT, + }, + width: { + type: String, + required: false, + default: FULL_APP_DIMENSIONS.WIDTH, + }, }, computed: { iframeSrcWithParams() { - return setUrlParams( + return `${setUrlParams( { theme: darkModeEnabled() ? 'dark' : 'light', username: gon?.current_username }, this.observabilityIframeSrc, - ); - }, - getSkeletonVariant() { - const [, variant] = - Object.entries(SKELETON_VARIANTS_BY_ROUTE).find(([path]) => - this.$route.path.endsWith(path), - ) || []; - - const DEFAULT_SKELETON = 'dashboards'; - - if (!variant) return DEFAULT_SKELETON; - - return variant; + )}${this.inlineEmbed ? '&kiosk=inline-embed' : ''}`; }, }, mounted() { @@ -54,38 +62,24 @@ export default { this.$refs.observabilitySkeleton.onContentLoaded(); break; case MESSAGE_EVENT_TYPE.GOUI_ROUTE_UPDATE: - this.routeUpdateHandler(payload); + this.$emit('route-update', payload); break; default: break; } }, - routeUpdateHandler(payload) { - const isNewObservabilityPath = this.$route?.query?.observability_path !== payload?.url; - - const shouldNotHandleMessage = !payload.url || !isNewObservabilityPath; - - if (shouldNotHandleMessage) { - return; - } - - // this will update the `observability_path` query param on each route change inside Observability UI - this.$router.replace({ - name: this.$route.pathname, - query: { ...this.$route.query, observability_path: payload.url }, - }); - }, }, }; -- cgit v1.2.3