@@ -19,7 +19,7 @@ discard block |
||
19 | 19 | |
20 | 20 | /** |
21 | 21 | * @param array|string $properties |
22 | - * @return BaseHtml |
|
22 | + * @return BaseHtmlPropertiesTrait |
|
23 | 23 | */ |
24 | 24 | public function setProperties($properties) { |
25 | 25 | $this->properties=$properties; |
@@ -58,11 +58,17 @@ discard block |
||
58 | 58 | return $this; |
59 | 59 | } |
60 | 60 | |
61 | + /** |
|
62 | + * @param string $name |
|
63 | + */ |
|
61 | 64 | protected function removePropertyValue($name, $value) { |
62 | 65 | $this->properties[$name]=\str_replace($value, "", $this->properties[$name]); |
63 | 66 | return $this; |
64 | 67 | } |
65 | 68 | |
69 | + /** |
|
70 | + * @param string $name |
|
71 | + */ |
|
66 | 72 | protected function removePropertyValues($name, $values) { |
67 | 73 | $this->removeOldValues($this->properties[$name], $values); |
68 | 74 | return $this; |
@@ -77,6 +83,9 @@ discard block |
||
77 | 83 | return $this->addToProperty($name, $value); |
78 | 84 | } |
79 | 85 | |
86 | + /** |
|
87 | + * @param string $name |
|
88 | + */ |
|
80 | 89 | public function addToPropertyCtrl($name, $value, $typeCtrl) { |
81 | 90 | return $this->addToPropertyUnique($name, $value, $typeCtrl); |
82 | 91 | } |
@@ -88,6 +97,9 @@ discard block |
||
88 | 97 | return $this; |
89 | 98 | } |
90 | 99 | |
100 | + /** |
|
101 | + * @param string $name |
|
102 | + */ |
|
91 | 103 | public function removeProperty($name) { |
92 | 104 | if (\array_key_exists($name, $this->properties)) |
93 | 105 | unset($this->properties[$name]); |
@@ -108,6 +120,10 @@ discard block |
||
108 | 120 | return $this; |
109 | 121 | } |
110 | 122 | |
123 | + /** |
|
124 | + * @param string $propertyName |
|
125 | + * @param string $value |
|
126 | + */ |
|
111 | 127 | protected function getElementByPropertyValue($propertyName,$value, $elements) { |
112 | 128 | if (\is_array($elements)) { |
113 | 129 | $flag=false; |
@@ -8,9 +8,9 @@ discard block |
||
8 | 8 | * @author jc |
9 | 9 | * |
10 | 10 | */ |
11 | -trait BaseHtmlPropertiesTrait{ |
|
11 | +trait BaseHtmlPropertiesTrait { |
|
12 | 12 | |
13 | - protected $properties=array (); |
|
13 | + protected $properties=array(); |
|
14 | 14 | abstract protected function ctrl($name, $value, $typeCtrl); |
15 | 15 | abstract protected function removeOldValues(&$oldValue, $allValues); |
16 | 16 | public function getProperties() { |
@@ -38,13 +38,13 @@ discard block |
||
38 | 38 | |
39 | 39 | public function addToProperty($name, $value, $separator=" ") { |
40 | 40 | if (\is_array($value)) { |
41 | - foreach ( $value as $v ) { |
|
41 | + foreach ($value as $v) { |
|
42 | 42 | $this->addToProperty($name, $v, $separator); |
43 | 43 | } |
44 | - } else if ($value !== "" && $this->propertyContains($name, $value) === false) { |
|
44 | + } else if ($value!=="" && $this->propertyContains($name, $value)===false) { |
|
45 | 45 | $v=@$this->properties[$name]; |
46 | - if (isset($v) && $v !== "") |
|
47 | - $v=$v . $separator . $value; |
|
46 | + if (isset($v) && $v!=="") |
|
47 | + $v=$v.$separator.$value; |
|
48 | 48 | else |
49 | 49 | $v=$value; |
50 | 50 | |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | } |
83 | 83 | |
84 | 84 | public function addToPropertyCtrlCheck($name, $value, $typeCtrl) { |
85 | - if ($this->ctrl($name, $value, $typeCtrl) === true) { |
|
85 | + if ($this->ctrl($name, $value, $typeCtrl)===true) { |
|
86 | 86 | return $this->addToProperty($name, $value); |
87 | 87 | } |
88 | 88 | return $this; |
@@ -103,24 +103,24 @@ discard block |
||
103 | 103 | } |
104 | 104 | |
105 | 105 | protected function setPropertyCtrl($name, $value, $typeCtrl) { |
106 | - if ($this->ctrl($name, $value, $typeCtrl) === true) |
|
106 | + if ($this->ctrl($name, $value, $typeCtrl)===true) |
|
107 | 107 | return $this->setProperty($name, $value); |
108 | 108 | return $this; |
109 | 109 | } |
110 | 110 | |
111 | - protected function getElementByPropertyValue($propertyName,$value, $elements) { |
|
111 | + protected function getElementByPropertyValue($propertyName, $value, $elements) { |
|
112 | 112 | if (\is_array($elements)) { |
113 | 113 | $flag=false; |
114 | 114 | $index=0; |
115 | - while ( !$flag && $index < sizeof($elements) ) { |
|
115 | + while (!$flag && $index<sizeof($elements)) { |
|
116 | 116 | if ($elements[$index] instanceof BaseHtml) |
117 | - $flag=($elements[$index]->propertyContains($propertyName, $value) === true); |
|
117 | + $flag=($elements[$index]->propertyContains($propertyName, $value)===true); |
|
118 | 118 | $index++; |
119 | 119 | } |
120 | - if ($flag === true) |
|
121 | - return $elements[$index - 1]; |
|
120 | + if ($flag===true) |
|
121 | + return $elements[$index-1]; |
|
122 | 122 | } elseif ($elements instanceof BaseHtml) { |
123 | - if ($elements->propertyContains($propertyName, $value) === true) |
|
123 | + if ($elements->propertyContains($propertyName, $value)===true) |
|
124 | 124 | return $elements; |
125 | 125 | } |
126 | 126 | return null; |
@@ -12,15 +12,28 @@ discard block |
||
12 | 12 | * @property InstanceViewer $_instanceViewer |
13 | 13 | */ |
14 | 14 | trait DataTableFieldAsTrait{ |
15 | + |
|
16 | + /** |
|
17 | + * @param \Closure $field |
|
18 | + */ |
|
15 | 19 | abstract public function addField($field); |
20 | + |
|
21 | + /** |
|
22 | + * @param integer $index |
|
23 | + * @param \Closure $field |
|
24 | + */ |
|
16 | 25 | abstract public function insertField($index,$field); |
26 | + |
|
27 | + /** |
|
28 | + * @param \Closure $field |
|
29 | + */ |
|
17 | 30 | abstract public function insertInField($index,$field); |
18 | 31 | abstract public function fieldAs($index,$type,$attributes=NULL); |
19 | 32 | /** |
20 | 33 | * @param string $caption |
21 | 34 | * @param callable $callback |
22 | 35 | * @param boolean $visibleHover |
23 | - * @return callable |
|
36 | + * @return \Closure |
|
24 | 37 | */ |
25 | 38 | private function getFieldButtonCallable($caption,$visibleHover=true,$callback=null){ |
26 | 39 | return $this->getCallable("getFieldButton",[$caption,$visibleHover],$callback); |
@@ -30,7 +43,7 @@ discard block |
||
30 | 43 | * @param callable $thisCallback |
31 | 44 | * @param array $parameters |
32 | 45 | * @param callable $callback |
33 | - * @return callable |
|
46 | + * @return \Closure |
|
34 | 47 | */ |
35 | 48 | private function getCallable($thisCallback,$parameters,$callback=null){ |
36 | 49 | $result=function($instance) use($thisCallback,$parameters,$callback){ |
@@ -82,6 +95,9 @@ discard block |
||
82 | 95 | }, $index,$attributes); |
83 | 96 | } |
84 | 97 | |
98 | + /** |
|
99 | + * @param HtmlButton $element |
|
100 | + */ |
|
85 | 101 | protected function _visibleOver($element){ |
86 | 102 | $this->_visibleHover=true; |
87 | 103 | return $element->addToProperty("class", "visibleover")->setProperty("style","visibility:hidden;"); |
@@ -92,7 +108,7 @@ discard block |
||
92 | 108 | * @param string $caption |
93 | 109 | * @param callable $callback |
94 | 110 | * @param boolean $visibleHover |
95 | - * @return \Ajax\semantic\widgets\datatable\DataTable |
|
111 | + * @return DataTableFieldAsTrait |
|
96 | 112 | */ |
97 | 113 | public function addFieldButton($caption,$visibleHover=true,$callback=null){ |
98 | 114 | $this->addField($this->getCallable("getFieldButton",[$caption,$visibleHover],$callback)); |
@@ -104,7 +120,7 @@ discard block |
||
104 | 120 | * @param int $index |
105 | 121 | * @param string $caption |
106 | 122 | * @param callable $callback |
107 | - * @return \Ajax\semantic\widgets\datatable\DataTable |
|
123 | + * @return DataTableFieldAsTrait |
|
108 | 124 | */ |
109 | 125 | public function insertFieldButton($index,$caption,$visibleHover=true,$callback=null){ |
110 | 126 | $this->insertField($index, $this->getFieldButtonCallable($caption,$visibleHover,$callback)); |
@@ -116,18 +132,26 @@ discard block |
||
116 | 132 | * @param int $index |
117 | 133 | * @param string $caption |
118 | 134 | * @param callable $callback |
119 | - * @return \Ajax\semantic\widgets\datatable\DataTable |
|
135 | + * @return DataTableFieldAsTrait |
|
120 | 136 | */ |
121 | 137 | public function insertInFieldButton($index,$caption,$visibleHover=true,$callback=null){ |
122 | 138 | $this->insertInField($index, $this->getFieldButtonCallable($caption,$visibleHover,$callback)); |
123 | 139 | return $this; |
124 | 140 | } |
125 | 141 | |
142 | + /** |
|
143 | + * @param string $icon |
|
144 | + * @param string $class |
|
145 | + */ |
|
126 | 146 | private function addDefaultButton($icon,$class=null,$visibleHover=true,$callback=null){ |
127 | 147 | $this->addField($this->getCallable("getDefaultButton",[$icon,$class,$visibleHover],$callback)); |
128 | 148 | return $this; |
129 | 149 | } |
130 | 150 | |
151 | + /** |
|
152 | + * @param string $icon |
|
153 | + * @param string $class |
|
154 | + */ |
|
131 | 155 | private function insertDefaultButtonIn($index,$icon,$class=null,$visibleHover=true,$callback=null){ |
132 | 156 | $this->insertInField($index,$this->getCallable("getDefaultButton",[$icon,$class,$visibleHover],$callback)); |
133 | 157 | return $this; |
@@ -11,19 +11,19 @@ discard block |
||
11 | 11 | * @property boolean $_visibleHover |
12 | 12 | * @property InstanceViewer $_instanceViewer |
13 | 13 | */ |
14 | -trait DataTableFieldAsTrait{ |
|
14 | +trait DataTableFieldAsTrait { |
|
15 | 15 | abstract public function addField($field); |
16 | - abstract public function insertField($index,$field); |
|
17 | - abstract public function insertInField($index,$field); |
|
18 | - abstract public function fieldAs($index,$type,$attributes=NULL); |
|
16 | + abstract public function insertField($index, $field); |
|
17 | + abstract public function insertInField($index, $field); |
|
18 | + abstract public function fieldAs($index, $type, $attributes=NULL); |
|
19 | 19 | /** |
20 | 20 | * @param string $caption |
21 | 21 | * @param callable $callback |
22 | 22 | * @param boolean $visibleHover |
23 | 23 | * @return callable |
24 | 24 | */ |
25 | - private function getFieldButtonCallable($caption,$visibleHover=true,$callback=null){ |
|
26 | - return $this->getCallable("getFieldButton",[$caption,$visibleHover],$callback); |
|
25 | + private function getFieldButtonCallable($caption, $visibleHover=true, $callback=null) { |
|
26 | + return $this->getCallable("getFieldButton", [$caption, $visibleHover], $callback); |
|
27 | 27 | } |
28 | 28 | |
29 | 29 | /** |
@@ -32,19 +32,19 @@ discard block |
||
32 | 32 | * @param callable $callback |
33 | 33 | * @return callable |
34 | 34 | */ |
35 | - private function getCallable($thisCallback,$parameters,$callback=null){ |
|
36 | - $result=function($instance) use($thisCallback,$parameters,$callback){ |
|
37 | - $object=call_user_func_array(array($this,$thisCallback), $parameters); |
|
38 | - if(isset($callback)){ |
|
39 | - if(\is_callable($callback)){ |
|
40 | - $callback($object,$instance); |
|
35 | + private function getCallable($thisCallback, $parameters, $callback=null) { |
|
36 | + $result=function($instance) use($thisCallback, $parameters, $callback){ |
|
37 | + $object=call_user_func_array(array($this, $thisCallback), $parameters); |
|
38 | + if (isset($callback)) { |
|
39 | + if (\is_callable($callback)) { |
|
40 | + $callback($object, $instance); |
|
41 | 41 | } |
42 | 42 | } |
43 | - if($object instanceof HtmlSemDoubleElement){ |
|
44 | - $object->setProperty("data-ajax",$this->_instanceViewer->getIdentifier()); |
|
45 | - if($object->propertyContains("class","visibleover")){ |
|
43 | + if ($object instanceof HtmlSemDoubleElement) { |
|
44 | + $object->setProperty("data-ajax", $this->_instanceViewer->getIdentifier()); |
|
45 | + if ($object->propertyContains("class", "visibleover")) { |
|
46 | 46 | $this->_visibleHover=true; |
47 | - $object->setProperty("style","visibility:hidden;"); |
|
47 | + $object->setProperty("style", "visibility:hidden;"); |
|
48 | 48 | } |
49 | 49 | } |
50 | 50 | return $object; |
@@ -56,9 +56,9 @@ discard block |
||
56 | 56 | * @param string $caption |
57 | 57 | * @return HtmlButton |
58 | 58 | */ |
59 | - private function getFieldButton($caption,$visibleHover=true){ |
|
60 | - $bt= new HtmlButton("",$caption); |
|
61 | - if($visibleHover) |
|
59 | + private function getFieldButton($caption, $visibleHover=true) { |
|
60 | + $bt=new HtmlButton("", $caption); |
|
61 | + if ($visibleHover) |
|
62 | 62 | $this->_visibleOver($bt); |
63 | 63 | return $bt; |
64 | 64 | } |
@@ -72,19 +72,19 @@ discard block |
||
72 | 72 | * @param array $attributes associative array (<b>ajax</b> key is for ajax post) |
73 | 73 | * @return \Ajax\semantic\widgets\datatable\DataTable |
74 | 74 | */ |
75 | - public function fieldAsSubmit($index,$cssStyle=NULL,$url=NULL,$responseElement=NULL,$attributes=NULL){ |
|
76 | - return $this->_fieldAs(function($id,$name,$value,$caption) use ($url,$responseElement,$cssStyle,$index,$attributes){ |
|
77 | - $button=new HtmlButton($id,$value,$cssStyle); |
|
78 | - $button->postOnClick($url,"$(event.target).closest('tr').find(':input').serialize()",$responseElement,$attributes["ajax"]); |
|
79 | - if(!isset($attributes["visibleHover"]) || $attributes["visibleHover"]) |
|
75 | + public function fieldAsSubmit($index, $cssStyle=NULL, $url=NULL, $responseElement=NULL, $attributes=NULL) { |
|
76 | + return $this->_fieldAs(function($id, $name, $value, $caption) use ($url, $responseElement, $cssStyle, $index, $attributes){ |
|
77 | + $button=new HtmlButton($id, $value, $cssStyle); |
|
78 | + $button->postOnClick($url, "$(event.target).closest('tr').find(':input').serialize()", $responseElement, $attributes["ajax"]); |
|
79 | + if (!isset($attributes["visibleHover"]) || $attributes["visibleHover"]) |
|
80 | 80 | $this->_visibleOver($button); |
81 | 81 | return $button; |
82 | - }, $index,$attributes); |
|
82 | + }, $index, $attributes); |
|
83 | 83 | } |
84 | 84 | |
85 | - protected function _visibleOver($element){ |
|
85 | + protected function _visibleOver($element) { |
|
86 | 86 | $this->_visibleHover=true; |
87 | - return $element->addToProperty("class", "visibleover")->setProperty("style","visibility:hidden;"); |
|
87 | + return $element->addToProperty("class", "visibleover")->setProperty("style", "visibility:hidden;"); |
|
88 | 88 | } |
89 | 89 | |
90 | 90 | /** |
@@ -94,8 +94,8 @@ discard block |
||
94 | 94 | * @param boolean $visibleHover |
95 | 95 | * @return \Ajax\semantic\widgets\datatable\DataTable |
96 | 96 | */ |
97 | - public function addFieldButton($caption,$visibleHover=true,$callback=null){ |
|
98 | - $this->addField($this->getCallable("getFieldButton",[$caption,$visibleHover],$callback)); |
|
97 | + public function addFieldButton($caption, $visibleHover=true, $callback=null) { |
|
98 | + $this->addField($this->getCallable("getFieldButton", [$caption, $visibleHover], $callback)); |
|
99 | 99 | return $this; |
100 | 100 | } |
101 | 101 | |
@@ -106,8 +106,8 @@ discard block |
||
106 | 106 | * @param callable $callback |
107 | 107 | * @return \Ajax\semantic\widgets\datatable\DataTable |
108 | 108 | */ |
109 | - public function insertFieldButton($index,$caption,$visibleHover=true,$callback=null){ |
|
110 | - $this->insertField($index, $this->getFieldButtonCallable($caption,$visibleHover,$callback)); |
|
109 | + public function insertFieldButton($index, $caption, $visibleHover=true, $callback=null) { |
|
110 | + $this->insertField($index, $this->getFieldButtonCallable($caption, $visibleHover, $callback)); |
|
111 | 111 | return $this; |
112 | 112 | } |
113 | 113 | |
@@ -118,25 +118,25 @@ discard block |
||
118 | 118 | * @param callable $callback |
119 | 119 | * @return \Ajax\semantic\widgets\datatable\DataTable |
120 | 120 | */ |
121 | - public function insertInFieldButton($index,$caption,$visibleHover=true,$callback=null){ |
|
122 | - $this->insertInField($index, $this->getFieldButtonCallable($caption,$visibleHover,$callback)); |
|
121 | + public function insertInFieldButton($index, $caption, $visibleHover=true, $callback=null) { |
|
122 | + $this->insertInField($index, $this->getFieldButtonCallable($caption, $visibleHover, $callback)); |
|
123 | 123 | return $this; |
124 | 124 | } |
125 | 125 | |
126 | - private function addDefaultButton($icon,$class=null,$visibleHover=true,$callback=null){ |
|
127 | - $this->addField($this->getCallable("getDefaultButton",[$icon,$class,$visibleHover],$callback)); |
|
126 | + private function addDefaultButton($icon, $class=null, $visibleHover=true, $callback=null) { |
|
127 | + $this->addField($this->getCallable("getDefaultButton", [$icon, $class, $visibleHover], $callback)); |
|
128 | 128 | return $this; |
129 | 129 | } |
130 | 130 | |
131 | - private function insertDefaultButtonIn($index,$icon,$class=null,$visibleHover=true,$callback=null){ |
|
132 | - $this->insertInField($index,$this->getCallable("getDefaultButton",[$icon,$class,$visibleHover],$callback)); |
|
131 | + private function insertDefaultButtonIn($index, $icon, $class=null, $visibleHover=true, $callback=null) { |
|
132 | + $this->insertInField($index, $this->getCallable("getDefaultButton", [$icon, $class, $visibleHover], $callback)); |
|
133 | 133 | return $this; |
134 | 134 | } |
135 | 135 | |
136 | - private function getDefaultButton($icon,$class=null,$visibleHover=true){ |
|
137 | - $bt=$this->getFieldButton("",$visibleHover); |
|
136 | + private function getDefaultButton($icon, $class=null, $visibleHover=true) { |
|
137 | + $bt=$this->getFieldButton("", $visibleHover); |
|
138 | 138 | $bt->asIcon($icon); |
139 | - if(isset($class)) |
|
139 | + if (isset($class)) |
|
140 | 140 | $bt->addClass($class); |
141 | 141 | return $bt; |
142 | 142 | } |
@@ -147,30 +147,30 @@ discard block |
||
147 | 147 | * @param callable $callback |
148 | 148 | * @return \Ajax\semantic\widgets\datatable\DataTableFieldAsTrait |
149 | 149 | */ |
150 | - public function addDeleteButton($visibleHover=true,$generateBehavior=true,$callback=null){ |
|
150 | + public function addDeleteButton($visibleHover=true, $generateBehavior=true, $callback=null) { |
|
151 | 151 | $this->_hasDelete=$generateBehavior; |
152 | - return $this->addDefaultButton("remove","delete red basic",$visibleHover,$callback); |
|
152 | + return $this->addDefaultButton("remove", "delete red basic", $visibleHover, $callback); |
|
153 | 153 | } |
154 | 154 | |
155 | - public function addEditButton($visibleHover=true,$generateBehavior=true,$callback=null){ |
|
155 | + public function addEditButton($visibleHover=true, $generateBehavior=true, $callback=null) { |
|
156 | 156 | $this->_hasEdit=$generateBehavior; |
157 | - return $this->addDefaultButton("edit","edit basic",$visibleHover,$callback); |
|
157 | + return $this->addDefaultButton("edit", "edit basic", $visibleHover, $callback); |
|
158 | 158 | } |
159 | 159 | |
160 | - public function addEditDeleteButtons($visibleHover=true,$generateBehavior=true,$callbackEdit=null,$callbackDelete=null){ |
|
161 | - $this->addEditButton($visibleHover,$generateBehavior,$callbackEdit); |
|
160 | + public function addEditDeleteButtons($visibleHover=true, $generateBehavior=true, $callbackEdit=null, $callbackDelete=null) { |
|
161 | + $this->addEditButton($visibleHover, $generateBehavior, $callbackEdit); |
|
162 | 162 | $index=$this->_instanceViewer->visiblePropertiesCount()-1; |
163 | - $this->insertDeleteButtonIn($index,$visibleHover,$generateBehavior,$callbackDelete); |
|
163 | + $this->insertDeleteButtonIn($index, $visibleHover, $generateBehavior, $callbackDelete); |
|
164 | 164 | return $this; |
165 | 165 | } |
166 | 166 | |
167 | - public function insertDeleteButtonIn($index,$visibleHover=true,$generateBehavior=true,$callback=null){ |
|
167 | + public function insertDeleteButtonIn($index, $visibleHover=true, $generateBehavior=true, $callback=null) { |
|
168 | 168 | $this->_hasDelete=$generateBehavior; |
169 | - return $this->insertDefaultButtonIn($index,"remove","delete red basic",$visibleHover,$callback); |
|
169 | + return $this->insertDefaultButtonIn($index, "remove", "delete red basic", $visibleHover, $callback); |
|
170 | 170 | } |
171 | 171 | |
172 | - public function insertEditButtonIn($index,$visibleHover=true,$generateBehavior=true,$callback=null){ |
|
172 | + public function insertEditButtonIn($index, $visibleHover=true, $generateBehavior=true, $callback=null) { |
|
173 | 173 | $this->_hasEdit=$generateBehavior; |
174 | - return $this->insertDefaultButtonIn($index,"edit","edit basic",$visibleHover,$callback); |
|
174 | + return $this->insertDefaultButtonIn($index, "edit", "edit basic", $visibleHover, $callback); |
|
175 | 175 | } |
176 | 176 | } |
177 | 177 | \ No newline at end of file |