Opened 16 years ago

Closed 16 years ago

Last modified 16 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 by Nicklas Nordborg, 16 years ago

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:2 by Nicklas Nordborg, 16 years ago

(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 by Nicklas Nordborg, 16 years ago

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

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

comment:4 by Nicklas Nordborg, 16 years ago

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

Added GuiContext information to extension points.

comment:5 by Nicklas Nordborg, 16 years ago

(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 by Nicklas Nordborg, 16 years ago

(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 by Nicklas Nordborg, 16 years ago

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

Added code for displaying extensions to all biomaterial pages.

comment:8 by Nicklas Nordborg, 16 years ago

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

Added code for displaying extensions to all array lims pages.

comment:9 by Nicklas Nordborg, 16 years ago

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

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

comment:10 by Nicklas Nordborg, 16 years ago

Resolution: fixed
Status: assignedclosed

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

All toolbars should now have an extension point.

comment:11 by Nicklas Nordborg, 16 years ago

(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 by Nicklas Nordborg, 16 years ago

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

Disabled buttons were not properly/visibly disabled.

comment:13 by Nicklas Nordborg, 16 years ago

(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.