Skip to content

Commit ed7c928

Browse files
committed
feat(webapp): move Display control next to pagination and add it to task run lists
Move the Display button out of the runs filter row to sit just left of the pagination controls, and surface it on the per-task, scheduled, agent and error run lists (in each Runs toolbar next to pagination) so columns can be customized there too.
1 parent 20ca1c5 commit ed7c928

7 files changed

Lines changed: 18 additions & 8 deletions

File tree

  • apps/webapp/app
    • components/runs/v3
    • routes
      • _app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.agents.$agentParam
      • _app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.errors.$fingerprint
      • _app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.runs._index
      • _app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.tasks.scheduled.$taskParam
      • _app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.tasks.standard.$taskParam

apps/webapp/app/components/runs/v3/RunFilters.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ import { type loader as versionsLoader } from "~/routes/resources.orgs.$organiza
6868
import { makeFriendlyIdValidator } from "~/utils/friendlyId";
6969
import { Button } from "../../primitives/Buttons";
7070
import { AIFilterInput } from "./AIFilterInput";
71-
import { RunsDisplayOptions } from "./RunsDisplayOptions";
7271
import { BulkActionTypeCombo } from "./BulkAction";
7372
import { RegionLabel } from "./RegionLabel";
7473
import {
@@ -416,7 +415,6 @@ export function RunsFilters(props: RunFiltersProps) {
416415
/>
417416
</Form>
418417
)}
419-
<RunsDisplayOptions />
420418
</div>
421419
);
422420
}

apps/webapp/app/components/runs/v3/RunsDisplayOptions.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ export function RunsDisplayOptions() {
128128
<>
129129
<Popover>
130130
<PopoverTrigger asChild>
131-
<Button variant="secondary/small" LeadingIcon={ViewColumnsIcon} className="ml-auto">
131+
<Button variant="secondary/small" LeadingIcon={ViewColumnsIcon}>
132132
Display
133133
</Button>
134134
</PopoverTrigger>

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.agents.$agentParam/route.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import {
3939
} from "~/presenters/v3/AgentDetailPresenter.server";
4040
import { NextRunListPresenter } from "~/presenters/v3/NextRunListPresenter.server";
4141
import { getRunColumnsForSelect } from "~/presenters/v3/runColumnsFromRequest.server";
42+
import { RunsDisplayOptions } from "~/components/runs/v3/RunsDisplayOptions";
4243
import { SessionListPresenter } from "~/presenters/v3/SessionListPresenter.server";
4344
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactoryInstance.server";
4445
import { getResizableSnapshot } from "~/services/resizablePanel.server";
@@ -337,11 +338,14 @@ export default function Page() {
337338
</TypedAwait>
338339
</Suspense>
339340
) : (
340-
<Suspense fallback={null}>
341-
<TypedAwait resolve={runList} errorElement={null}>
342-
{(list) => (list ? <ListPagination list={list} /> : null)}
343-
</TypedAwait>
344-
</Suspense>
341+
<>
342+
<RunsDisplayOptions />
343+
<Suspense fallback={null}>
344+
<TypedAwait resolve={runList} errorElement={null}>
345+
{(list) => (list ? <ListPagination list={list} /> : null)}
346+
</TypedAwait>
347+
</Suspense>
348+
</>
345349
)}
346350
</div>
347351
</TabContainer>

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.errors.$fingerprint/route.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ import {
7575
} from "~/presenters/v3/ErrorGroupPresenter.server";
7676
import { type NextRunList } from "~/presenters/v3/NextRunListPresenter.server";
7777
import { getRunColumnsForSelect } from "~/presenters/v3/runColumnsFromRequest.server";
78+
import { RunsDisplayOptions } from "~/components/runs/v3/RunsDisplayOptions";
7879
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactoryInstance.server";
7980
import { requireUser, requireUserId } from "~/services/session.server";
8081
import { rbac } from "~/services/rbac.server";
@@ -536,6 +537,7 @@ function ErrorGroupDetail({
536537
>
537538
Bulk replay…
538539
</PermissionLink>
540+
<RunsDisplayOptions />
539541
<ListPagination list={runList} />
540542
</div>
541543
)}

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.runs._index/route.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import { StepNumber } from "~/components/primitives/StepNumber";
3939
import { TextLink } from "~/components/primitives/TextLink";
4040
import { SimpleTooltip } from "~/components/primitives/Tooltip";
4141
import { RunsFilters, type TaskRunListSearchFilters } from "~/components/runs/v3/RunFilters";
42+
import { RunsDisplayOptions } from "~/components/runs/v3/RunsDisplayOptions";
4243
import { TaskRunsTable } from "~/components/runs/v3/TaskRunsTable";
4344
import { BULK_ACTION_RUN_LIMIT } from "~/consts";
4445
import { $replica } from "~/db.server";
@@ -404,6 +405,7 @@ function RunsList({
404405
)}
405406
</span>
406407
</Button>
408+
<RunsDisplayOptions />
407409
<ListPagination list={list} />
408410
</div>
409411
</div>

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.tasks.scheduled.$taskParam/route.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ import { findProjectBySlug } from "~/models/project.server";
7676
import { findEnvironmentBySlug } from "~/models/runtimeEnvironment.server";
7777
import { NextRunListPresenter } from "~/presenters/v3/NextRunListPresenter.server";
7878
import { getRunColumnsForSelect } from "~/presenters/v3/runColumnsFromRequest.server";
79+
import { RunsDisplayOptions } from "~/components/runs/v3/RunsDisplayOptions";
7980
import { ScheduleListPresenter } from "~/presenters/v3/ScheduleListPresenter.server";
8081
import {
8182
TaskDetailPresenter,
@@ -371,6 +372,7 @@ export default function Page() {
371372
onClick={() => showNewRunsRef.current()}
372373
/>
373374
) : null}
375+
<RunsDisplayOptions />
374376
<Suspense fallback={null}>
375377
<TypedAwait resolve={runList} errorElement={null}>
376378
{(list) => (list ? <ListPagination list={list} /> : null)}

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.tasks.standard.$taskParam/route.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import { findProjectBySlug } from "~/models/project.server";
4747
import { findEnvironmentBySlug } from "~/models/runtimeEnvironment.server";
4848
import { NextRunListPresenter } from "~/presenters/v3/NextRunListPresenter.server";
4949
import { getRunColumnsForSelect } from "~/presenters/v3/runColumnsFromRequest.server";
50+
import { RunsDisplayOptions } from "~/components/runs/v3/RunsDisplayOptions";
5051
import {
5152
TaskDetailPresenter,
5253
type TaskActivity,
@@ -268,6 +269,7 @@ export default function Page() {
268269
onClick={() => showNewRunsRef.current()}
269270
/>
270271
) : null}
272+
<RunsDisplayOptions />
271273
<Suspense fallback={null}>
272274
<TypedAwait resolve={runList} errorElement={null}>
273275
{(list) => (list ? <ListPagination list={list} /> : null)}

0 commit comments

Comments
 (0)