Flyout menu broken in 2019?
Hey guys,
So I've had settings put into the flyout menu of my extension for easily a year or two now and in the latest adobe update it's disappeared which really really breaks the usability of it.
Here's a snippet of me setting the menu up.
function init() {
// Ugly workaround to keep track of "checked" and "enabled" statuses
var checkableMenuItem_isChecked = true;
var targetMenuItem_isEnabled = true;
// Flyout menu XML string
var flyoutXML = '<Menu> \
<MenuItem Id="modes" Label="Modes" Enabled="false"/>\
<MenuItem Label="---" /> \
<MenuItem Id="selectedGroupMode" Label="Selected Group Mode" Enabled="true" Checked="true"/> \
<MenuItem Id="groupContentsMode" Label="Group Contents Mode" Enabled="true" Checked="false"/> \
<MenuItem Id="channelPackingMode" Label="Channel Packing Mode" Enabled="true" Checked="false"/> \
<MenuItem Id="wysiwygMode" Label="WYSIWYG Mode" Enabled="true" Checked="false"/> \
<MenuItem Label="---" /> \
\
</Menu>';
// Uses the XML string to build the menu
csInterface.setPanelFlyoutMenu(flyoutXML);
// Flyout Menu Click Callback
function flyoutMenuClickedHandler (event) {
// the event's "data" attribute is an object, which contains "menuId" and "menuName"
console.dir(event);
switch (event.data.menuId) {
case "selectedGroupMode":
checkableMenuItem_isChecked = !checkableMenuItem_isChecked;
csInterface.updatePanelMenuItem("Selected Group Mode", true, true);
csInterface.updatePanelMenuItem("Group Contents Mode", true, false);
csInterface.updatePanelMenuItem("Channel Packing Mode", true, false);
csInterface.updatePanelMenuItem("WYSIWYG Mode", true, false);
loadJSX('selectedGroup.jsx');
break;
case "groupContentsMode":
checkableMenuItem_isChecked = !checkableMenuItem_isChecked;
csInterface.updatePanelMenuItem("Selected Group Mode", true, false);
csInterface.updatePanelMenuItem("Group Contents Mode", true, true);
csInterface.updatePanelMenuItem("Channel Packing Mode", true, false);
csInterface.updatePanelMenuItem("WYSIWYG Mode", true, false);
loadJSX('groupContents.jsx');
break;
case "channelPackingMode":
checkableMenuItem_isChecked = !checkableMenuItem_isChecked;
csInterface.updatePanelMenuItem("Selected Group Mode", true, false);
csInterface.updatePanelMenuItem("Group Contents Mode", true, false);
csInterface.updatePanelMenuItem("Channel Packing Mode", true, true);
csInterface.updatePanelMenuItem("WYSIWYG Mode", true, false);
loadJSX('channelPacking.jsx');
break;
case "wysiwygMode":
checkableMenuItem_isChecked = !checkableMenuItem_isChecked;
csInterface.updatePanelMenuItem("Selected Group Mode", true, false);
csInterface.updatePanelMenuItem("Group Contents Mode", true, false);
csInterface.updatePanelMenuItem("Channel Packing Mode", true, false);
csInterface.updatePanelMenuItem("WYSIWYG Mode", true, true);
loadJSX('wysiwyg.jsx');
break;
default:
console.log(event.data.menuName + " clicked!");
}
//csInterface.evalScript("alert('Clicked!\\n \"" + event.data.menuName + "\"');");
}
// Listen for the Flyout menu clicks
csInterface.addEventListener("com.adobe.csxs.events.flyoutMenuClicked", flyoutMenuClickedHandler);
I've manually updated the CSInterface.js file I was using to the new one from
CEP-Resources/CSInterface.js at master · Adobe-CEP/CEP-Resources · GitHub
and same result after building.
Has something changed drastically? It was working fine for the longest time.
