Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1271 closed task (fixed)

Add extension points to all toolbars

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: BASE 2.12
Component: web Version:
Keywords: Cc:

Description

The extension system that was developed some time ago for BASE can be quite powerful. Currently it is however of limited use since we have very few extension points. Eg. the menu, bioassay sets tools, and services. One natural place for extensions are as buttons in the various toolbars that are found on all list and single-item view pages. I think we should define extension points for those toolbars. Some extension points are "generic" and some item-specific. For example:

  • net.sf.based.clients.web.toolbars.all.list: Extension point that allows an extension to appear in all list page toolbars.
  • net.sf.basedb.clients.web.toobars.sharable.item: Extension point that allows an extension to appear in all shareable single-item toolbars.
  • net.sf.basedb.clients.web.toolbars.sample.item: Extension point that allows an extension to appear in the single-item toolbar for samples.

This will be a lot of new extension points! I think it should be possible to re-use the ButtonAction? class that is used bioassay set extension point. We only need a new Renderer that displays it as a toolbar button instead of a simple icon. The code change needed on the individual pages should be minimal.

Change History (13)

comment:1 Changed 12 years ago by Nicklas Nordborg

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:2 Changed 12 years ago by Nicklas Nordborg

(In [4870]) References #1271: Add extension points to all toolbars

Infrastructure is in place. I have used experiment list page as a prototype. Changes include:

  • Renderer and renderer factory for toolbar buttons
  • Add support for WrappingRenderer? to allow an extension point to add HTML around what is generated by a parent renderer.
    • Make it possible to programmatically register extension points
    • The table.Button taglib also uses the ToolbarButtonRenderer?

comment:3 Changed 12 years ago by Nicklas Nordborg

(In [4871]) References #1271: Add extension points to all toolbars

Added extension points to all experiment subpages. Fixed some rendering bugs.

comment:4 Changed 12 years ago by Nicklas Nordborg

(In [4872]) References #1271: Add extension points to all toolbars

Added GuiContext? information to extension points.

comment:5 Changed 12 years ago by Nicklas Nordborg

(In [4878]) References #1271: Add extension points to all toolbars

Added extension point for annotatable items. Added code for displaying extensions to raw bioassay and raw data.

comment:6 Changed 12 years ago by Nicklas Nordborg

(In [4879]) References #1271: Add extension points to all toolbars

Added code for displaying extensions to formulas, reporters, reporter lists, scans and hybridizations.

comment:7 Changed 12 years ago by Nicklas Nordborg

(In [4882]) References #1271: Add extension points to all toolbars

Added code for displaying extensions to all biomaterial pages.

comment:8 Changed 12 years ago by Nicklas Nordborg

(In [4884]) References #1271: Add extension points to all toolbars

Added code for displaying extensions to all array lims pages.

comment:9 Changed 12 years ago by Nicklas Nordborg

(In [4886]) References #1271: Add extension points to all toolbars

Added code for displaying extensions to all pages in the administration menu.

comment:10 Changed 12 years ago by Nicklas Nordborg

Resolution: fixed
Status: assignedclosed

(In [4887]) Fixes #1271: Add extension points to all toolbars

All toolbars should now have an extension point.

comment:11 Changed 12 years ago by Nicklas Nordborg

(In [4894]) References #1271: Add extension points to all toolbars

Toolbar buttons should not wrap since they will not be aligned if they do.

comment:12 Changed 12 years ago by Nicklas Nordborg

(In [4904]) References #1271: Add extension points to all toolbars

Disabled buttons were not properly/visibly disabled.

comment:13 Changed 12 years ago by Nicklas Nordborg

(In [4937]) References #1271: Add extension points to all toolbars

Buttons use absolute URL for icons if path starts with '/' (previously all icons were required to be located in the 'images' directory).

Note: See TracTickets for help on using tickets.