Added data-e2e to Delete inventory modal and Global search [SCI-10717]

This commit is contained in:
Klemen Benedicic 2024-05-16 14:34:59 +02:00
parent 5c122ef72b
commit 7284b6105e
17 changed files with 107 additions and 63 deletions

View file

@ -1,5 +1,5 @@
<template>
<div class="content-pane flexible with-grey-background">
<div class="content-pane flexible with-grey-background" data-e2e="e2e-CO-globalSearch">
<div class="content-header">
<div class="title-row">
<h1 class="mt-0 truncate !inline">
@ -14,7 +14,7 @@
<GeneralDropdown ref="historyContainer" :canOpen="canOpenHistory" :fieldOnlyOpen="true" >
<template v-slot:field>
<div class="left-icon sci-input-container-v2 w-72 input-sm"
:title="i18n.t('nav.search')" :class="{'error': invalidQuery}">
:title="i18n.t('nav.search')" :class="{'error': invalidQuery}" :data-e2e="'e2e-IF-globalSearch'">
<input ref="searchField"
type="text"
class="!pr-9"
@ -28,7 +28,7 @@
<i class="sn-icon sn-icon-search"></i>
<i v-if="localQuery.length > 0"
class="sn-icon cursor-pointer sn-icon-close absolute right-0 -top-0.5"
@click="localQuery = ''; $refs.searchField.focus()" :title="i18n.t('nav.clear')"></i>
@click="localQuery = ''; $refs.searchField.focus()" :title="i18n.t('nav.clear')" :data-e2e="'e2e-BT-globalSearch-clearInput'"></i>
</div>
</template>
<template v-slot:flyout >
@ -46,17 +46,17 @@
</template>
</GeneralDropdown>
<div class="flex items-center gap-2.5">
<button class="btn btn-secondary btn-sm" :class="{'active': activeGroup == 'ExperimentsComponent'}" @click="setActiveGroup('ExperimentsComponent')">
<button class="btn btn-secondary btn-sm" :class="{'active': activeGroup == 'ExperimentsComponent'}" @click="setActiveGroup('ExperimentsComponent')" :data-e2e="'e2e-BT-globalSearch-experiments'">
{{ i18n.t('search.index.experiments') }}
</button>
<button class="btn btn-secondary btn-sm" :class="{'active': activeGroup == 'MyModulesComponent'}" @click="setActiveGroup('MyModulesComponent')">
<button class="btn btn-secondary btn-sm" :class="{'active': activeGroup == 'MyModulesComponent'}" @click="setActiveGroup('MyModulesComponent')" :data-e2e="'e2e-BT-globalSearch-tasks'">
{{ i18n.t('search.index.tasks') }}
</button>
<button class="btn btn-secondary btn-sm" :class="{'active': activeGroup == 'ResultsComponent'}" @click="setActiveGroup('ResultsComponent')">
<button class="btn btn-secondary btn-sm" :class="{'active': activeGroup == 'ResultsComponent'}" @click="setActiveGroup('ResultsComponent')" :data-e2e="'e2e-BT-globalSearch-taskResults'">
{{ i18n.t('search.index.task_results') }}
</button>
</div>
<button class="btn btn-light btn-sm" @click="filterModalOpened = true">
<button class="btn btn-light btn-sm" @click="filterModalOpened = true" :data-e2e="'e2e-BT-globalSearch-openFilterModal'">
<i class="sn-icon sn-icon-search-options" :title="i18n.t('search.index.more_search_options')"></i>
<span class="tw-hidden xl:inline">{{ i18n.t('search.index.more_search_options') }}</span>
<span
@ -68,12 +68,12 @@
</button>
<template v-if="activeFilters.length > 0">
<div class="h-4 w-[1px] bg-sn-grey"></div>
<button class="btn btn-light btn-sm" @click="resetFilters">
<button class="btn btn-light btn-sm" @click="resetFilters" :data-e2e="'e2e-BT-globalSearch-resetFilters'">
<i class="sn-icon sn-icon-close" :title="i18n.t('search.index.clear_filters')"></i>
<span class="tw-hidden xl:inline">{{ i18n.t('search.index.clear_filters') }}</span>
</button>
</template>
<button v-if="activeGroup" class="btn btn-light btn-sm" @click="resetGroup">
<button v-if="activeGroup" class="btn btn-light btn-sm" @click="resetGroup" :data-e2e="'e2e-BT-globalSearch-resetGroup'">
<i class="sn-icon sn-icon-undo" :title="i18n.t('search.index.all_results')"></i>
<span class="tw-hidden xl:inline">{{ i18n.t('search.index.all_results') }}</span>
</button>

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-files'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.files') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-files-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_auto_auto_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -33,7 +33,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'AssetsComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'AssetsComponent')" :data-e2e="'e2e-BT-globalSearch-files-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-experiments'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.experiments') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-experiments-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_110px_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -27,7 +27,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'ExperimentsComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'ExperimentsComponent')" :data-e2e="'e2e-BT-globalSearch-experiments-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-folders'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.folders') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-folders-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_110px_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -28,7 +28,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'FoldersComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'FoldersComponent')" :data-e2e="'e2e-BT-globalSearch-folders-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -6,6 +6,7 @@
position="right"
@dtEvent="changeSort"
btnIcon="sn-icon sn-icon-sort-down"
:e2eSortButton="e2eSortButton"
></MenuDropdown>
</template>
@ -18,6 +19,10 @@ export default {
sort: {
type: String,
default: 'created_desc'
},
e2eSortButton: {
type: String,
default: ''
}
},
components: {

View file

@ -1,5 +1,5 @@
<template>
<div v-if="!disabled" ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div v-if="!disabled" ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-labelTemplates'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.label_templates') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-labelTemplates-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_110px_auto_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -29,7 +29,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'LabelTemplatesComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'LabelTemplatesComponent')" :data-e2e="'e2e-BT-globalSearch-labelTemplates-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-taskProtocols'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.task_protocols') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-taskProtocols-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_110px_auto_auto_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -31,7 +31,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'MyModuleProtocolsComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'MyModuleProtocolsComponent')" :data-e2e="'e2e-BT-globalSearch-taskProtocols-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />
@ -48,7 +48,7 @@ export default {
mixins: [searchMixin],
data() {
return {
group: 'module_protocols'
group: 'module_protocols',
};
}
};

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-tasks'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.tasks') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-tasks-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_110px_auto_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -29,7 +29,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'MyModulesComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'MyModulesComponent')" :data-e2e="'e2e-BT-globalSearch-tasks-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-projects'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.projects') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-projects-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_110px_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -28,7 +28,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'ProjectsComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'ProjectsComponent')" :data-e2e="'e2e-BT-globalSearch-projects-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-protocolTemplates'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.protocol_templates') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-protocolTemplates-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_110px_auto_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -29,7 +29,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'ProtocolsComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'ProtocolsComponent')" :data-e2e="'e2e-BT-globalSearch-protocolTemplates-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-reports'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.reports') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-reports-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_110px_auto_auto_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -31,7 +31,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'ReportsComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'ReportsComponent')" :data-e2e="'e2e-BT-globalSearch-reports-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-inventoryItems'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.inventory_items') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-inventoryItems-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_110px_auto_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -29,7 +29,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'RepositoryRowsComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'RepositoryRowsComponent')" :data-e2e="'e2e-BT-globalSearch-inventoryItems-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -1,5 +1,5 @@
<template>
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }">
<div ref="content" class="bg-white rounded" :class="{ 'p-4 mb-4': results.length || loading }" :data-e2e="'e2e-CO-globalSearch-results'">
<template v-if="total && results.length">
<div class="flex items-center">
<h2 class="flex items-center gap-2 mt-0 mb-4">
@ -7,7 +7,7 @@
{{ i18n.t('search.index.task_results') }}
<span class="text-base" >[{{ total }}]</span>
</h2>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort"></SortFlyout>
<SortFlyout v-if="selected" :sort="sort" @changeSort="changeSort" :e2eSortButton="'e2e-BT-globalSearch-results-sort'"></SortFlyout>
</div>
<div class="grid grid-cols-[auto_auto_auto_auto_auto_auto] items-center">
<TableHeader :selected="selected" :columnNames="[
@ -29,7 +29,7 @@
</div>
<div v-if="viewAll">
<hr class="w-full mb-4 mt-0">
<button class="btn btn-light" @click="$emit('selectGroup', 'ResultsComponent')">View all</button>
<button class="btn btn-light" @click="$emit('selectGroup', 'ResultsComponent')" :data-e2e="'e2e-BT-globalSearch-results-viewAll'">View all</button>
</div>
</template>
<Loader v-if="loading" :loaderRows="loaderRows" />

View file

@ -3,7 +3,7 @@
<template v-slot:field>
<div class="sci--navigation--top-menu-search left-icon sci-input-container-v2"
:class="{'disabled' : !currentTeam, 'error': invalidQuery}" :title="i18n.t('nav.search')"
>
:data-e2e="'e2e-IF-topMenu-search'">
<input ref="searchField" type="text" class="!pr-20" v-model="searchQuery"
:class="{'active': flyoutOpened}"
@keydown="focusHistoryItem"
@ -12,11 +12,11 @@
@focus="openHistory" :placeholder="i18n.t('nav.search')" @keydown.enter="saveQuery"/>
<i class="sn-icon sn-icon-search"></i>
<div v-if="this.searchQuery.length > 1" class="flex items-center gap-1 absolute right-2 top-1.5">
<button class="btn btn-light icon-btn btn-xs" @click="this.searchQuery = ''; $refs.searchField.focus()">
<button class="btn btn-light icon-btn btn-xs" @click="this.searchQuery = ''; $refs.searchField.focus()" :data-e2e="'e2e-BT-topMenu-searchClear'">
<i class="sn-icon sn-icon-close !m-0" :title="i18n.t('nav.clear')"></i>
</button>
<button class="btn btn-light icon-btn btn-xs" :title="i18n.t('search.quick_search.search_options')"
:class="{'active': filtersOpened}" @click="filtersOpened = !filtersOpened">
:class="{'active': filtersOpened}" @click="filtersOpened = !filtersOpened" :data-e2e="'e2e-BT-topMenu-searchFilters'">
<i class="sn-icon sn-icon-search-options !m-0"></i>
</button>
</div>
@ -34,7 +34,7 @@
:searchQuery="searchQuery"
@cancel="filtersOpened = false"
></SearchFilters>
<div v-else-if="showHistory" class="max-w-[600px]">
<div v-else-if="showHistory" class="max-w-[600px]" data-e2e="e2e-DD-topMenu-searchHistory">
<div v-for="(query, i) in reversedPreviousQueries" @click="setQuery(query)" :key="i"
ref="historyItems"
tabindex="1"
@ -45,22 +45,25 @@
{{ query }}
</div>
</div>
<div v-else class="w-[600px]">
<div v-else class="w-[600px]" data-e2e="e2e-FO-topMenu-quickSearch">
<div class="flex items-center gap-2">
<button class="btn btn-secondary btn-xs"
ref="experimentGroup"
:class="{'active': quickFilter === 'experiments'}"
@click="setQuickFilter('experiments')">
@click="setQuickFilter('experiments')"
:data-e2e="'e2e-BT-topMenu-quickSearch-experiments'">
{{ i18n.t('search.quick_search.experiments') }}
</button>
<button class="btn btn-secondary btn-xs"
:class="{'active': quickFilter === 'my_modules'}"
@click="setQuickFilter('my_modules')">
@click="setQuickFilter('my_modules')"
:data-e2e="'e2e-BT-topMenu-quickSearch-tasks'">
{{ i18n.t('search.quick_search.tasks') }}
</button>
<button class="btn btn-secondary btn-xs"
:class="{'active': quickFilter === 'results'}"
@click="setQuickFilter('results')">
@click="setQuickFilter('results')"
:data-e2e="'e2e-BT-topMenu-quickSearch-taskResults'">
{{ i18n.t('search.quick_search.results') }}
</button>
</div>
@ -110,7 +113,7 @@
</div>
</div>
<hr class="my-2">
<button class="btn btn-light truncate !block leading-10 max-w-[600px]" @click="searchValue">
<button class="btn btn-light truncate !block leading-10 max-w-[600px]" @click="searchValue" :data-e2e="'e2e-BT-topMenu-quickSearch-allSearchResults'">
{{ i18n.t('search.quick_search.all_results', {query: searchQuery}) }}
</button>
</div>

View file

@ -26,6 +26,11 @@
confirmClass="btn btn-danger"
:confirmText="i18n.t('repositories.index.modal_delete.delete')"
ref="deleteModal"
:e2eModalName="deleteModal.e2eModalName"
:e2eTitle="deleteModal.e2eTitle"
:e2eClose="deleteModal.e2eClose"
:e2eCancel="deleteModal.e2eCancel"
:e2eConfirm="deleteModal.e2eConfirm"
></ConfirmationModal>
<ConfirmationModal
:title="exportModal.title"
@ -111,7 +116,12 @@ export default {
shareRepository: null,
deleteModal: {
title: '',
description: ''
description: '',
e2eModalName: '',
e2eTitle: '',
e2eClose: '',
e2eCancel: '',
e2eConfirm: '',
},
exportModal: {
title: '',
@ -250,10 +260,15 @@ export default {
},
async deleteRepository(event, rows) {
const [repository] = rows;
this.deleteModal.e2eModalName = 'e2e-MD-deleteInventory';
this.deleteModal.e2eTitle = 'e2e-TX-deleteInventoryModal-title',
this.deleteModal.e2eClose = 'e2e-BT-deleteInventoryModal-close',
this.deleteModal.e2eCancel = 'e2e-BT-deleteInventoryModal-cancel',
this.deleteModal.e2eConfirm = 'e2e-BT-deleteInventoryModal-delete',
this.deleteModal.title = this.i18n.t('repositories.index.modal_delete.title_html', { name: repository.name });
this.deleteModal.description = `
<p>${this.i18n.t('repositories.index.modal_delete.message_html', { name: repository.name })}</p>
<div class="alert alert-danger" role="alert">
<p data-e2e="e2e-TX-deleteInventoryModal-info">${this.i18n.t('repositories.index.modal_delete.message_html', { name: repository.name })}</p>
<div class="alert alert-danger" role="alert" data-e2e="e2e-TX-deleteInventoryModal-warning">
<span class="fas fa-exclamation-triangle"></span>
${this.i18n.t('repositories.index.modal_delete.alert_heading')}
<ul>

View file

@ -1,17 +1,17 @@
<template>
<div ref="modal" @keydown.esc="cancel" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog" role="document" :data-e2e="e2eModalName">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><i class="sn-icon sn-icon-close"></i></button>
<h4 class="modal-title">
<button type="button" class="close" data-dismiss="modal" aria-label="Close" :data-e2e="e2eClose"><i class="sn-icon sn-icon-close"></i></button>
<h4 class="modal-title" :data-e2e="e2eTitle">
{{ title }}
</h4>
</div>
<div class="modal-body" v-html="description"></div>
<div class="modal-footer">
<button :class="cancelClass" @click="cancel">{{ cancelText || i18n.t('general.cancel') }}</button>
<button :class="confirmClass" @click="confirm">{{ confirmText || i18n.t('general.confirm') }}</button>
<button :class="cancelClass" @click="cancel" :data-e2e="e2eCancel">{{ cancelText || i18n.t('general.cancel') }}</button>
<button :class="confirmClass" @click="confirm" :data-e2e="e2eConfirm">{{ confirmText || i18n.t('general.confirm') }}</button>
</div>
</div>
</div>
@ -42,6 +42,26 @@
confirmClass: {
type: String,
default: 'btn btn-primary'
},
e2eModalName: {
type: String,
default: ''
},
e2eTitle: {
type: String,
default: ''
},
e2eClose: {
type: String,
default: ''
},
e2eCancel: {
type: String,
default: ''
},
e2eConfirm: {
type: String,
default: ''
}
},
mounted() {

View file

@ -1,6 +1,6 @@
<template>
<div class="relative" v-if="listItems.length > 0 || alwaysShow" v-click-outside="closeMenu" >
<button ref="field" :class="btnClasses" :title="title" @click="isOpen = !isOpen">
<button ref="field" :class="btnClasses" :title="title" @click="isOpen = !isOpen" :data-e2e="e2eSortButton">
<i v-if="btnIcon" :class="btnIcon"></i>
{{ btnText }}
<i v-if="caret && isOpen" class="sn-icon sn-icon-up"></i>
@ -79,11 +79,12 @@ export default {
btnIcon: { type: String, required: false },
caret: { type: Boolean, default: false },
alwaysShow: { type: Boolean, default: false },
title: { type: String, default: '' }
title: { type: String, default: '' },
e2eSortButton: { type: String, default: '' }
},
data() {
return {
isOpen: false
isOpen: false,
};
},
directives: {