{#if categories.length === 0} {:else} groupByKey === noCategory ? tasks : getGroupByValues(groupByDocs, category)} {setGroupByValues} {getUpdateProps} {groupByDocs} {groupByKey} on:obj-focus={(evt) => { listProvider.updateFocus(evt.detail) }} {getAvailableCategories} selection={listProvider.current($focusStore)} checked={$selection ?? []} on:check={(evt) => { listProvider.updateSelection(evt.detail.docs, evt.detail.value) }} on:contextmenu={(evt) => showMenu(evt.detail.evt, evt.detail.objects)} > {@const color = accentColors.get(`${index}${$themeStore.dark}${groupByKey}`)} {@const headerBGColor = color?.background ?? defaultBackground($themeStore.dark)} {#if groupByKey === noCategory} {:else if headerComponent} { setAccentColor(index, ev) }} /> {/if} {count} { showPopup(CreateIssue, { space: currentSpace, [groupByKey]: state }, 'top') }} /> {@const issue = toIssue(object)} {@const issueId = object._id} {@const reports = issue.reportedTime + (issue.childInfo ?? []).map((it) => it.reportedTime).reduce((a, b) => a + b, 0)} {@const estimations = (issue.childInfo ?? []).map((it) => it.estimation).reduce((a, b) => a + b, 0)} {#key issueId} { void openDoc(client.getHierarchy(), issue) }} > {object.title} {#if enabledConfig(config, 'subIssues') && issue && issue.subIssues > 0} {/if} {#if enabledConfig(config, 'priority')} {/if} {#if enabledConfig(config, 'component')} {/if} {#if enabledConfig(config, 'dueDate')} {/if} {#if enabledConfig(config, 'labels')} { if (res.detail.full) fullFilled[issueId] = true }} /> {/if} {#await shouldShowFooter(config, reports, estimations, object) then withFooter} {#if withFooter} {:else} {/if} {/await} {/key} {/if}