- {#if flatJobs}
- {@const jobOrDate = flatJobs[index]}
- {#if jobOrDate}
- {#if jobOrDate?.type === 'date'}
-
- {jobOrDate.date}
-
- {:else}
- {@const selected =
- jobOrDate.job.id !== '-' && selectedIds.includes(jobOrDate.job.id)}
-
-
-
{
- e.preventDefault()
- rightClickPopover?.open(e)
- }}
- >
-
{
- const jobId = jobOrDate.job.id
- if (keysPressed.Control || keysPressed.Meta) {
- if (selectedIds.includes(jobOrDate.job.id)) {
- selectedIds = selectedIds.filter((id) => id != jobId)
- } else {
- selectedIds.push(jobId)
- selectedIds = selectedIds
- }
- } else if (keysPressed.Shift && selectedIds.length > 0) {
- const lastSelectedId = selectedIds[selectedIds.length - 1]
- const lastSelectedIndex = flatJobs?.findIndex(
- (jobOrDate) =>
- jobOrDate.type === 'job' && jobOrDate.job.id === lastSelectedId
- )
- if (lastSelectedIndex != undefined && flatJobs) {
- const [start, end] =
- index < lastSelectedIndex
- ? [index, lastSelectedIndex]
- : [lastSelectedIndex, index]
- const newSelectedIds = flatJobs
- .slice(start, end + 1)
- .filter((jobOrDate) => jobOrDate.type === 'job')
- .map((jobOrDate) => jobOrDate.job.id)
- selectedIds = Array.from(new Set([...selectedIds, ...newSelectedIds]))
- }
- } else {
- if (batchRerunOptionsIsOpen) batchRerunOptionsIsOpen = false
- if (
- JSON.stringify(selectedIds) !== JSON.stringify([jobOrDate.job.id]) ||
- selectedWorkspace !== jobOrDate.job.workspace_id
- ) {
- selectedWorkspace = jobOrDate.job.workspace_id
- selectedIds = [jobOrDate.job.id]
- dispatch('select')
- } else {
- selectedIds = []
- selectedWorkspace = undefined
- dispatch('select')
- }
- }
+
+
+ {#snippet header()}{/snippet}
+ {#snippet item({ index, style })}
+
+ {#if flatJobs}
+ {@const jobOrDate = flatJobs[index]}
+ {#if jobOrDate}
+ {#if jobOrDate?.type === 'date'}
+
+ {jobOrDate.date}
+
+ {:else}
+ {@const selected =
+ jobOrDate.job.id !== '-' && selectedIds.includes(jobOrDate.job.id)}
+
+
+
{
+ e.preventDefault()
+ rightClickPopover?.open(e)
}}
- {activeLabel}
- on:filterByLabel
- on:filterByPath
- on:filterByUser
- on:filterByFolder
- on:filterByConcurrencyKey
- on:filterBySchedule
- on:filterByWorker
- {containerWidth}
- />
-
+ >
+
{
+ const jobId = jobOrDate.job.id
+ if (keysPressed.Control || keysPressed.Meta) {
+ if (selectedIds.includes(jobOrDate.job.id)) {
+ selectedIds = selectedIds.filter((id) => id != jobId)
+ } else {
+ selectedIds.push(jobId)
+ selectedIds = selectedIds
+ }
+ } else if (keysPressed.Shift && selectedIds.length > 0) {
+ const lastSelectedId = selectedIds[selectedIds.length - 1]
+ const lastSelectedIndex = flatJobs?.findIndex(
+ (jobOrDate) =>
+ jobOrDate.type === 'job' && jobOrDate.job.id === lastSelectedId
+ )
+ if (lastSelectedIndex != undefined && flatJobs) {
+ const [start, end] =
+ index < lastSelectedIndex
+ ? [index, lastSelectedIndex]
+ : [lastSelectedIndex, index]
+ const newSelectedIds = flatJobs
+ .slice(start, end + 1)
+ .filter((jobOrDate) => jobOrDate.type === 'job')
+ .map((jobOrDate) => jobOrDate.job.id)
+ selectedIds = Array.from(new Set([...selectedIds, ...newSelectedIds]))
+ }
+ } else {
+ if (batchRerunOptionsIsOpen) batchRerunOptionsIsOpen = false
+ if (
+ JSON.stringify(selectedIds) !== JSON.stringify([jobOrDate.job.id]) ||
+ selectedWorkspace !== jobOrDate.job.workspace_id
+ ) {
+ selectedWorkspace = jobOrDate.job.workspace_id
+ selectedIds = [jobOrDate.job.id]
+ dispatch('select')
+ } else {
+ selectedIds = []
+ selectedWorkspace = undefined
+ dispatch('select')
+ }
+ }
+ }}
+ {activeLabel}
+ on:filterByLabel
+ on:filterByPath
+ on:filterByUser
+ on:filterByFolder
+ on:filterByConcurrencyKey
+ on:filterBySchedule
+ on:filterByWorker
+ {containerWidth}
+ />
+
+ {/if}
+ {:else}
+ {JSON.stringify(jobOrDate)}
{/if}
{:else}
- {JSON.stringify(jobOrDate)}
+
+
...
+
...
+
...
+
...
+
{/if}
- {:else}
-
-
...
-
...
-
...
-
...
-
- {/if}
-
- {/snippet}
- {#snippet footer()}
- {#if !lastFetchWentToEnd && jobs && jobs.length >= perPage}
-
- {/if}
- {/snippet}
-
+
+ {/snippet}
+ {#snippet footer()}
+
{#if !lastFetchWentToEnd && jobs && jobs.length >= perPage}
+
+ {/if}
+ {/snippet}
+
+
{/if}