PortalLayout
Display your components in a web-portal style!
PortalLayout is yet another implementation of Vaadin layout. Shortly speaking, all the components you add there are wrapped in the portlets with some fancy functionality built-in (e.g drag and drop and collapsing).
What is offered:
- No need to settle up DnD functionality.
- Communication between portals:
- Make whatever complex UI, bundle its parts with portals.
- Add portlets.
- Drag portlets from one portal to the other easily!
- If needed, make one of your portals not communicative with others - it will neither accept portlets from outer space, nor let its contents go.
- Dragging by the portlet headers.
- Customizable positioner highlights the target drop area.
- Various properties of the portlets (can be set from the server side):
- Close ability.
- Collapse ability.
- Collapse state.
- Lock state (make it not draggable if needed).
- Caption.
- Supports both fixed and relative heights. Here relative height in percents stands for the percent of free space the portlet will consume.
- Supports spacing and margins.
- The width of the portlets is always 100%.
- Customize portlet headers, positioners and controls styles.
- Action buttons in the headers.
- Listeners for the collapse and close events.
- Full caption support.
- Animations for collapse and close events.
- Vaadin components in the headers.
- Custom styles for the portlets.
The project is still in the phase of the development. I would highly appreciate all the bug reports, suggestions, ideas and user experience.
Sample code
final Panel panel = new Panel(); panel.setSizeFull(); panel.getContent().setWidth("100%"); for (int i = 0; i < 5; ++i) { final PortalLayout portal = new PortalLayout(); TextArea tx = new TextArea(); tx.setSizeFull(); portal.addComponent(tx); tx.setCaption("Text Area"); } layout.addComponent(panel);
videoPortal.addComponent(pl); videoPortal.setComponentCaption(pl, "Joy Division - Disorder"); videoPortal.addAction(pl, new ToolbarAction(new ThemeResource("stop.png")) { @Override public void execute(final Context context) { pl.stop(); } });
Links
- Source Code (1.3.1)
- Online Demo
- Author Homepage
- Discussion Forum
- Issue Tracker
- Demo sources
- Source Code (2.0.alpha1)
- gwt-dnd
Compatibility
Was this helpful? Need more help?
Leave a comment or a question below. You can also join
the chat on Discord or
ask questions on StackOverflow.
Version
- Released
- 2011-07-18
- Maturity
- EXPERIMENTAL
- License
- Apache License 2.0
Compatibility
- Framework
- Vaadin 6.0+
- Vaadin 6.5+ in 1.0
- Vaadin 7.0 in 2.0.beta1
- Vaadin 6.7 in 2.0.beta1
- Vaadin 7.0+ in 2.0.alpha1
- Browser
- Firefox
- Opera
- Safari
- Google Chrome
PortalLayout - Vaadin Add-on Directory
Display your components in a web-portal style!Online Demo
Author Homepage
Discussion Forum
Issue Tracker
Demo sources
Source Code (2.0.alpha1)
gwt-dnd
PortalLayout version 0.1.0
null
PortalLayout version 0.1.1
null
PortalLayout version 0.4.0
----
PortalLayout version 0.4.1
- Margin support.
- Debug and Refactoring.
- Now drag-n-drop operations are snappier!
- Check out new tab in the demo - now ACTIONS are supported in the portlet headers!
...
- Thanks for the feedback given. Please do not hesitate to deliver your suggestions, ideas and especially critics to the forum thread and Google Code Issue Tracker.
PortalLayout version 1.0
- Debugging, refactoring and reliability improvements. Now works with IE (even with IE6 though header CSS might need tinkering).
- Now PortalLayout works fine with the GridLayout (thnx Stéphane Nicoll for pointing out the issue).
- Size calculations significantly reduced and should be more safe now.
which includes:
* Ability to set portlet captions through standard Component's setCaption() method.
* Icons in the headers, error indicators.
- Optional animations for the following events: Attach, Collapse/Expand and Close. The speed of those is also easily customizable.
- Listeners for the collapse and close events.
- API CHANGE (!) for the actions - pretty minor ones though. The context is now passed in the action execution method (thnx Sami for an advice).
- Some style changes and improvements - mostly related to the new construction of the headers, but also toggling the button style for expand/collapse.
- Most missing functionality covered (e.g. replaceComponent()).
PortalLayout version 1.1.0
Bug fixes, client-side refactoring, styling updates (box-shadow issues).
PortalLayout version 1.1.1
null
PortalLayout version 1.3
- Vaadin components in the headers.
- Custom styles for the portlets.
- Refactoring of the server side events.
- Bug fixes
See forum for full description.
PortalLayout version 1.3.1
- Removed dependencies that only apply to demo.
- Couple of bug fixes.
PortalLayout version 2.0.alpha1
Initial Vaadin7-compatible release. Still quite shaky and several features are missing (will come in the nearest future).
PortalLayout version 2.0.beta1
Initial Vaadin7-compatible release. Still quite shaky and several features are missing (will come in the nearest future). Without maven, the users will have to download an additional gwt-compile time dependency (gwt-dnd, see download link).
PortalLayout version 2.0.alpha2
Fixed manifest issues, minor improvements.
PortalLayout version 2.0.alpha3
Some bug fixes and improvements, support for toolbars in headers, spacing and portlet configs. Renamed PortalLayout to StackPortalLayout, introduced AbsolutePortalLayout (experimental) and a very experimental PortalColumns.
PortalLayout version 2.0.alpha4
Refactoring and polishing of the code, minor bug fixes, preparation for beta.
PortalLayout version 2.0.alpha5
Fixes maven pom resolution problems.
PortalLayout version 2.0.alpha6
Changed Maven coordinates (to org.vaadin.addons), bug fixes, JavaDoc improvements.