Skip to content

Commit 115e9f4

Browse files
authored
always show create schedule button when 0 schedules (#3205)
* always show create schedule button when 0 schedules * fix spec * fix spec * fix other spec * fix other specs
1 parent 006bec8 commit 115e9f4

File tree

5 files changed

+22
-16
lines changed

5 files changed

+22
-16
lines changed

src/lib/pages/schedules.svelte

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -87,30 +87,36 @@
8787
const onError = (err: APIErrorResponse) => {
8888
error = err?.body?.message || translate('schedules.error-message-fetching');
8989
};
90+
91+
const showFilters = $derived(Number($schedulesCount) > 0 || query);
9092
</script>
9193

9294
<div class="flex flex-col gap-4">
9395
<h1 class="flex flex-col gap-0 md:flex-row md:items-center md:gap-2">
9496
<SchedulesCount />
9597
</h1>
96-
<div class="flex flex-col justify-between gap-2 md:flex-row">
97-
{#if Number($schedulesCount) > 0 || query}
98+
<div
99+
class="flex flex-col gap-2 md:flex-row {showFilters
100+
? 'justify-between'
101+
: 'justify-end'}"
102+
>
103+
{#if showFilters}
98104
<SearchAttributeFilter
99105
bind:filters={$scheduleFilters}
100106
{searchAttributeOptions}
101107
refresh={() => {
102108
refresh = Date.now();
103109
}}
104110
/>
105-
{#if !createDisabled}
106-
<Button
107-
data-testid="create-schedule"
108-
href={routeForScheduleCreate({ namespace })}
109-
disabled={!writeActionsAreAllowed()}
110-
>
111-
{translate('schedules.create')}
112-
</Button>
113-
{/if}
111+
{/if}
112+
{#if !createDisabled}
113+
<Button
114+
data-testid="create-schedule"
115+
href={routeForScheduleCreate({ namespace })}
116+
disabled={!writeActionsAreAllowed()}
117+
>
118+
{translate('schedules.create')}
119+
</Button>
114120
{/if}
115121
</div>
116122
</div>

tests/e2e/schedules.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ test.describe('Schedules Page', () => {
2323
await scheduleButton.click();
2424
await expect(page).toHaveURL(/schedules/);
2525
const createScheduleButton = page.getByTestId('create-schedule');
26-
await expect(createScheduleButton).toBeVisible();
27-
await createScheduleButton.click();
26+
await expect(createScheduleButton.first()).toBeVisible();
27+
await createScheduleButton.first().click();
2828
await expect(page).toHaveURL(/create/);
2929

3030
await page.getByTestId('schedule-name-input').fill('e2e-schedule-1');

tests/integration/disable-write-actions.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,6 @@ test.describe('Disable write actions on empty schedules list actions', () => {
5151
const namespace = page.locator('h1');
5252
await expect(namespace).toHaveText('0 Schedules');
5353
const createButton = page.getByTestId('create-schedule');
54-
await expect(createButton).toBeDisabled();
54+
await expect(createButton.first()).toBeDisabled();
5555
});
5656
});

tests/integration/schedule-edit.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ test.describe('Schedules List with schedules', () => {
2121
await page.waitForResponse(SCHEDULES_COUNT_API);
2222

2323
const createButton = page.getByTestId('create-schedule');
24-
await expect(createButton).toBeEnabled();
24+
await expect(createButton.first()).toBeEnabled();
2525

2626
const scheduleLink = page.getByRole('link', { name: /test-schedule/i });
2727
await expect(scheduleLink).toBeVisible();

tests/integration/schedules-list.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ test.describe('Schedules List with no schedules', () => {
2222
await expect(namespace).toHaveText('0 Schedules');
2323

2424
const createButton = page.getByTestId('create-schedule');
25-
await expect(createButton).toBeEnabled();
25+
await expect(createButton.first()).toBeEnabled();
2626
});
2727
});
2828

0 commit comments

Comments
 (0)