PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.0.0.1
JetFormBuilder — Dynamic Blocks Form Builder v3.0.0.1
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 / includes / blocks / conditional-block / render-states-collection.php
jetformbuilder / includes / blocks / conditional-block Last commit date
condition-types 3 years ago functions 3 years ago models 3 years ago operators 3 years ago query-views 3 years ago render-states 3 years ago rest-api 3 years ago condition-manager.php 3 years ago condition-response-object.php 3 years ago functions.php 3 years ago operators.php 3 years ago render-state.php 3 years ago render-states-collection.php 3 years ago
render-states-collection.php
55 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Blocks\Conditional_Block;
5
6 use Jet_Form_Builder\Blocks\Conditional_Block\Render_States\Base_Render_State;
7 use Jet_Form_Builder\Classes\Arrayable\Collection;
8
9 class Render_States_Collection extends Collection {
10
11 private $exclude_list = array();
12
13 /**
14 * @param Base_Render_State $item
15 *
16 * @return Collection
17 */
18 public function push( Base_Render_State $item ): Collection {
19 array_push( $this->exclude_list, ...$item->exclude_states() );
20
21 return $this->add( $item );
22 }
23
24 public function confirm(): Collection {
25 $positions = array();
26
27 foreach ( $this as $position => $state ) {
28 $current = get_class( $state );
29
30 if ( ! in_array( $current, $this->exclude_list, true ) ) {
31 continue;
32 }
33
34 $positions[] = $position;
35 }
36
37 $this->remove( $positions );
38 $this->exclude_list = array();
39
40 return $this;
41 }
42
43 public function render(): string {
44 $response = '';
45
46 /** @var Base_Render_State $item */
47 foreach ( $this as $item ) {
48 $response .= "\r\n" . $item->render();
49 }
50
51 return $response;
52 }
53
54 }
55