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