Refactor group mode switching logic to ensure proper list management
Updated the Group and UpdateGroupCommandHandler classes to clarify the behavior of group mode switching. The transition to dynamic mode now clears the existing item list to prevent old items from interfering with the new rule-based composition. Enhanced documentation and comments to explain the implications of mode changes. Updated tests to reflect the new behavior, ensuring that the group correctly handles item lists during mode transitions. Localization strings were also updated to inform users about the changes in item management during mode switching.
This commit is contained in:
@@ -210,6 +210,16 @@ GroupItem
|
||||
Новые поступления не пропадают: фоновая проверка сравнивает библиотеку с фильтром и показывает в UI
|
||||
«доступно 12 новых позиций», добавление — по кнопке.
|
||||
|
||||
**Смена режима собирает список заново.** В статической группе список — это состав, в динамической —
|
||||
только поправки к правилу (закреплено / исключено), и одно и то же значить сразу двумя вещами
|
||||
не может. Поэтому переход в «по правилу» **сбрасывает** прежние позиции: перенесённые закреплёнными,
|
||||
они остались бы в наборе навсегда, правило считало бы состав «плюс всё, что было», и сузить группу
|
||||
им стало бы нечем — динамическая отличалась бы от статической только названием. Обратный переход
|
||||
симметричен: список чистится и наполняется тем, что вычислило правило (это делает прикладной слой —
|
||||
домен правила не интерпретирует), чтобы группа не опустела от смены режима: на неё уже ссылаются
|
||||
слоты. В интерфейсе смена режима подтверждается — состав пересобирается, и знать об этом надо
|
||||
до нажатия, а не после.
|
||||
|
||||
```json
|
||||
{
|
||||
"elementKinds": ["show", "collection"],
|
||||
|
||||
Reference in New Issue
Block a user