From 2821c9bf4396666821666a9cbeb1c03421e1f745 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Thu, 28 Apr 2016 16:39:53 +0000 Subject: [PATCH] Allow popup menu checkboxes to be toggled base on selected entry data --- api/js/egw_action/egw_action_popup.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/api/js/egw_action/egw_action_popup.js b/api/js/egw_action/egw_action_popup.js index 52a68e9941..dff86a8dc2 100644 --- a/api/js/egw_action/egw_action_popup.js +++ b/api/js/egw_action/egw_action_popup.js @@ -61,6 +61,15 @@ function egwPopupAction(_id, _handler, _caption, _icon, _onExecute, _allowOnMult action.checked = _value; }; + // Allow checkbox to be set from context using the given function + action.set_isChecked = function(_value) { + action.isChecked = new egwFnct(this, null, []); + if(_value !== null) + { + action.isChecked.setValue(_value); + } + }; + // If radioGroup is >0 and the element is a checkbox, radioGroup specifies // the group of radio buttons this one belongs to action.set_radioGroup = function(_value) { @@ -502,6 +511,10 @@ function egwPopupActionImplementation() item.set_hint(link.actionObj.hint); item.set_checkbox(link.actionObj.checkbox); item.set_checked(link.actionObj.checked); + if(link.actionObj.checkbox && link.actionObj.isChecked) + { + item.set_checked(link.actionObj.isChecked.exec(link.actionObj, _selected)); + } item.set_groupIndex(link.actionObj.radioGroup); if (link.actionObj.shortcut)