diff --git a/packages/web_ui/src/components/HostViewPage.tsx b/packages/web_ui/src/components/HostViewPage.tsx index 3cc0cf6e..c55eddd8 100644 --- a/packages/web_ui/src/components/HostViewPage.tsx +++ b/packages/web_ui/src/components/HostViewPage.tsx @@ -169,7 +169,7 @@ export default function HostViewPage() { {account.hasPermission("core.instance.list") && <> Instances - + } {account.hasPermission("core.log.follow") && <> diff --git a/packages/web_ui/src/components/InstanceList.tsx b/packages/web_ui/src/components/InstanceList.tsx index 15f59d76..d9627a33 100644 --- a/packages/web_ui/src/components/InstanceList.tsx +++ b/packages/web_ui/src/components/InstanceList.tsx @@ -23,8 +23,6 @@ type InstanceListProps = { instances: ReadonlyMap>; size?: SizeType; hideAssignedHost?: boolean; - /** Persist sort/search state in the URL and show a search box (for the standalone Instances page). */ - persistState?: boolean; }; export default function InstanceList(props: InstanceListProps) { @@ -32,7 +30,6 @@ export default function InstanceList(props: InstanceListProps) { let navigate = useNavigate(); let [hosts] = useHosts(); const [systems] = useSystems(); - const persist = props.persistState ?? false; const tableState = useTableQueryState({ namespace: "instance", defaultSortKey: "name", pagination: false, }); @@ -58,7 +55,7 @@ export default function InstanceList(props: InstanceListProps) { dataIndex: "name", defaultSortOrder: "ascend", sorter: (a, b) => strcmp(a["name"], b["name"]), - ...(persist ? nameSearch : {}), + ...nameSearch, }, { title: "Assigned Host", @@ -128,15 +125,15 @@ export default function InstanceList(props: InstanceListProps) { columns.splice(1, 1); } - const finalColumns = persist ? columns.map(tableState.applyColumn) : columns; + const finalColumns = columns.map(tableState.applyColumn); return instance["id"]} - pagination={persist ? tableState.pagination : false} - onChange={persist ? tableState.onChange : undefined} + pagination={tableState.pagination} + onChange={tableState.onChange} onRow={(record, rowIndex) => ({ onClick: event => { navigate(`/instances/${record.id}/view`); diff --git a/packages/web_ui/src/components/InstancesPage.tsx b/packages/web_ui/src/components/InstancesPage.tsx index 78cb80d2..cfa24922 100644 --- a/packages/web_ui/src/components/InstancesPage.tsx +++ b/packages/web_ui/src/components/InstancesPage.tsx @@ -111,7 +111,7 @@ export default function InstancesPage() { } /> - + ; } diff --git a/packages/web_ui/src/components/OnlinePlayersList.tsx b/packages/web_ui/src/components/OnlinePlayersList.tsx index 13950da2..31e5a560 100644 --- a/packages/web_ui/src/components/OnlinePlayersList.tsx +++ b/packages/web_ui/src/components/OnlinePlayersList.tsx @@ -20,7 +20,7 @@ export default function OnlinePlayersList({ instanceId }: OnlinePlayersListProps return (

Online Players ({onlineUsers.length})

- } } /> - + ; } diff --git a/packages/web_ui/src/components/UsersTable.tsx b/packages/web_ui/src/components/UsersTable.tsx index 0cea72f9..7009a565 100644 --- a/packages/web_ui/src/components/UsersTable.tsx +++ b/packages/web_ui/src/components/UsersTable.tsx @@ -26,14 +26,12 @@ export interface UsersTableProps { pagination?: false | object; /** Ant Design size prop */ size?: "small" | "middle" | "large"; - /** Persist sort/filter/pagination state in the URL (for the standalone Users page). */ - persistState?: boolean; } const strcmp = new Intl.Collator(undefined, { numeric: true, sensitivity: "base" }).compare; export default function UsersTable( - { instanceId, onlyOnline = false, pagination, size, persistState }: UsersTableProps + { instanceId, onlyOnline = false, pagination, size }: UsersTableProps ) { const [roles, rolesSynced] = useRoles(); const [users, usersSynced] = useUsers(); @@ -181,16 +179,14 @@ export default function UsersTable( let tablePagination: false | object; if (pagination === false) { tablePagination = false; - } else if (persistState) { + } else { // Controlled current/pageSize from the URL win over the caller's display props. tablePagination = { ...displayPagination, ...callerPagination, ...(tableState.pagination || {}) }; - } else { - tablePagination = { ...displayPagination, ...(callerPagination ?? { defaultPageSize: 50 }) }; } - let tableColumns = persistState ? columns.map(tableState.applyColumn) : columns; + let tableColumns = columns.map(tableState.applyColumn); // Seed the online-only default when nothing for the Last Seen column is in the URL yet. - if (persistState && onlyOnline && !("lastSeen" in tableState.filters)) { + if (onlyOnline && !("lastSeen" in tableState.filters)) { tableColumns = tableColumns.map(column => ( column.key === "lastSeen" ? { ...column, filteredValue: ["online"] } : column )); @@ -202,7 +198,7 @@ export default function UsersTable( dataSource={data} rowKey={(user) => user.name} pagination={tablePagination} - onChange={persistState ? tableState.onChange : undefined} + onChange={tableState.onChange} size={size} scroll={{ x: "max-content" }} loading={!usersSynced || !rolesSynced}