e2e - added new tags at inventories section [SCI-9919] (#6858)

This commit is contained in:
mvrazic 2024-01-15 16:59:05 +01:00 committed by GitHub
parent e323f329e5
commit f57a2d550a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 57 additions and 29 deletions

View file

@ -2,7 +2,8 @@
<div v-if="!paramsAreBlank"
class="sn-action-toolbar p-4 w-full fixed bottom-0 rounded-t-md"
:class="{ 'sn-action-toolbar--button-overflow': buttonOverflow }"
:style="`width: ${width}px; bottom: ${bottomOffset}px; transform: translateX(${leftOffset}px)`">
:style="`width: ${width}px; bottom: ${bottomOffset}px; transform: translateX(${leftOffset}px)`"
:data-e2e="`e2e-CO-actionToolbar`">
<div class="sn-action-toolbar__actions flex gap-4">
<div v-if="loading && !actions.length" class="sn-action-toolbar__action">
<a class="rounded flex items-center py-1.5 px-2.5 bg-transparent text-transparent no-underline"></a>
@ -12,7 +13,7 @@
</div>
<div v-for="action in actions" :key="action.name" class="sn-action-toolbar__action shrink-0">
<div v-if="action.type === 'group' && Array.isArray(action.actions) && action.actions.length > 1" class="export-actions-dropdown sci-dropdown dropup">
<button class="btn btn-primary dropdown-toggle single-object-action rounded" type="button" id="exportDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<button class="btn btn-primary dropdown-toggle single-object-action rounded" type="button" id="exportDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" data-e2e="e2e-DD-actionToolbar-export">
<i class="sn-icon sn-icon-export"></i>
<span>{{ action.group_label }}</span>
<span class="sn-icon sn-icon-down"></span>
@ -29,7 +30,6 @@
:data-object-type="groupAction.item_type"
:data-object-id="groupAction.item_id"
:data-action="groupAction.type"
:data-e2e="`e2e-BT-actionToolbar-${groupAction.name}`"
@click="closeExportDropdown($event); doAction(groupAction, $event);">
<span class="sn-action-toolbar__button-text">{{ groupAction.label }}</span>
</a>
@ -47,7 +47,7 @@
:data-object-type="action.actions[0].item_type"
:data-object-id="action.actions[0].item_id"
:data-action="action.actions[0].type"
:data-e2e="`e2e-BT-actionToolbar-${action.name}`"
:data-e2e="`e2e-BT-actionToolbar-${action.name.replace('export_group', 'export')}`"
@click="doAction(action.actions[0], $event);">
<i :class="action.actions[0].icon"></i>
<span class="sn-action-toolbar__button-text">{{ action.group_label }}</span>

View file

@ -19,7 +19,7 @@
/>
</div>
</div>
<button type="button" class="close" @click="$emit('hide-dropdown')" aria-label="<%= t('general.close') %>">
<button type="button" class="close" @click="$emit('hide-dropdown')" aria-label="<%= t('general.close') %>" data-e2e="e2e-BT-invInventoryFilterCO-close">
<i class="sn-icon sn-icon-close"></i>
</button>
</div>
@ -45,10 +45,10 @@
/>
</div>
</div>
<button class="btn btn-secondary clear-filters-btn prevent-shrink" @click="clearFilters">
<button class="btn btn-secondary clear-filters-btn prevent-shrink" @click="clearFilters" data-e2e="e2e-BT-invInventoryFilterCO-clear">
{{ i18n.t('repositories.show.filters.clear') }}
</button>
<button @click="$emit('filters:apply')" class="btn btn-primary apply-button prevent-shrink">
<button @click="$emit('filters:apply')" class="btn btn-primary apply-button prevent-shrink" data-e2e="e2e-BT-invInventoryFilterCO-showResults">
{{ i18n.t('repositories.show.filters.apply') }}
</button>
</div>

View file

@ -1,5 +1,5 @@
<template>
<div class="filter-container">
<div class="filter-container" >
<div class='filter-title'>{{ filter.column.name }}</div>
<div class="filter-element">
<div class="filter-body">
@ -9,7 +9,7 @@
:my_modules='my_modules'
@filter:update="updateFilter" />
</div>
<div class="filter-remove">
<div class="filter-remove" :data-e2e="'e2e-BT-invInventoryFilterCO-remove'+filter.column.id">
<button class="btn btn-light icon-btn" @click="$emit('filter:delete')">
<i class="sn-icon sn-icon-delete"></i>
</button>

View file

@ -6,6 +6,7 @@
:options="operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -15,6 +16,7 @@
type="text"
name="value"
v-model="value"
:data-e2e="`e2e-IF-invInventoryFilterCO-input${this.filter.column.id}`"
:placeholder="i18n.t('repositories.show.repository_filter.filters.types.RepositoryAssetValue.input_placeholder')"
/>
</div>

View file

@ -6,6 +6,7 @@
:options="this.operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -21,6 +22,7 @@
:dataSelectMultipleAllSelected="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryChecklistValue.all_selected')"
:selectorId="`ChecklistSelector${this.filter.id}`"
:placeholder="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryChecklistValue.select_placeholder', {name: this.filter.column.name})"
:data-e2e="`e2e-DC-invInventoryFilterCO-input${this.filter.column.id}`"
@dropdown:changed="updateValue"
/>
</div>

View file

@ -6,14 +6,15 @@
:options="operators"
:selectorId="`OperatorSelector${filter.id}`"
:selectedValue="operator"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator" />
</div>
<div class="filter-datepicker-input">
<DateTimePicker @change="updateDate" :selectorId="`DatePicker${filter.id}`" :mode="'date'" :defaultValue="date || fallbackDate()" />
<DateTimePicker @change="updateDate" :data-e2e="`e2e-DP-invInventoryFilterCO-inputFrom${this.filter.column.id}`" :selectorId="`DatePicker${filter.id}`" :mode="'date'" :defaultValue="date || fallbackDate()" />
</div>
<span class="between-delimiter"></span>
<div class="filter-datepicker-to-input">
<DateTimePicker @change="updateDateTo" :selectorId="`DatePickerTo${filter.id}`" :mode="'date'" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
<DateTimePicker @change="updateDateTo" :data-e2e="`e2e-DP-invInventoryFilterCO-inputTo${this.filter.column.id}`" :selectorId="`DatePickerTo${filter.id}`" :mode="'date'" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
</div>
</div>
</template>

View file

@ -6,15 +6,16 @@
:options="operators"
:selectorId="`OperatorSelector${filter.id}`"
:selectedValue="operator"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator" />
</div>
<div class="datetime-filter-attributes">
<div class="filter-datepicker-input">
<DateTimePicker @change="updateDate" :selectorId="`DatePicker${filter.id}`" :defaultValue="date || fallbackDate()" />
<DateTimePicker @change="updateDate" :data-e2e="`e2e-DP-invInventoryFilterCO-inputFrom${this.filter.column.id}`" :selectorId="`DatePicker${filter.id}`" :defaultValue="date || fallbackDate()" />
</div>
<div class="between-delimiter vertical"></div>
<div class="filter-datepicker-to-input">
<DateTimePicker @change="updateDateTo" :selectorId="`DatePickerTo${filter.id}`" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
<DateTimePicker @change="updateDateTo" :data-e2e="`e2e-DP-invInventoryFilterCO-inputTo${this.filter.column.id}`" :selectorId="`DatePickerTo${filter.id}`" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
</div>
</div>
</div>

View file

@ -6,16 +6,17 @@
:options="operators"
:selectorId="`OperatorSelector${filter.id}`"
:selectedValue="operator"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator" />
</div>
<template v-if="!isPreset">
<div class="datetime-filter-attributes">
<div class="filter-datepicker-input">
<DateTimePicker @change="updateDate" :selectorId="`DatePicker${filter.id}`" :defaultValue="date" />
<DateTimePicker @change="updateDate" :data-e2e="`e2e-DP-invInventoryFilterCO-input${this.filter.column.id}`" :selectorId="`DatePicker${filter.id}`" :defaultValue="date" />
</div>
<div class="between-delimiter vertical" v-if="operator == 'between'"></div>
<div class="filter-datepicker-to-input">
<DateTimePicker @change="updateDateTo" v-if="operator == 'between'" :selectorId="`DatePickerTo${filter.id}`" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
<DateTimePicker @change="updateDateTo" :data-e2e="`e2e-DP-invInventoryFilterCO-inputUpdate${this.filter.column.id}`" v-if="operator == 'between'" :selectorId="`DatePickerTo${filter.id}`" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
</div>
</div>
</template>

View file

@ -6,15 +6,16 @@
:options="operators"
:selectorId="`OperatorSelector${filter.id}`"
:selectedValue="operator"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator" />
</div>
<template v-if="!isPreset">
<div class="filter-datepicker-input">
<DateTimePicker @change="updateDate" :selectorId="`DatePicker${filter.id}`" :mode="'date'" :defaultValue="date || fallbackDate()" />
<DateTimePicker @change="updateDate" :data-e2e="`e2e-DP-invInventoryFilterCO-input${this.filter.column.id}`" :selectorId="`DatePicker${filter.id}`" :mode="'date'" :defaultValue="date || fallbackDate()" />
</div>
<span class="between-delimiter" v-if="operator == 'between'"></span>
<div class="filter-datepicker-to-input" v-if="operator == 'between'">
<DateTimePicker @change="updateDateTo" :selectorId="`DatePickerTo${filter.id}`" :mode="'date'" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
<DateTimePicker @change="updateDateTo" :data-e2e="`e2e-DP-invInventoryFilterCO-inputUpdate${this.filter.column.id}`" :selectorId="`DatePickerTo${filter.id}`" :mode="'date'" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
</div>
</template>
</div>

View file

@ -6,6 +6,7 @@
:options="this.operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -21,6 +22,7 @@
:dataSelectMultipleAllSelected="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryListValue.all_selected')"
:selectorId="`DropdownSelector${this.filter.id}`"
:placeholder="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryListValue.select_placeholder', {name: this.filter.column.name})"
:data-e2e="`e2e-DC-invInventoryFilterCO-input${this.filter.column.id}`"
@dropdown:changed="updateValue"
/>
</div>

View file

@ -6,6 +6,7 @@
:options="this.operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -23,6 +24,7 @@
:dataSelectMultipleAllSelected="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryMyModuleValue.all_selected')"
:selectorId="`MyModulesSelector${this.filter.id}`"
:placeholder="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryMyModuleValue.select_placeholder')"
:data-e2e="`e2e-DC-invInventoryFilterCO-input${this.filter.column.id}`"
@dropdown:changed="updateValue"
/>
</div>

View file

@ -6,6 +6,7 @@
:options="this.operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -15,6 +16,7 @@
type="text"
name="value"
v-model="value"
:data-e2e="`e2e-IF-invInventoryFilterCO-input${this.filter.column.id}`"
:placeholder= "this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryNonEmptyTextValue.input_placeholder', {name: this.filter.column.name})"
/>
</div>

View file

@ -6,6 +6,7 @@
:options="this.operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -15,6 +16,7 @@
type="text"
name="value"
v-model="value"
:data-e2e="`e2e-IF-invInventoryFilterCO-input${this.filter.column.id}`"
:placeholder= "this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryNumberValue.input_placeholder',{name: this.filter.column.name})"
/>
</div>
@ -25,6 +27,7 @@
type="text"
name="from"
v-model="from"
:data-e2e="`e2e-IF-invInventoryFilterCO-inputFrom${this.filter.column.id}`"
:placeholder= "this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryNumberValue.from_placeholder')"
/>
</div>
@ -35,6 +38,7 @@
type="text"
name="to"
v-model="to"
:data-e2e="`e2e-IF-invInventoryFilterCO-inputTo${this.filter.column.id}`"
:placeholder= "this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryNumberValue.to_placeholder')"
/>
</div>

View file

@ -6,6 +6,7 @@
:options="this.operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -21,6 +22,7 @@
:dataSelectMultipleAllSelected="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryStatusValue.all_selected')"
:selectorId="`DropdownSelector${this.filter.id}`"
:placeholder="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryStatusValue.select_placeholder', {name: this.filter.column.name})"
:data-e2e="`e2e-DC-invInventoryFilterCO-input${this.filter.column.id}`"
@dropdown:changed="updateValue"
/>
</div>

View file

@ -6,6 +6,7 @@
:options="this.operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -15,6 +16,7 @@
type="text"
name="value"
v-model="value"
:data-e2e="`e2e-IF-invInventoryFilterCO-input${this.filter.column.id}`"
:placeholder= "this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryStockValue.input_placeholder')"
/>
</div>
@ -46,6 +48,7 @@
:selectedValue="this.stock_unit"
:options="this.prepareUnitOptions()"
:selectorId="`StockUnitSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-input${this.filter.column.id}`"
@dropdown:changed="updateStockUnit"
/>
</div>

View file

@ -6,6 +6,7 @@
:options="this.operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -15,6 +16,7 @@
type="text"
name="value"
v-model="value"
:data-e2e="`e2e-IF-invInventoryFilterCO-input${this.filter.column.id}`"
:placeholder= "this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryTextValue.input_placeholder',{name: this.filter.column.name})"
/>
</div>

View file

@ -6,14 +6,15 @@
:options="operators"
:selectorId="`OperatorSelector${filter.id}`"
:selectedValue="operator"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator" />
</div>
<div class="filter-datepicker-input">
<DateTimePicker @change="updateDate" :selectorId="`TimePicker${filter.id}`" :mode="'time'" :defaultValue="date || fallbackDate()" />
<DateTimePicker @change="updateDate" :data-e2e="`e2e-TP-invInventoryFilterCO-inputFrom${this.filter.column.id}`" :selectorId="`TimePicker${filter.id}`" :mode="'time'" :defaultValue="date || fallbackDate()" />
</div>
<span class="between-delimiter"></span>
<div class="filter-datepicker-to-input">
<DateTimePicker @change="updateDateTo" :selectorId="`TimePickerTo${filter.id}`" :mode="'time'" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
<DateTimePicker @change="updateDateTo" :data-e2e="`e2e-TP-invInventoryFilterCO-inputTo${this.filter.column.id}`" :selectorId="`TimePickerTo${filter.id}`" :mode="'time'" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
</div>
</div>
</template>

View file

@ -6,15 +6,16 @@
:options="operators"
:selectorId="`OperatorSelector${filter.id}`"
:selectedValue="operator"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator" />
</div>
<template v-if="!isPreset">
<div class="filter-datepicker-input">
<DateTimePicker @change="updateDate" :selectorId="`TimePicker${filter.id}`" :mode="'time'" :defaultValue="date || fallbackDate()" />
<DateTimePicker @change="updateDate" :data-e2e="`e2e-TP-invInventoryFilterCO-input${this.filter.column.id}`" :selectorId="`TimePicker${filter.id}`" :mode="'time'" :defaultValue="date || fallbackDate()" />
</div>
<span class="between-delimiter" v-if="operator == 'between'"></span>
<div class="filter-datepicker-to-input" v-if="operator == 'between'">
<DateTimePicker @change="updateDateTo" :selectorId="`TimePickerTo${filter.id}`" :mode="'time'" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
<DateTimePicker @change="updateDateTo" :data-e2e="`e2e-TP-invInventoryFilterCO-inputUpdate${this.filter.column.id}`" :selectorId="`TimePickerTo${filter.id}`" :mode="'time'" :defaultValue="dateTo || fallbackDate(7 * 24 * 60 * 60)" />
</div>
</template>
</div>

View file

@ -6,6 +6,7 @@
:options="this.operators"
:selectedValue="this.operator"
:selectorId="`OperatorSelector${this.filter.id}`"
:data-e2e="`e2e-DD-invInventoryFilterCO-option${this.filter.column.id}`"
@dropdown:changed="updateOperator"
/>
</div>
@ -23,6 +24,7 @@
:dataSelectMultipleAllSelected="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryUserValue.all_selected')"
:selectorId="`UserSelector${this.filter.id}`"
:placeholder="this.i18n.t('repositories.show.repository_filter.filters.types.RepositoryUserValue.select_placeholder')"
:data-e2e="`e2e-DC-invInventoryFilterCO-input${this.filter.column.id}`"
@dropdown:changed="updateValue"
/>
</div>

View file

@ -1,8 +1,8 @@
<div class="modal fade" id="delete-repo-modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog" role="document" data-e2e="e2e-MD-invDeleteAT">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<button type="button" class="close" data-dismiss="modal" aria-label="Close" data-e2e="e2e-BT-invDeleteMD-close">
<i class="sn-icon sn-icon-close"></i>
</button>
<h4 class="modal-title"><%= t("repositories.index.modal_delete.title_html", name: @repository.name) %></h4>
@ -20,7 +20,7 @@
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal"><%= t("general.cancel")%></button>
<button type="button" class="btn btn-secondary" data-dismiss="modal" data-e2e="e2e-BT-invDeleteMD-cancel"><%= t("general.cancel")%></button>
<%= link_to t('repositories.index.modal_delete.delete'),
team_repository_path(id: @repository),
id: "confirm-repo-delete",

View file

@ -8,7 +8,7 @@
<meta id="cache-directive" name="turbolinks-cache-control" content="no-cache">
<% end %>
<div class="content-pane repository-show <%= @repository.archived? || params[:archived] ? "archived" : "active" %>" data-table-url="<%= load_table_repository_path(@repository) %>">
<div class="content-pane repository-show <%= @repository.archived? || params[:archived] ? "archived" : "active" %>" data-table-url="<%= load_table_repository_path(@repository) %>" data-e2e="e2e-CO-invInventory-<%= @repository.id %>">
<div id="repository-toolbar" class="content-header">
<div class="title-row">
<% if @repository.active? %>

View file

@ -1,5 +1,4 @@
<div
data-e2e="e2e-CO-invInventory-<%= config[:item_id] %>"
class="inline-editing-container inline-init-handler"
data-field-to-update="<%= config[:field_to_udpate] %>"
data-params-group="<%= config[:params_group] %>"

View file

@ -1,16 +1,16 @@
<div class="dropdown view-switch" >
<div href="#" class="btn btn-light btn-black view-switch-button prevent-shrink <%= "disabled" if disabled %>" id="viewSwitchButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="state-view-switch-btn-name" data-e2e="e2e-TX-invInventoryViewSwitchRT-selected"><%= archived ? t('toolbar.archived_state') : t('toolbar.active_state') %></span>
<span class="state-view-switch-btn-name" data-e2e="e2e-TX-viewSwitchRT-selected"><%= archived ? t('toolbar.archived_state') : t('toolbar.active_state') %></span>
<span class="sn-icon sn-icon-down"></span>
</div>
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="viewSwitchButton">
<% if switchable %>
<li class="view-switch-active" data-e2e="e2e-BT-invInventoryViewSwitchRT-active">
<li class="view-switch-active" data-e2e="e2e-BT-viewSwitchRT-active">
<%= link_to active_url, class: "#{ 'form-dropdown-state-item prevent-shrink' unless archived }" do %>
<%= t('toolbar.active_state') %>
<% end %>
</li>
<li class="view-switch-archived" data-e2e="e2e-BT-invInventoryViewSwitchRT-archived">
<li class="view-switch-archived" data-e2e="e2e-BT-viewSwitchRT-archived">
<%= link_to archived_url, class: "#{ 'form-dropdown-state-item prevent-shrink' if archived }" do %>
<%= t('toolbar.archived_state') %>
<% end %>