telerik r.a.d.dock is versatile component for page personalization. It represents a content placeholder, which can be moved, docked/undocked, resized, pinned, minimized and so on. The customized page layout can be saved to a file or database and reloaded when needed, which is a typical requirement for portals and extranets.
Features
- Various Docking Modes
The dockable objects can have different docking modes: Dockable, AlwaysDock, NeverDock, and Disabled.
- Different Dockable-Object Behaviors
You can specify whether the dockable object can be resized, expanded/collapsed, closed, or pinned to the current position on the page. In accordance with the specified behaviors, the buttons of the corresponding predefined commands will be shown.
- Action Commands
r.a.d.dock offers standard action commands (Expand/Collapse/Pin/Unpin/Close) that are enabled by setting the corresponding behavior. Besides these commands developers can create custom commands and handle them either on the client or on server.
- View-Only Mode
The dynamic page layout can be enabled for customization (users can reorder, close, expand, collapse, pin, unpin, resize dockable objects) or be set in view-only mode.
- Save/Load Layout State
All changes made to the dynamic page layouts can be stored on the server and be reloaded when needed. This is an excellent way for portal customization and preservation of user layout settings.
- Docking to Specific Zones Only
Dockable objects can be configured in such a way that allows them to be docked only to a specific docking zones, or only to specific types of docking zones (horizontal/vertical).
- Several Types of Docking Zones
r.a.d.dock offers several types of docking zones: horizontal, vertical, top, bottom, right or left. To achieve a fine-tuned control, developers can restrain the docking of certain objects only to a certain type of docking zones.
- Fixed or Resizable Docking Zones
The docking zones can be set to have fixed width and/or height or to be resizable, which is their default state.
- Five Customizable Grip Areas
r.a.d.dock offers 5 areas within a dockable objects, which are used for dragging (Grip Areas). Different sets of Grip Areas can be enabled when the dockable object is floating and when it is docked.
- Animation Effects
To enrich the UI with smooth objects movement, resizing, docking and undocking you can add animation effects. Developers can control the various settings like duration and frames per second, which affect the quality of the animation and client CPU load.
- Customizable Visual Appearance
The visual appearance of the dockable objects and zones can be controled through skins. You can also override certain characteristics of the skin by setting individual styles:
- for the whole object, title bar, and grips (of dockable objects)
- for highlighting, border, and background (of docking zones)
- Zone Highlighting
When a dockable object is about to be docked to a docking zone, the zone is highlighted to show where the object will be placed. The way a zone is highlighted can be customized.
- Expand/Collapse All Objects in a Zone
Developers can use the provided client-side functions of the docking zone object (zone.ExpandAllObjects() and zone.CollapseAllObjects()) to expand/collapse all dockable objects in a particular zone.
- Reorder Objects in a Zone
The docking zone object provides two client-side functions (zone.GetPosition(dockableObject) and zone.SetAtPosition(dockableObject, position)), which allows to facilitate reordering of the dockable objects within one zone.
- Show Content While Dragging
By default the content of a dockable object is rendered while it is being dragged. This however results in a higher CPU load on the client machine. To optimize performance you may turn off the content rendering, so that r.a.d.dock shows only an empty box while dragging.
- Design-Time Support
r.a.d.dock fully supports the Design mode of visual Studio .Net, which allows you to visually modify the content of the dockable objects through templates.
- Accessing Child Controls
To access the child controls of a RadDockableObject, you can use RadDockableObject.FindControl(string id) method to locate a child control by its ID or you can use RadDockableObject.Container property to access the control that contains the controls from the content template. Attaching events declaratively to a child control inside a dockable object makes this task even easier.
- Client Interactivity
r.a.d.docs provides a client-side event, DockStateChanged, which is raised when its docking state is changed - i.e. it is docked or undocked.