Operator guideEN

Casino / Sub-categories / Form

Create and edit form for one sub-category, including translations, description, icon handling, parent category, and active state.

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 form does

Use this form when you need to create a new casino sub-category or change an existing one. A sub-category belongs to one parent casino category and can carry translated names, translated descriptions, an active state, and, on the edit screen, icon settings.

Create and edit are one business workflow, but they are not identical:

  • Create collects translated name and description values, parent category, and active/inactive state, then adds the new sub-category to the end of the selected parent category order.
  • Edit loads an existing sub-category, lets you update the same content and settings, and also exposes system icon, custom icon, preview, and reset controls.

What operators can change

  • Translated name and description values for every active CRM language.
  • Parent casino category assignment.
  • Active or inactive status.
  • System icon on the edit flow.
  • Custom icon on the edit flow. A custom icon overrides the selected system icon in the preview and saved configuration.

How create works

The create page builds one name value and one description value per active language. The operator chooses a parent category, decides whether the sub-category is active, and clicks Submit. After a successful create response, the portal returns to the sub-category list.

The save flow requires a name object and a parent category. It checks that the parent category exists, blocks a duplicate English name under the same parent category, and assigns the new sub-category the next order position within that parent category.

How edit works

The edit page opens from an existing sub-category id. It loads the current sub-category, active language list, parent category list, and category icon assets before the form is fully editable.

The left side contains the localized content tabs. Languages that already have a name value show a completion indicator. The right side contains general settings and icon settings.

When the operator clicks Save Changes, the portal sends the translated content, active state, parent category, selected system icon, and selected custom icon path. The update flow validates that the sub-category exists, validates category and duplicate rules when the English name or parent category changes, merges submitted names with existing stored names, and saves the update.

Icon behavior

On edit, the icon preview uses the custom icon when one is selected. If no custom icon is selected, it uses the selected system icon. The custom icon dropdown is populated from Core assets filtered for category icon assets.

Reset icon requests an icon reset for the current sub-category. The reset flow clears the custom icon and chooses a default system icon from the sub-category name pattern, falling back to the slots icon when no pattern matches.

Known caveats

  • The create screen has a visible -- Select -- option, but the local default parent category value starts as 1 until the operator changes it.
  • The page does not enforce required translated name/description values before Submit; save validation requires the name object and duplicate checks focus on the English name.
  • Reset icon is triggered from the edit page, but the portal clears the local custom icon after a short timeout instead of waiting for the reset response. Refresh the row or reopen the form if the reset result matters operationally.
  • Reset icon chooses a pattern-based default from the stored name. If the stored language keys do not include lowercase en, the reset flow falls back to the first available name value.
  • Permission handling differs by action: create and save are permission-checked; read and reset are authenticated admin actions.
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.

Calculations9 topicsOpen details

Active language field generation

Explains why the set of translated inputs depends on language settings.

Formula
The portal requests active languages and creates a name/description entry for each returned language code. Create starts each value empty. Edit uses existing sub-category values when present and falls back to empty strings.
Caveats
Operators only see active languages returned by the admin language list., Edit sorts languages with existing name content before languages without name content.

Create payload mapping

Explains what Submit sends when creating a sub-category.

Formula
Submit builds name[languageCode] and description[languageCode] from the create inputs, then sends those objects with isActive and masterGameCategoryId to the create route.
Caveats
Create local active state starts false even though the database model default is true., Create local parent category state starts as 1 until changed, while the select also shows a blank option.

Create validation and order assignment

Explains why create can fail and where the new sub-category appears in order.

Formula
The create flow requires name and masterGameCategoryId, blocks an existing sub-category with the same English name under the same parent category, verifies the parent category exists, then sets orderId to the current maximum order for that parent plus one.
Caveats
Duplicate validation on create is based on the English name value under the selected parent category.

Edit record initialization

Explains how the edit form chooses and displays the current sub-category.

Formula
The edit route id is sent as casinoSubCategoryId to the read service. The returned sub-category initializes active state, parent category id, system icon, custom icon, original icon, title, and localized content fields.
Caveats
If iconName cannot be resolved, the page falls back to SlotsSVG for local display.

Edit payload mapping

Explains what Save Changes sends when editing a sub-category.

Formula
Save Changes sends casinoSubCategoryId from the loaded record, name and description objects from current language state, isActive, masterGameCategoryId, resolved iconName, and customIcon.
Caveats
The edit payload includes icon fields that do not exist on the create page., The edit page stays open after success and refreshes the selected record.

Update validation and name merge

Explains why edit can fail and how existing translations are preserved.

Formula
The update flow requires the selected sub-category id, name, and parent category id. It validates the sub-category exists. If English name or parent category changes, it checks the parent category exists and checks for an existing sub-category with the same submitted name object and parent category. It then merges submitted names over existing stored names and saves description, parent, active state, iconName, customIcon, and processed svgText when applicable.
Caveats
Existing name translations not submitted by the current form are preserved by the merge., Description is submitted as the current description object and is not merged the same way as name.

Custom icon asset path

Explains how custom icon dropdown choices become saved icon paths.

Formula
The edit page lists Core assets filtered by category icon search. Each asset option uses the asset name as the label and builds a casino asset path from the asset key with the final extension removed. The preview uses the Core casino asset path. On save, the save flow can fetch the selected path from the configured Core origin and process the SVG text.
Caveats
No Image maps to an empty custom icon value., If Core asset fetch or processing fails during save, the update can fail.

Icon preview precedence

Explains why the visible preview can differ from the selected system icon.

Formula
When customIcon has a value, the edit preview displays that Core asset. When customIcon is empty, the preview displays the selected system icon. Save Changes sends both iconName and customIcon; the custom icon is the effective visual override.

Reset icon default selection

Explains what Reset icon actually resets to.

Formula
Reset icon sends masterGameSubCategoryId. The reset flow finds that sub-category, clears customIcon, derives a name string from the stored name object or string, matches it against known icon name patterns, and stores the matched iconName. If no pattern matches, it stores SlotsSVG.
Caveats
The reset flow first looks for a lowercase en key and otherwise uses the first available name value., The page clears the local custom icon after a timeout and does not wait for the reset response before showing success.
Fields23 topicsOpen details

Loading category information...

Edit-only state shown while the selected sub-category, parent categories, and active languages are loading.

Data Type
ui-state
Editable
false

Sub-category route id

Hidden id taken from the edit route and sent to read, update, and reset the selected sub-category.

Data Type
integer
Editable
false

Create Sub category

Create-page heading for adding a new sub-category.

Data Type
ui-heading
Editable
false

Edit

Edit-page heading that shows the English sub-category name when it is available, otherwise a generic sub-category title.

Data Type
ui-heading
Editable
false

Localized Content

Edit-page tabs generated from active languages so the operator can switch between translated content inputs.

Data Type
ui-tabs
Editable
false

<Language> Name

Name value entered for each active language on the create page.

Data Type
localized-string
Editable
true
Payload Mapping
name[languageCode]
Validation
Page Required: false | Save Required: true
Caveats
Duplicate validation for create checks the English name under the selected parent category.

<Language> Description

Description value entered for each active language on the create page.

Data Type
localized-text
Editable
true
Payload Mapping
description[languageCode]
Validation
Page Required: false | Save Required: false

Name (<Language>)

Name value edited for one active language on the edit page.

Data Type
localized-string
Editable
true
Payload Mapping
name[languageCode]
Validation
Page Required: false | Save Required: true
Caveats
Submitted names are merged with existing stored names by the update path., Duplicate validation can run when the English name or parent category changes.

Description (<Language>)

Description value edited for one active language on the edit page.

Data Type
localized-text
Editable
true
Payload Mapping
description[languageCode]
Validation
Page Required: false | Save Required: false

characters

Edit-page helper text showing the current description length for the selected language.

Data Type
ui-counter
Editable
false

Language completion indicator

Check indicator shown on an edit language tab when that language has a non-empty name.

Data Type
ui-state
Editable
false

Select Category / Parent Category

Parent casino category that owns this sub-category.

Data Type
foreign-key-select
Editable
true
Payload Mapping
masterGameCategoryId
Option Source
active/listed casino categories from the source service
Validation
Page Required: true | Save Required: true
Caveats
Create uses the label Select Category; edit uses Parent Category., The create page initializes local parent category state to 1 before operator changes the select value.

Is this category active? / Status

Determines whether the sub-category is active when the form is saved.

Data Type
boolean
Editable
true
Payload Mapping
isActive
Defaults
Create Local Default: false | Database Default: true
Caveats
The stored database default is true, but the create page local checkbox starts unchecked and sends false unless changed.

Status

Edit-page visual state that displays Active or Inactive and explains whether the sub-category is visible and usable.

Data Type
ui-state
Editable
false

System Icon

Built-in icon name saved for the sub-category when no custom icon overrides it.

Data Type
enum-select
Editable
true
Payload Mapping
iconName
Option Source
admin category icon registry
Default Value
SlotsSVG on edit when no resolvable icon name is loaded

Custom Icon

Core asset path used as the custom icon override for the sub-category.

Data Type
core-asset-select
Editable
true
Payload Mapping
customIcon
Option Source
Core assets filtered by category icon search
Caveats
No Image sends an empty custom icon value., A selected custom icon overrides the system icon in preview and save behavior.

Icon preview

Preview of the selected custom icon when present, otherwise preview of the selected system icon.

Data Type
media-preview
Editable
false

Reset icon

Edit-page button that requests reset of custom icon and default system icon selection.

Data Type
action-button
Editable
false
Caveats
The page clears local custom icon state after a timeout and does not wait for the reset response.

Submit

Create-page button that submits the new sub-category payload.

Data Type
action-button
Editable
false

Save Changes

Edit-page button that submits changes for the selected sub-category.

Data Type
action-button
Editable
false
Disabled When
Form is loading., Save request is already running.

Cancel

Returns to the sub-category list without submitting local changes.

Data Type
navigation-button
Editable
false

Back

Edit-page header icon that returns to the sub-category list without saving local changes.

Data Type
navigation-button
Editable
false

Error updating sub-category

Edit-page error alert shown when the update request returns an error.

Data Type
ui-message
Editable
false
Caveats
The alert close control is present, but the current handler does not clear the error state.
More help

Related pages

Casino / Sub-categories

Operator guide for sub-category catalog maintenance, including list, create or edit, reorder, and add-games relation flow.

Casino / Sub-categories / Add Games

Relation workflow for assigning, removing, bulk-loading, and resetting games for one casino sub-category.

Casino / Sub-categories / List

Searchable sub-category grid with summary cards, parent-category and status filters, game counts, translation coverage, and row-level maintenance actions.

Casino / Sub-categories / Reorder

Parent-category-specific drag-and-drop ordering screen for casino sub-categories.

Affiliate Deals / Form

Create and edit form for affiliate deals, including PID, date window, commercial terms, and responsible person.

Affiliate Payment Settings / Form

Create and edit form for one affiliate payment-setting record, with visible PID targeting, minimum deposit threshold, and active-state control.