このコミットが含まれているのは:
2026-10-27 12:39:32 +09:00
コミット 2706789fa4
10個のファイルの変更、94行の追加、30行の削除
+11 -15
ファイルの表示
@@ -19,7 +19,7 @@ import { countsRequestParams, countsDefinitionParams, countsExportPayload, field
isCountsState, normaliseCountsParams, selectedCountColumns } from '@/lib/counts'
import { countsExportLabels } from '@/lib/countsDisplay'
import { CountsDefinitionContext, countsAxisFields, countsAxisLabel,
countsResources, countsFieldLabel,
visibleCountsResources, countsFieldLabel,
fetchCountsDefinition }
from '@/lib/countsDefinitions'
import { countsKeys } from '@/lib/queryKeys'
@@ -211,9 +211,6 @@ const CountsResourceContent = (
const waiting = running || (!definitionError && (definition == null
|| isPending || isFetching || isPlaceholderData
|| (!params.has ('execution_at') && !isError)))
const loadingParams = pendingRun.current?.params ?? params
const compatible = data != null && ['definition', 'mode', 'rows', 'cols'].every (
key => loadingParams.get (key) === resultParams.get (key))
const update = (key: string, value: string, extra?: Record<string, string>) => {
@@ -287,7 +284,7 @@ const CountsResourceContent = (
lang={message ('target').language}>
<h2 className="mb-2 font-semibold">{label ('target')}</h2>
<ul className="space-y-1">
{countsResources.map (target => <li key={target}>
{visibleCountsResources.map (target => <li key={target}>
<button type="button" className="flex w-full items-center gap-1 py-1 text-left
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500
dark:focus-visible:ring-blue-400"
@@ -352,16 +349,15 @@ const CountsResourceContent = (
{(definitionError || isError || runError) && <p role="alert">{label ('common:fetchError')}</p>}
<div className="relative flex min-h-0 flex-1 flex-col overflow-hidden"
aria-busy={waiting}>
<div inert={waiting} aria-hidden={waiting || undefined}
className={cn ('flex min-h-0 flex-1 flex-col',
waiting && (compatible ? 'pointer-events-none opacity-40' : 'invisible'))}>
<div inert={waiting} className="flex min-h-0 flex-1 flex-col">
{definition != null && data != null && <>
{data.excludedCount != null && (
<p className="my-1 flex flex-wrap items-baseline gap-x-2 text-sm">
<span>{label ('outputTotal', { value: data.outputCount ?? '—' })}</span>
<span className="text-xs text-slate-500 dark:text-slate-400">
{label ('excludedRecords', { count: data.excludedCount })}</span>
</p>)}
<p className="my-1 flex flex-wrap items-baseline gap-x-2 text-sm">
<span>{label ('outputTotal', { value: data.outputCount ?? '—' })}</span>
{data.excludedCountScope === 'current_query'
&& data.excludedCount != null && data.excludedCount > 0 && (
<span className="text-xs text-slate-500 dark:text-slate-400">
{label ('excludedRecords', { count: data.excludedCount })}</span>)}
</p>
{resultMode === 'summary' ? <CountsSummaryResults resource={resource}
data={data} params={resultParams}
pending={waiting} update={update}/> : (
@@ -372,7 +368,7 @@ const CountsResourceContent = (
</>}
</div>
{waiting && <div role="status" aria-live="polite"
className="pointer-events-none absolute inset-0 flex items-center justify-center">
className="pointer-events-none absolute right-2 top-2">
<span className="rounded border border-slate-300 bg-white px-2 py-1
text-sm text-slate-900 dark:border-slate-600
dark:bg-slate-950 dark:text-slate-100">