Skip to content
Snippets Groups Projects

Move search bar to top nav to test usage changes

Merged Tomas Bulva requested to merge 480341-move-search-bar-to-top-nav-to-test-usage-changes into master
1 unresolved thread
Compare and Show latest version
7 files
+ 37
19
Compare changes
  • Side-by-side
  • Inline
Files
7
@@ -3,6 +3,11 @@ import { GlModalDirective, GlTooltipDirective, GlIcon, GlButton } from '@gitlab/
import { __, s__, sprintf } from '~/locale';
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import { InternalEvents } from '~/tracking';
import {
isNarrowScreen,
isNarrowScreenAddListener,
isNarrowScreenRemoveListener,
} from '~/lib/utils/css_utils';
import { SEARCH_MODAL_ID } from '../constants';
import SearchModal from './global_search.vue';
@@ -31,8 +36,16 @@ export default {
data() {
return {
searchTooltip: this.$options.i18n.searchKbdHelp,
isNarrowScreen: false,
};
},
mounted() {
this.isNarrowScreen = isNarrowScreen(this.$refs?.buttonRoot);
isNarrowScreenAddListener(this.$refs?.buttonRoot, this.handleNarrowScreenChange);
},
beforeDestroy() {
isNarrowScreenRemoveListener(this.$refs.buttonRoot, this.handleNarrowScreenChange);
},
methods: {
handleNarrowScreenChange({ matches }) {
this.isNarrowScreen = matches;
@@ -51,18 +64,21 @@ export default {
<div
v-if="glFeatures.searchButtonTopRight"
ref="buttonRoot"
class="gl-border gl-w-[300px] gl-rounded-base gl-border-gray-400"
:class="{ 'border-0 gl-w-[300px] gl-rounded-base': !isNarrowScreen }"
>
<gl-button
id="super-sidebar-search"
v-gl-tooltip.bottom.html="searchTooltip"
v-gl-modal="$options.SEARCH_MODAL_ID"
class="user-bar-button gl-w-[300px] !gl-justify-start"
:class="{
'user-bar-button gl-w-[300px] !gl-justify-start': !isNarrowScreen,
'border-0 shadow-none bg-transparent': isNarrowScreen,
}"
data-testid="super-sidebar-search-button"
@click="trackEvent('click_search_button_to_activate_command_palette', { label: 'top_right' })"
>
<gl-icon name="search" />
<span>{{ $options.i18n.searchBtnText }}</span>
<span v-if="!isNarrowScreen">{{ $options.i18n.searchBtnText }}</span>
</gl-button>
<search-modal @shown="hideSearchTooltip" @hidden="showSearchTooltip" />
</div>
Loading