1111use Ajax \semantic \widgets \base \InstanceViewer ;
1212use Ajax \semantic \html \modules \HtmlDropdown ;
1313use Ajax \service \JArray ;
14+ use Ajax \service \Javascript ;
1415
1516abstract 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}
0 commit comments