:
function myFeedItemExpandHandler(data) {
// ...
}
Proteus.addHandler("feed-item-expand", myFeedItemExpandHandler);
(Proteus17048)
• Proteus now fires "entry-moderation" events when a moderation operation performed by the current user completes. The event data payload is a JSON object structured as follows:
{
"action": "<string, name of the moderation action, e.g., 'Lock'>",
"failed": [ array of entry FQIDs for which the requested operation failed ],
"succeeded": [ array of entry FQIDs for which the requested operation succeeded ],
"skipped": [ array of entry FQIDs for which the requested operation was skipped because the target was already in the desired state ]
}
Plug-in authors can now register for these events as they can for other Proteus native events, e.g.,
function myEntryModerationHandler(data) {
// ...
}
Proteus.addHandler("entry-moderation", myEntryModerationHandler);
(Proteus17134)
Proteus Widgets
• TeamPage's Proteus skin widgets now include generic menus on top of various specific types of menu widgets.
The GenericMenu widget can be used to insert a custom menu into, e.g., the heading area (where the "Show" menu often appears):
<gwt.rpc.view name="GenericMenu" key="heading" heading="Test Menu" class="my-test-menu">
<gwt.rpc.view name="item" type="separator" name="A" class="menu-sep-A" />
<gwt.rpc.view name="item" type="item" name="Alert Test 1" javascript="alert('A:X');" class="menu-item-X" />
<viewaction name="NewTask" forceinclude="">
<gwt.rpc.view name="item" type="item" name="New Task" rg="__viewaction.gwtregiontoken__" class="menu-item-Y" />
</viewaction>
<gwt.rpc.view name="item" type="item" name="Home Page" url="__url.urlgen.home__" class="menu-item-Z" />
<gwt.rpc.view name="item" type="separator" name="B" class="menu-sep-B" />
<gwt.rpc.view name="item" type="item" name="Twitter (New Window)" url="https://twitter.com" target="_blank" class="menu-item-Q" />
<gwt.rpc.view name="item" type="item" name="Alert Test 2" javascript="alert('B:R');" class="menu-item-R" />
</gwt.rpc.view>
The InlineGenericMenu can be used to insert a menu into the main "HTML" area of the page by replacing a node by its ID, e.g.:
<gwt.rpc.view name="HTML">
<div>
<div id="test-menu"></div>
</div>
<gwt.rpc.view name="InlineGenericMenu" heading="Test Menu" class="my-test-menu" -id="test-menu">
<gwt.rpc.view name="item" type="separator" name="A" class="menu-sep-A" />
<gwt.rpc.view name="item" type="item" name="Alert Test 1" javascript="alert('A:X');" class="menu-item-X" />
<viewaction name="NewTask" forceinclude="">
<gwt.rpc.view name="item" type="item" name="New Task" rg="__viewaction.gwtregiontoken__" class="menu-item-Y" />
</viewaction>
<gwt.rpc.view name="item" type="item" name="Home Page" url="__url.urlgen.home__" class="menu-item-Z" />
<gwt.rpc.view name="item" type="separator" name="B" class="menu-sep-B" />
<gwt.rpc.view name="item" type="item" name="Twitter (New Window)" url="https://twitter.com" target="_blank" class="menu-item-Q" />
<gwt.rpc.view name="item" type="item" name="Alert Test 2" javascript="alert('B:R');" class="menu-item-R" />
</gwt.rpc.view>
...
</gwt.rpc.view>
(Proteus16964)
• The EntryTabs and BodyTabs widgets now support initially hiding one or more tabs and instead showing a "More" tab.
For EntryTabs, individual EntryTab gwt.rpc.view
tags can specify more="true"
to make the tab initially hidden behind a "More" tab. (The library function com.traction.sdl.gwtrpc.shared#entrytab supports this by allowing callers to pass in a boolean variable "more" set to true or false, and will set that attribute accordingly.)
For BodyTabs, individual tabs' JSON encoded data can include an "m" property set to "true" or "false" to make the tab initially hidden behind a "More" tab.
In either case, if a tab that would otherwise have been hidden is currently selected, it will not be hidden. (Proteus16945)
SDK
• com.traction.sdk.SdkFactory
now has a new method for creating a com.traction.sdk.props.PropStore
representing an entry's properties, and commitChanges
method will submit an edit on behalf of the requesting user if any effective changes have been applied to the PropStore
.
public abstract com.traction.sdk.props.PropStore getEditableEntryProperties(
com.traction.sdk.Context context,
com.traction.sdk.TractionId entryId,
boolean exact
) throws com.traction.sdk.AuthenticationException;
(Server97397)
Other
• Added the "due_modified_count_future" com.traction.sdk.token.EntryField
(and corresponding com.traction.sdk.token.EntryFieldRenderer
s) that can be used in conjunction with any task to determine how many times its due date was pushed back (i.e., into the future). (Server97543
Attachments:
teampage_logo.jpg
Article: Customer5417 (
permalink)
Categories: :Doc:changelog, :Doc:r62
Date: December 30, 2021; 7:40:41 PM Eastern Standard Time
Author Name: Dave Shepperton
Author ID: shep