Adds the possibility to auto-trigger action effects in WCF.Clipboard
authorMatthias Schmidt <gravatronics@live.com>
Mon, 19 Mar 2012 15:54:55 +0000 (16:54 +0100)
committerMatthias Schmidt <gravatronics@live.com>
Mon, 19 Mar 2012 15:54:55 +0000 (16:54 +0100)
commitda27d58a3386b05dca4d345cee47d9632d6252d6
treee6b805cd9dc75972ed01050292e7b02eff5a8159
parent55d549b6b09aa1eba6ee96d35c6a3696e1d3d691
Adds the possibility to auto-trigger action effects in WCF.Clipboard

If a clipboard item has the following parameters:

* actionName
* className
* objectIDs (ids of the marked objects which would be affected by the action)

the following things happen:

* An AJAX action with actionName and className is executed (if additionally a confirm message is given, the user has to handle that first before the action is executed).
* It's checked if an action object for the relevant object type and actionName exists in WCF.Clipboard exists and for each object id in objectIDs triggerEffect(objectID) on the action object is called. This way deleted objects are also removed from the table or toggled objects get updated toggle "buttons".

To achieve the second part, WCF.Action.Delete and WCF.Action.Toggle have a new method: triggerEffect() which is basically the content of _success but can now be called from WCF.Clipboard with the relevant object ids.
Furthermore UserClipboardAction returns the relevant user ids if the delete action is active.

---

Additionally, I update the javascript handling of the user list in the acp:

* The deletion button works and uses WCF.Action.Delete.
* The new WCF.Table.EmptyTablerHandler is in use.
* The above mentioned WCF.Clipboard changed are implemented which is mainly adding a few javascript lines and removing several obsolete lines from WCF.ACP.
wcfsetup/install/files/acp/js/WCF.ACP.js
wcfsetup/install/files/acp/templates/userList.tpl
wcfsetup/install/files/js/WCF.js
wcfsetup/install/files/lib/acp/page/UserListPage.class.php
wcfsetup/install/files/lib/data/user/UserEditor.class.php
wcfsetup/install/files/lib/system/clipboard/action/UserClipboardAction.class.php