Asset
2 days ago
Banner
2 days ago
Colors
2 days ago
MenuGroupFactory
2 days ago
MenuPageFactory
2 days ago
Notice
2 days ago
Page
2 days ago
PageFactory
2 days ago
Preference
2 days ago
Type
2 days ago
View
2 days ago
Admin.php
2 days ago
AdminLoader.php
2 days ago
AdminNetwork.php
2 days ago
AdminScripts.php
2 days ago
HelpTab.php
2 days ago
Helpable.php
2 days ago
Menu.php
2 days ago
MenuFactory.php
2 days ago
MenuFactoryInterface.php
2 days ago
MenuGroupFactory.php
2 days ago
MenuListFactory.php
2 days ago
MenuListItems.php
2 days ago
MenuPageFactory.php
2 days ago
PageFactoryInterface.php
2 days ago
PageNetworkRequestHandler.php
2 days ago
PageNetworkRequestHandlers.php
2 days ago
PageRequestHandler.php
2 days ago
PageRequestHandlers.php
2 days ago
RenderableHead.php
2 days ago
RequestHandlerInterface.php
2 days ago
ScreenOption.php
2 days ago
ScreenOptions.php
2 days ago
Scripts.php
2 days ago
Tooltip.php
2 days ago
UninitializedScreens.php
2 days ago
UninitializedScreens.php
54 lines
| 1 | <?php |
| 2 | |
| 3 | declare(strict_types=1); |
| 4 | |
| 5 | namespace AC\Admin; |
| 6 | |
| 7 | use AC\Storage\Repository\OriginalColumnsRepository; |
| 8 | use AC\Table\TableScreenCollection; |
| 9 | use AC\Table\TableScreenRepository; |
| 10 | use AC\TableScreen; |
| 11 | |
| 12 | class UninitializedScreens |
| 13 | { |
| 14 | private TableScreenRepository $table_screen_repository; |
| 15 | |
| 16 | private OriginalColumnsRepository $original_columns_repository; |
| 17 | |
| 18 | public function __construct( |
| 19 | TableScreenRepository $table_screen_repository, |
| 20 | OriginalColumnsRepository $original_columns_repository |
| 21 | ) { |
| 22 | $this->table_screen_repository = $table_screen_repository; |
| 23 | $this->original_columns_repository = $original_columns_repository; |
| 24 | } |
| 25 | |
| 26 | private function find_all(bool $is_network): TableScreenCollection |
| 27 | { |
| 28 | $collection = $is_network |
| 29 | ? $this->table_screen_repository->find_all_network() |
| 30 | : $this->table_screen_repository->find_all_site(); |
| 31 | |
| 32 | $table_screens = iterator_to_array($collection); |
| 33 | $table_screens = array_filter($table_screens, [$this, 'is_uninitialized']); |
| 34 | |
| 35 | return new TableScreenCollection(array_filter($table_screens)); |
| 36 | } |
| 37 | |
| 38 | private function is_uninitialized(TableScreen $table_screen): bool |
| 39 | { |
| 40 | return ! $this->original_columns_repository->exists($table_screen->get_id()); |
| 41 | } |
| 42 | |
| 43 | public function find_all_network(): TableScreenCollection |
| 44 | { |
| 45 | return $this->find_all(true); |
| 46 | } |
| 47 | |
| 48 | public function find_all_site(): TableScreenCollection |
| 49 | { |
| 50 | return $this->find_all(false); |
| 51 | } |
| 52 | |
| 53 | } |
| 54 |