apache / apache/royale-asjs

Royale needs an emulation of flash.ui.ContextMenu/ContextMenuItem

Open
#877 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
ActionScript
Stars
380
Forks
120
PR merge metrics
No merged PRs in 30d

Description

Initial thoughts:
There is some code in TLF/src/main/royale/org/apache/royale/textLayout/dummy but that seems to be just placeholder code.

Initial thoughts:
The use case for this is more general beyond TLF. This could be a bead in Basic, which is then used in MXRoyale to support a 'contextMenu' property on UIComponent for javascript.

pseudo-mxml:
```






```

Considerations:
-Access to the native menu items is not available (I believe, based on quick research) in current browsers. That means there is not the possibility to mix new menu items with the native items as there has been with flash player.
-Firefox and others have had 'experimental' html5 support using contextMenu/menu/menuitem tags that cannot be relied on or used (it is not part of the spec iiuc).
-Using a specific implementation in html5 (as a 'modal' menu) will allow more customization of menu items than was the case in swf. Suggest we start with something that is compatible and only add greater variation later for html5 (e.g. support for icons) as needed.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inspecting the placeholder code under TLF/src/main/royale/org/apache/royale/textLayout/dummy and the proposed Basic bead and MXRoyale UIComponent integration. Define a compatible HTML5 modal context menu with ContextMenu and ContextMenuItem support; done should include the proposed MXML structure and a usable contextMenu property.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.