Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 IdeaProsCons 
ActionPopup definitionSimilar to the Actionbar definition.
  • You only have to work in one place.
  • You only have to look in once place and you know the definition. 
  • Easily get out of sync with the actionbar.
    • Order of items
    • Which items are in, which are out.
  • A pain to manage two configurations.
 
Extend Actionbar definitionAn ActionPopup definition that extends the Actionbar definition instead of totally redefining it.
  • Stays in sync with actionbar

  • Must implement a way to remove an item from a definition.
  • Need to look in 2 places to understand what is in ActionPopup.
  • Still a pain to create and manage two configurations.
 
Action definitionAn additional flag in each action that marks that it should show up in the popup
  • ActionbarItemDefinition gets: isCommon, isInPopup, includeInContextMenu
  • Stays in sync with actionbar
  • Simple implementation.
  • Simple configuration (just one tree)
  • Need to look in all the action definitions to understand what is in ActionPopup.
 
Something else??    

...

Where is the right place to instantiate the ActionPopup

Questions 

Probably define an actionbar for this case.

Parts

  • Invokation
    • Right click on workbench row invokes ActionPopup:
      • BrowserSubApp.registerSubAppEventsHandlers()
    • Click on a button in FileUploadField can invoke ActionPopup - probably needs to point to which one it wants.
    • Shell has a method - or UIContext, so you can get it from anywhere? openActionPopup("name") (could take the name of an actionpopup or of an actionbar)
  •  UI


    • ActionPopup should float above all UI.

    • ActionPopup should be positioned at mouse (and fully onscreen)

    • It should go away if


      • Click on menu Item

      • or click mouse (It could display a modal curtain while it is open)

      • or timeout

      • or switch apps, or subapps, or open an Overlay, or open a shellapp,

      • Does Vaadin have concept of foccused item - could this help us know when the popup should close?

  • Generalize UI menu


    • Actionbar becomes ActionMenu

    • Css must get tuned.

    • Actionbar uses ActionMenu

    • Actionpopup uses ActionMenu

    • ActionPopup takes an ActionMenu definition

    • can be build from configuration

    • can be construct manually.

     

Right Clicking

 

 

 

Tasks

Implement a host for the ActionPopup

Shell has a server component which is the actionpopup? You can hide and show it + position it.

  • TreeViewImpl.addItemClickListener > presenterOnRightClick()
  • TreeViewImpl.presenterOnRightClick() >
  • ContentPresenter.onRightClick() > fires ItemRightClickedEvent() on SubAppEventBus.
  • BrowserSubApp