Skip to content

Commit 29801f1

Browse files
committed
Edit button
1 parent b6875a9 commit 29801f1

File tree

4 files changed

+22
-3
lines changed

4 files changed

+22
-3
lines changed

Ajax/common/Widget.php

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Ajax\semantic\widgets\base\InstanceViewer;
1212
use Ajax\semantic\html\modules\HtmlDropdown;
1313
use Ajax\service\JArray;
14+
use Ajax\service\Javascript;
1415

1516
abstract class Widget extends HtmlDoubleElement {
1617
use FieldAsTrait;
@@ -181,11 +182,11 @@ public function addItemsInToolbar(array $items,$callback=NULL){
181182

182183
/**
183184
* @param string $value
184-
* @param array|NULL $items
185+
* @param array $items
185186
* @param callable $callback function($element)
186187
* @return \Ajax\common\html\HtmlDoubleElement
187188
*/
188-
public function addDropdownInToolbar($value,$items=NULL,$callback=NULL){
189+
public function addDropdownInToolbar($value,$items,$callback=NULL){
189190
$dd=$value;
190191
if (\is_string($value)) {
191192
$dd=new HtmlDropdown("dropdown-". $this->identifier."-".$value, $value, $items);
@@ -258,4 +259,20 @@ public function setDefaultValueFunction($defaultValueFunction){
258259
return $this;
259260
}
260261

262+
public function jsDisabled($disable=true){
263+
return "$('#".$this->identifier." .ui.input').toggleClass('disabled',".$disable.");";
264+
}
265+
266+
/**
267+
* @param unknown $caption
268+
* @param callable $callback function($element)
269+
* @return \Ajax\common\html\HtmlDoubleElement
270+
*/
271+
public function addEditButtonInToolbar($caption,$callback=NULL){
272+
$bt=new HtmlButton($this->identifier."-editBtn",$caption);
273+
$bt->setToggle();
274+
$bt->onClick($this->jsDisabled(Javascript::prep_value("$(event.target).hasClass('active')")));
275+
return $this->addInToolbar($bt,$callback);
276+
}
277+
261278
}

Ajax/semantic/html/elements/HtmlButton.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ public function setNegative() {
147147
* @return \Ajax\semantic\html\elements\HtmlButton
148148
*/
149149
public function setToggle() {
150+
$this->onCreate("$('#".$this->identifier."').state();");
150151
return $this->addToProperty("class", "toggle");
151152
}
152153

Ajax/semantic/widgets/base/FieldAsTrait.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
* @author jc
1616
* @property InstanceViewer $_instanceViewer
1717
* @property boolean $_edition
18+
* @property mixed _modelInstance
1819
*/
1920

2021
trait FieldAsTrait{

Ajax/semantic/widgets/base/InstanceViewer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public function __construct($identifier,$instance=NULL,$captions=NULL){
2525
$this->setInstance($instance);
2626
$this->setCaptions($captions);
2727
$this->captionCallback=NULL;
28-
$this->defaultValueFunction=function($name,$value,$index){return $value;};
28+
$this->defaultValueFunction=function($name,$value){return $value;};
2929
}
3030

3131
public function getValues(){

0 commit comments

Comments
 (0)