refactor layouts module to domain/di and prepare 0.256 release

This commit is contained in:
2026-02-12 22:54:47 +01:00
parent 5e9b998043
commit 76287923e8
24 changed files with 970 additions and 315 deletions

View File

@@ -408,4 +408,14 @@ Aktualnie w suite są też testy modułów `Dictionaries`, `Articles` i `Users`
- UPDATE: w admin/Site fabryki DI dla Articles, Banners, Settings, Dictionaries przekazuja rowniez LanguagesRepository.
- UPDATE: legacy admin/controls/* oraz admin/factory/Shop* przepiete z admin/factory/Languages::languages_list() na bezposrednie wywolania LanguagesRepository.
- FIX: autoload/admin/factory/class.Languages.php uzywa pelnego znacznika <?php (kompatybilnosc serwerow z short_open_tag=Off).
- Testy: 130 tests, 303 assertions
- Testy: 130 tests, 303 assertions
## Aktualizacja 2026-02-12 (ver. 0.256)
- NOWE: `Domain\\Layouts\\LayoutsRepository` (find/save/delete/listForAdmin, menusWithPages, categoriesTree).
- NOWE: `admin\\Controllers\\LayoutsController` (DI) dla akcji `list`, `layout_edit`, `layout_save`, `layout_delete`.
- UPDATE: `/admin/layouts/view_list/` przepiete z legacy `grid` na `components/table-list` (`PaginatedTableViewModel` + `TableListRequestFactory`).
- UPDATE: `admin/templates/layouts/layout-edit.php` korzysta z danych przekazywanych z repozytorium (bez wywolan `admin\\factory\\Pages` i `admin\\factory\\ShopCategory` w widoku).
- NOWE: `admin/templates/layouts/subcategories-list.php` (rekurencyjny partial bez zaleznosci od legacy factory).
- UPDATE: `Domain\\Languages\\LanguagesRepository` ma wspolna metode `defaultLanguageId()` wykorzystywana m.in. w `LayoutsController`.
- CLEANUP: usuniete legacy klasy `autoload/admin/controls/class.Layouts.php`, `autoload/admin/view/class.Layouts.php`; `admin/factory/class.Layouts.php` dziala jako fasada do `Domain\\Layouts\\LayoutsRepository`.
- UPDATE: `admin\\Controllers\\ArticlesController` pobiera layouty przez `Domain\\Layouts\\LayoutsRepository` (DI).
- Testy: 141 tests, 336 assertions