From 6e328ec485e820e6d0cb38880c2feb28fe8b0ea4 Mon Sep 17 00:00:00 2001 From: JeremyWuuuuu <jeremyw@jihulab.com> Date: Thu, 23 May 2024 14:11:15 +0800 Subject: [PATCH] Feat: add entry in mr tabs page for jh * Export some function for reusing. * Change the entry of merge_request_tabs. --- app/assets/javascripts/merge_request.js | 2 +- app/assets/javascripts/merge_request_tabs.js | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/merge_request.js b/app/assets/javascripts/merge_request.js index c837583dd45a4..03bfc4a9602e8 100644 --- a/app/assets/javascripts/merge_request.js +++ b/app/assets/javascripts/merge_request.js @@ -6,10 +6,10 @@ import { TYPE_MERGE_REQUEST } from '~/issues/constants'; import toast from '~/vue_shared/plugins/global_toast'; import { __ } from '~/locale'; import { loadingIconForLegacyJS } from '~/loading_icon_for_legacy_js'; +import MergeRequestTabs from 'jh_else_ce/merge_request_tabs'; import axios from './lib/utils/axios_utils'; import { addDelimiter } from './lib/utils/text_utility'; import { getParameterValues, setUrlParams } from './lib/utils/url_utility'; -import MergeRequestTabs from './merge_request_tabs'; import TaskList from './task_list'; function MergeRequest(opts) { diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js index 48e4189810e6d..a1e29af224bd4 100644 --- a/app/assets/javascripts/merge_request_tabs.js +++ b/app/assets/javascripts/merge_request_tabs.js @@ -131,7 +131,7 @@ function mountPipelines() { return table; } -function destroyPipelines(app) { +export function destroyPipelines(app) { if (app && app.$destroy) { app.$destroy(); @@ -167,7 +167,7 @@ function loadDiffs({ url, tabs }) { }); } -function toggleLoader(state) { +export function toggleLoader(state) { $('.mr-loading-status .loading').toggleClass('hide', !state); } @@ -183,7 +183,7 @@ export function getActionFromHref(pathName) { return action; } -const pageBundles = { +export const pageBundles = { show: () => import(/* webpackPrefetch: true */ '~/mr_notes/mount_app'), diffs: () => import(/* webpackPrefetch: true */ '~/diffs'), }; @@ -208,6 +208,7 @@ export default class MergeRequestTabs { this.pageLayout = document.querySelector('.layout-page'); this.expandSidebar = document.querySelectorAll('.js-expand-sidebar, .js-sidebar-toggle'); this.paddingTop = 16; + this.actionRegex = /\/(commits|diffs|pipelines)(\.html)?\/?$/; this.scrollPositions = {}; @@ -435,7 +436,7 @@ export default class MergeRequestTabs { this.currentAction = action; // Remove a trailing '/commits' '/diffs' '/pipelines' - let newState = location.pathname.replace(/\/(commits|diffs|pipelines)(\.html)?\/?$/, ''); + let newState = location.pathname.replace(this.actionRegex, ''); // Append the new action if we're on a tab other than 'notes' if (this.currentAction !== 'show' && this.currentAction !== 'new') { -- GitLab