mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-28 10:53:39 +01:00
52 lines
1.4 KiB
TypeScript
52 lines
1.4 KiB
TypeScript
|
/**
|
||
|
* EGroupware egw_action framework - egw action framework
|
||
|
*
|
||
|
* @link https://www.egroupware.org
|
||
|
* @author Andreas Stöckel <as@stylite.de>
|
||
|
* @copyright 2011 by Andreas Stöckel
|
||
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||
|
* @package egw_action
|
||
|
*/
|
||
|
|
||
|
|
||
|
import {EgwActionManager} from "./EgwActionManager";
|
||
|
import {egwActionStoreJSON} from "./egw_action_common";
|
||
|
|
||
|
/**
|
||
|
* The egwActionLink is used to interconnect egwActionObjects and egwActions.
|
||
|
* This gives each action object the possibility to decide, whether the action
|
||
|
* should be active in this context or not.
|
||
|
*
|
||
|
* @param _manager is a reference to the egwActionManager which contains the action
|
||
|
* the object wants to link to.
|
||
|
*/
|
||
|
export class EgwActionLink {
|
||
|
enabled = true;
|
||
|
visible = true;
|
||
|
actionId = "";
|
||
|
actionObj = null;
|
||
|
manager:EgwActionManager;
|
||
|
|
||
|
constructor(_manager) {
|
||
|
this.manager = _manager;
|
||
|
}
|
||
|
updateLink(_data)
|
||
|
{
|
||
|
egwActionStoreJSON(_data, this, true);
|
||
|
}
|
||
|
set_enabled(_value) {
|
||
|
this.enabled = _value;
|
||
|
};
|
||
|
|
||
|
set_visible(_value) {
|
||
|
this.visible = _value;
|
||
|
};
|
||
|
set_actionId(_value)
|
||
|
{
|
||
|
this.actionId = _value;
|
||
|
this.actionObj = this.manager.getActionById(_value);
|
||
|
|
||
|
if (!this.actionObj)
|
||
|
throw "Action object with id '"+_value+"' does not exist!";
|
||
|
};
|
||
|
}
|