PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.3.2
Admin Columns v4.3.2
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Admin / Page.php
codepress-admin-columns / classes / Admin Last commit date
Asset 5 years ago HelpTab 5 years ago Main 5 years ago Menu 5 years ago Notice 5 years ago Preference 5 years ago ScreenOption 5 years ago Section 5 years ago AddonStatus.php 5 years ago Admin.php 5 years ago AdminNetwork.php 5 years ago AdminScripts.php 5 years ago Banner.php 5 years ago HelpTab.php 5 years ago Helpable.php 5 years ago MainFactory.php 5 years ago MainFactoryInterface.php 5 years ago Menu.php 5 years ago MenuFactory.php 5 years ago MenuFactoryInterface.php 5 years ago NetworkRequestHandler.php 5 years ago Page.php 5 years ago PageFactory.php 5 years ago PageFactoryInterface.php 5 years ago PageRequestHandler.php 5 years ago RequestHandler.php 5 years ago RequestHandlerInterface.php 5 years ago ScreenOption.php 5 years ago ScreenOptions.php 5 years ago Section.php 5 years ago SectionCollection.php 5 years ago Table.php 5 years ago Tooltip.php 5 years ago WpMenuFactory.php 5 years ago
Page.php
83 lines
1 <?php
2
3 namespace AC\Admin;
4
5 use AC\Asset\Enqueueable;
6 use AC\Asset\Enqueueables;
7 use AC\Registrable;
8 use AC\Renderable;
9
10 class Page implements Registrable {
11
12 /**
13 * @var Renderable
14 */
15 private $main;
16
17 /**
18 * @var Renderable
19 */
20 private $head;
21
22 public function __construct( Renderable $main, Renderable $head ) {
23 $this->main = $main;
24 $this->head = $head;
25 }
26
27 public function get_main() {
28 return $this->main;
29 }
30
31 public function get_head() {
32 return $this->head;
33 }
34
35 public function register() {
36 $screen = get_current_screen();
37
38 if ( ! $screen ) {
39 return;
40 }
41
42 if ( $this->main instanceof Registrable ) {
43 $this->register();
44 }
45 if ( $this->main instanceof Helpable ) {
46 $this->help_tabs( $this->main, $screen );
47 }
48 if ( $this->main instanceof Enqueueables ) {
49 array_map( [ $this, 'enqueue' ], $this->main->get_assets()->all() );
50 }
51
52 do_action( 'ac/admin_scripts', $this->main );
53
54 add_filter( 'screen_settings', [ $this, 'screen_options' ] );
55 }
56
57 protected function help_tabs( Helpable $page, \WP_Screen $screen ) {
58 foreach ( $page->get_help_tabs() as $help ) {
59 $screen->add_help_tab( [
60 'id' => $help->get_id(),
61 'title' => $help->get_title(),
62 'content' => $help->get_content(),
63 ] );
64 }
65 }
66
67 public function screen_options( $settings ) {
68 if ( $this->main instanceof ScreenOptions ) {
69 $settings .= sprintf( '<legend>%s</legend>', __( 'Display', 'codepress-admin-columns' ) );
70
71 foreach ( $this->main->get_screen_options() as $screen_option ) {
72 $settings .= $screen_option->render();
73 }
74 }
75
76 return $settings;
77 }
78
79 protected function enqueue( Enqueueable $asset ) {
80 $asset->enqueue();
81 }
82
83 }