fix(editor): Adjust table styling to match figma (no-changelog) (#14385)

This commit is contained in:
Raúl Gómez Morales
2025-04-03 14:34:48 +02:00
committed by GitHub
parent cc465a5593
commit 328976e5fe
5 changed files with 46 additions and 39 deletions

View File

@@ -1,20 +1,20 @@
<script lang="ts" setup>
import { computed, reactive, onBeforeMount, ref } from 'vue';
import AnnotationTagsDropdown from '@/components/AnnotationTagsDropdown.ee.vue';
import { useDebounce } from '@/composables/useDebounce';
import { usePageRedirectionHelper } from '@/composables/usePageRedirectionHelper';
import { useTelemetry } from '@/composables/useTelemetry';
import { EnterpriseEditionFeature } from '@/constants';
import type {
ExecutionFilterType,
ExecutionFilterMetadata,
IWorkflowShortResponse,
ExecutionFilterType,
IWorkflowDb,
IWorkflowShortResponse,
} from '@/Interface';
import { i18n as locale } from '@/plugins/i18n';
import { getObjectKeys, isEmpty } from '@/utils/typesUtils';
import { EnterpriseEditionFeature } from '@/constants';
import { useSettingsStore } from '@/stores/settings.store';
import { useTelemetry } from '@/composables/useTelemetry';
import { getObjectKeys, isEmpty } from '@/utils/typesUtils';
import type { Placement } from '@floating-ui/core';
import { useDebounce } from '@/composables/useDebounce';
import AnnotationTagsDropdown from '@/components/AnnotationTagsDropdown.ee.vue';
import { usePageRedirectionHelper } from '@/composables/usePageRedirectionHelper';
import { computed, onBeforeMount, reactive, ref } from 'vue';
export type ExecutionFilterProps = {
workflows?: Array<IWorkflowDb | IWorkflowShortResponse>;
@@ -162,17 +162,16 @@ onBeforeMount(() => {
<n8n-button
icon="filter"
type="tertiary"
size="medium"
square
:active="!!countSelectedFilterProps"
data-test-id="executions-filter-button"
>
<n8n-badge
v-if="!!countSelectedFilterProps"
theme="primary"
class="mr-4xs"
data-test-id="execution-filter-badge"
>{{ countSelectedFilterProps }}</n8n-badge
>
{{ locale.baseText('executionsList.filters') }}
<template v-if="!!countSelectedFilterProps" #default>
<n8n-badge theme="primary" class="mr-4xs" data-test-id="execution-filter-badge">{{
countSelectedFilterProps
}}</n8n-badge>
</template>
</n8n-button>
</template>
<div data-test-id="execution-filter-form">

View File

@@ -362,6 +362,7 @@ const goToUpgrade = () => {
<N8nCheckbox
:model-value="allExistingSelected"
data-test-id="select-all-executions-checkbox"
class="mb-0"
@update:model-value="handleCheckAllExistingChange"
/>
</th>
@@ -380,6 +381,7 @@ const goToUpgrade = () => {
:model-value="allVisibleSelected"
:disabled="total < 1"
data-test-id="select-visible-executions-checkbox"
class="mb-0"
@update:model-value="handleCheckAllVisibleChange"
/>
</th>
@@ -396,9 +398,7 @@ const goToUpgrade = () => {
<th>{{ i18n.baseText('executionsList.id') }}</th>
<th>
{{ i18n.baseText('executionsList.trigger') }}
</th>
<th></th>
<th style="width: 69px"></th>
<th style="width: 50px"></th>
</tr>
@@ -533,10 +533,6 @@ const goToUpgrade = () => {
</style>
<style lang="scss" scoped>
.execFilter:deep(button) {
height: 40px;
}
:deep(.el-checkbox) {
display: inline-flex;
align-items: center;

View File

@@ -108,7 +108,7 @@ describe('GlobalExecutionsListItem', () => {
});
expect(
getByText(`1 Jan, 2022, ${DateTime.fromJSDate(new Date(testDate)).toFormat('HH')}:00:00`),
getByText(`Jan 1, 2022, ${DateTime.fromJSDate(new Date(testDate)).toFormat('HH')}:00:00`),
).toBeInTheDocument();
});

View File

@@ -176,21 +176,24 @@ async function handleActionItemClick(commandData: Command) {
:model-value="selected"
data-test-id="select-execution-checkbox"
:disabled="!Boolean(execution.id && execution.stoppedAt)"
class="mb-0"
:style="{ marginTop: '-3px' }"
@update:model-value="onSelect"
/>
</td>
<td>
<RouterLink
:to="{
name: VIEWS.EXECUTION_PREVIEW,
params: { name: execution.workflowId, executionId: execution.id },
}"
target="_blank"
>
<N8nText color="text-dark">
<N8nTooltip :content="execution.workflowName || workflowName" placement="top">
<RouterLink
:to="{
name: VIEWS.EXECUTION_PREVIEW,
params: { name: execution.workflowId, executionId: execution.id },
}"
:class="$style.workflowName"
target="_blank"
>
{{ execution.workflowName || workflowName }}
</N8nText>
</RouterLink>
</RouterLink>
</N8nTooltip>
</td>
<td data-test-id="execution-status">
<GlobalExecutionsListItemQueuedTooltip
@@ -250,12 +253,13 @@ async function handleActionItemClick(commandData: Command) {
</span>
</td>
<td>
<span :class="$style.capitalize">{{ execution.mode }}</span>
<FontAwesomeIcon v-if="execution.mode === 'manual'" icon="flask" />
</td>
<td>
<N8nButton
v-if="!execution.stoppedAt || execution.waitTill"
data-test-id="stop-execution-button"
type="secondary"
:loading="isStopping"
:disabled="isStopping"
@click.stop="onStopExecution"
@@ -311,7 +315,15 @@ tr.dangerBg {
background-color: rgba(215, 56, 58, 0.1);
}
.capitalize {
text-transform: capitalize;
.workflowName {
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.2;
max-width: 100%;
color: var(--color-text-dark);
font-size: var(--font-size-s);
line-height: var(--font-line-height-loose);
max-width: 450px;
}
</style>