Operator guideEN

NX / Games / Reorder

Bulk ordering screen for NX games.

How to use this guide

Start with the main guide

Follow the explanation and examples first. Extra definitions and formulas are available below when you need them.

What this page does

This page is the dedicated, filterable ordering workspace for NX games. It lets operators select games and submit bulk move actions that update global game order or category-specific game order. It is not a drag-and-drop screen.

Filters and table

  • Search: filters games after Enter is pressed.
  • Providers: limits rows to selected providers.
  • Categories: limits rows to selected categories and changes a move from global order to category-specific order.
  • Countries: limits rows using countries from the NX restricted-country catalog.
  • Currencies: limits rows to selected currencies.
  • Features: limits rows by Branded, Has demo, Bonus buy, Megaways, Freeround, Freespins, or Is virtual.
  • Status: offers Active and Disabled. Archived is configured but hidden from the selector.

Search applies on Enter. The multi-select filters submit automatically after a short delay. Pagination and column sorting load a new server-side game-list result.

The table shows ID, Game, Provider, Order, and Status. Without a Category filter, Order is the global game order. With one or more categories selected, the list returns the minimum category-game order found for each game across those categories.

Use the checkbox to select a row. Clicking the row body does not open a game detail page from this workspace.

How ordering works

  • Select one or more game rows with the table checkboxes.
  • Use Move To Top to move the selected games to the top.
  • To insert after a game, select exactly that one row and use Set Target.
  • Deselect the target, select the games that must move, and then use Move To The Set.
  • Set the target again before each insert operation. The current target is not displayed and is not cleared after a successful move.
  • Use All for the current server page. Selected is only a local projection of selected rows found on the currently loaded page; selections from another page can remain in the move payload without appearing in this tab.

Global vs category-specific order

  • Without a category-specific order context, move actions update the general NX game order.
  • With category-specific order context, move actions update the order of games inside the selected category relationship.
  • Set Target is available with exactly one selected game and either no Category filter or exactly one selected category.
  • The stored target is only page state. It is not tied to the Category filter that was active when it was set, so changing filters does not clear or revalidate it.

Important behavior

  • Category filters change the meaning of the saved order update. With category IDs selected, the change targets category-game order instead of global game order.
  • Global moves use the checkbox selection order when assigning temporary sort values. For category-specific multi-game moves, the service does not explicitly preserve checkbox selection order; verify the resulting order.
  • Category-specific updates write category-game order, then the current rebalance step renumbers the full category-game relation table without partitioning by category.
  • A successful move resets pagination, clears selection, switches back to All, and shows Order Changed Successfully.
  • The target remains stored after that reset even though no target indicator is shown.
  • Page, tab, sort, and filter changes do not clear the current row selection before a successful move.
  • The current page does not reliably distinguish a failed sort request from a successful one. Refresh and verify the Order values after every move instead of relying only on the toast.

Known caveats

  • Move To Top is currently visible even when no row is selected, so operators should select rows first before using it.
  • An empty Move To Top request performs no reorder but still receives success-shaped page handling.
  • The move buttons are not locked while a request is in flight. Wait for the list to refresh before clicking another move action.
  • If the target row is still selected during Move To The Set, its ID is included in the moved game IDs. Deselect the target before selecting the rows to move.
  • Category-specific ordering currently uses a table-wide rebalance. Recheck every affected category before treating a bulk move as complete.
More details

Definitions and formulas

Open only the section you need. The relevant section opens automatically when you request help for a specific item on screen.

Calculations5 topicsOpen details

Displayed Order source

Explains which saved sort value appears in the Order column.

Formula
Without a Category filter, Order is `nx.games.game_sort`. With Category IDs, the game list exposes `MIN(nx.category_games.category_game_sort)` across the selected categories as `gameSort` for each game.
Caveats
With multiple categories selected, one displayed value cannot show each category's separate relation order.

Global Move To Top

Explains how selected games become the first games in global order.

Formula
For each `gameIds` entry at zero-based position i, the service writes `round(0.001 * (i + 1), 3)` as a temporary global sort. It then replaces every global game sort with `ROW_NUMBER()` ordered by that temporary sort and commits the transaction.
Caveats
The local checkbox selection order determines the payload position and therefore the moved-game order.

Global Move To The Set

Explains how selected games are inserted after the stored target in global order.

Formula
The service reads the target game's global sort. For each `gameIds` entry at zero-based position i, it writes `round(targetGameSort + 0.001 * (i + 1), 3)`, then replaces every global game sort with `ROW_NUMBER()` ordered by the temporary sort and commits the transaction.
Caveats
If the target game is included in `gameIds`, the target itself also receives a new temporary sort.

Category-specific move

Explains how a non-empty Categories filter changes the saved ordering model.

Formula
The service loads existing category-game rows matching `categoryId` and `gameIds`. Move To Top writes `round(0.001 * (i + 1), 3)`. Move To The Set adds the same increment to the target relation's category-game sort for matching categories. It then applies `ROW_NUMBER()` ordered by category-game sort to the full `nx.category_games` table and commits the transaction.
Caveats
The relation query does not explicitly preserve checkbox payload order for multi-game category moves., The rebalance query has no category partition, so it renumbers rows across the full category-game relation table., A selected game without an existing relation in a selected category has no category-game row to update.

Empty Move To Top result

Explains what happens when Move To Top is pressed without selecting a game.

Formula
The page sends an empty `gameIds` array. The controller skips both sort services and returns without changing stored order, while the page still runs its success reset and toast flow.
Caveats
Success feedback in this case means only that the page completed its flow; no game order changed.
Fields7 topicsOpen details

Row checkbox

Adds or removes the game from the local list sent by Move To Top or Move To The Set.

Data Type
selection-state
Caveats
The selection order is preserved in the global move payload., Clicking the row body has no navigation action on this page., Page, tab, sort, and filter changes do not clear this local selection.

ID

Game identifier sent in the move action's gameIds array.

Data Type
integer

Game

Game name shown in the ordering table.

Data Type
string

Provider

Provider assigned to the game row.

Data Type
string

Order

Current sort value shown for the row and used by server-side ordering.

Data Type
number
Caveats
Without a Category filter this is the global game order., With Category filters the list exposes category-game order as gameSort; with multiple categories it uses the minimum relation order for the game.

Status

Current lifecycle status of the game row.

Data Type
enum
Allowed Values
0: Label: Active | Value: active | 1: Label: Disabled | Value: disabled | 2: Label: Archived | Value: archived

Stored target

Game ID used as the insertion point by Move To The Set after Set Target.

Data Type
local-state
Caveats
The page does not display the stored target after the confirmation toast., A successful move clears selected rows but does not clear this target., Filter and tab changes do not clear or revalidate it.
Filters8 topicsOpen details

Search

Filters the current game list after Enter is pressed.

Type
text

Providers

Limits ordering candidates to selected providers.

Type
multi-select

Categories

Limits rows to selected categories and sends those category IDs with a move, changing the mutation from global game order to category-game order.

Type
multi-select
Caveats
Set Target is disabled when more than one category is selected., Clearing or changing this filter does not clear a previously stored target., With multiple categories selected, the visible Order is the minimum category-game order returned for each game across those categories.

Countries

Limits ordering candidates using selected countries from the NX restricted-country catalog.

Type
searchable-multi-select

Currencies

Limits ordering candidates to games available for selected currencies.

Type
searchable-multi-select

Features

Limits ordering candidates by selected catalog capabilities.

Type
multi-select
Allowed Values
0: Label: Branded | Value: branded | 1: Label: Has demo | Value: hasDemo | 2: Label: Bonus buy | Value: bonusBuy | 3: Label: Megaways | Value: megaways | 4: Label: Freeround | Value: freeround | 5: Label: Freespins | Value: freespins | 6: Label: Is virtual | Value: isVirtual

Status

Limits ordering candidates by lifecycle status.

Type
multi-select
Allowed Values
0: Label: Active | Value: active | 1: Label: Disabled | Value: disabled
Caveats
Archived exists in the page configuration but is hidden from this selector.

All / Selected tab

All shows the current server page; Selected locally keeps only selected IDs that also exist on that currently loaded page.

Type
tab
Allowed Values
All, Selected
Caveats
Selected is not a separate server result and does not gather selected rows from other pages., A selected game from another page can remain in the move payload while not being visible in Selected.
More help

Related pages

NX / Games

Operator guide for NX game list, detail, category mapping, read-only currency mapping, restriction mapping, and ordering workflows.

NX / Games / Category Mapping

Relation page for linking one game to categories.

NX / Games / Currency Mapping

Read-only relation page showing currencies available for one game.

NX / Games / Detail

Record-level workspace for one NX game.

NX / Games / List

Main NX games grid with filters, provider context, and reorder entrypoint.

NX / Games / Restriction Mapping

Relation page for viewing and editing country restrictions for one NX game.