PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.0.0
JetFormBuilder — Dynamic Blocks Form Builder v3.0.0
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 / includes / admin / table-advanced-record-prepare-trait.php
jetformbuilder / includes / admin Last commit date
buttons 3 years ago exceptions 3 years ago notices 3 years ago pages 3 years ago single-pages 3 years ago table-views 3 years ago tabs-handlers 3 years ago vui-boxes 3 years ago admin-page-interface.php 3 years ago admin-page-trait.php 3 years ago editor.php 3 years ago table-advanced-record-prepare-trait.php 3 years ago table-record-prepare-trait.php 3 years ago
table-advanced-record-prepare-trait.php
73 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Admin;
5
6 use Jet_Form_Builder\Admin\Table_Views\Column_Base;
7 use Jet_Form_Builder\Admin\Table_Views\Column_Heading_Interface;
8
9 trait Table_Advanced_Record_Prepare_Trait {
10
11 use Table_Record_Prepare_Trait;
12
13 private $columns = array();
14
15 abstract public function get_columns(): array;
16
17 /**
18 * @return Column_Base[]
19 */
20 private function get_prepared_columns(): array {
21 if ( empty( $this->columns ) ) {
22 $this->columns = $this->get_columns();
23 }
24
25 return $this->columns;
26 }
27
28 public function add_columns( array $columns ) {
29 $this->columns = array_merge( $this->get_prepared_columns(), $columns );
30
31 return $this;
32 }
33
34 public function get_columns_handlers(): array {
35 $columns = $this->get_prepared_columns();
36
37 foreach ( $columns as $column_name => $column ) {
38 if ( is_a( $column, Column_Base::class ) ) {
39 continue;
40 }
41 unset( $columns[ $column_name ] );
42 }
43
44 return $columns;
45 }
46
47 public function get_columns_headings(): array {
48 $columns = $this->get_prepared_columns();
49
50 foreach ( $columns as $column_name => $column ) {
51 if ( is_array( $column ) ) {
52 continue;
53 }
54 /** @var Column_Heading_Interface $column */
55 if ( is_a( $column, Column_Heading_Interface::class ) && $column->has_label() ) {
56 $columns[ $column_name ] = $column->get_heading();
57
58 continue;
59 }
60
61 unset( $columns[ $column_name ] );
62 }
63
64 return $columns;
65 }
66
67 public function prepare_column_attrs( array $record, $column_attrs, $column_name ): array {
68 /** @var Column_Base $column_attrs */
69 return $column_attrs->set_column( $column_name )->get_column( $record );
70 }
71
72 }
73