PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.5.1
JetFormBuilder — Dynamic Blocks Form Builder v3.6.5.1
3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / components / admin / page / traits / table-advanced-record-prepare-trait.php
jetformbuilder / components / admin / page / traits Last commit date
action-page-trait.php 2 years ago admin-dashboard-page-trait.php 2 years ago table-advanced-record-prepare-trait.php 2 years ago table-record-prepare-trait.php 2 years ago
table-advanced-record-prepare-trait.php
78 lines
1 <?php
2
3
4 namespace JFB_Components\Admin\Page\Traits;
5
6 use Jet_Form_Builder\Admin\Table_Views\Column_Base;
7 use Jet_Form_Builder\Admin\Table_Views\Column_Heading_Interface;
8
9 // If this file is called directly, abort.
10 if ( ! defined( 'WPINC' ) ) {
11 die;
12 }
13
14 trait Table_Advanced_Record_Prepare_Trait {
15
16 use Table_Record_Prepare_Trait;
17
18 private $columns = array();
19
20 abstract public function get_columns(): array;
21
22 /**
23 * @return Column_Base[]
24 */
25 private function get_prepared_columns(): array {
26 if ( empty( $this->columns ) ) {
27 $this->columns = $this->get_columns();
28 }
29
30 return $this->columns;
31 }
32
33 public function add_columns( array $columns ) {
34 $this->columns = array_merge( $this->get_prepared_columns(), $columns );
35
36 return $this;
37 }
38
39 public function get_columns_handlers(): array {
40 $columns = $this->get_prepared_columns();
41
42 foreach ( $columns as $column_name => $column ) {
43 if ( is_a( $column, Column_Base::class ) ) {
44 continue;
45 }
46 unset( $columns[ $column_name ] );
47 }
48
49 return $columns;
50 }
51
52 public function get_columns_headings(): array {
53 $columns = $this->get_prepared_columns();
54
55 foreach ( $columns as $column_name => $column ) {
56 if ( is_array( $column ) ) {
57 continue;
58 }
59 /** @var Column_Heading_Interface $column */
60 if ( is_a( $column, Column_Heading_Interface::class ) && $column->has_label() ) {
61 $columns[ $column_name ] = $column->get_heading();
62
63 continue;
64 }
65
66 unset( $columns[ $column_name ] );
67 }
68
69 return $columns;
70 }
71
72 public function prepare_column_attrs( array $record, $column_attrs, $column_name ): array {
73 /** @var Column_Base $column_attrs */
74 return $column_attrs->set_column( $column_name )->get_column( $record );
75 }
76
77 }
78