Defines the base class for the layout.
We can define our own layouts by implementing ILayout. We need write the codes for initializing, saving/loading layout, managing the tiles, painting and moving. It is a little complex. If extending from this class, it will be an easy thing as it helps us to consider these. We only need to override some methods to implement our own customizing parts.
constructor(options?: any): LayoutBase
Initializes a new instance of the LayoutBase class.
JavaScript object containing initialization data for the layout.
Gets or sets the current layout settings as a JSON string.
This property is typically used to persist the layout settings. The maximum state of the tile is temporary and it will not be persisted.
Gets the full type name of the current object.
It should be overrided for every class which extends from this class..
addEventListener(target: EventTarget, type: string, fn: any, capture?: boolean): void
Adds an event listener to an element owned by this Control.
The control keeps a list of attached listeners and their handlers, making it easier to remove them when the control is disposed (see the dispose and removeEventListener methods).
Failing to remove event listeners may cause memory leaks.
Target element for the event.
String that specifies the event.
Function to execute when the event occurs.
Whether the listener is capturing.
attachTo(dashboard: DashboardLayout): void
Applies this layout to the specified DashboardLayout control.
A DashboardLayout control which the layout is applied to.
detach(): void
Detaches this layout from the DashboardLayout control.
It is often used when applying the new layout, the old layout should be detached. When the layout is detached, the dashboard control shows nothing but a blank. If you want to use the layout in the dashboard again, you need call the attachTo method to apply it.
A boolean value decides wehter to keep the current status when disposing. If true, all the current status will be cleared. Otherwise, keep the current status.
draw(): void
Draws the layout. The items should be drawn in this methods.
endMove(movedTile: Tile, endPosition: Point): void
Ends moving the tile at the specified postion.
The tile to be moved.
The position where the tile is moved to. It is the coordinate within the browser visible area.
initialize(options: any): void
Initializes the layout by copying the properties from a given object.
This method allows you to initialize the object using plain data objects instead of setting the value of each property in code.
Object that contains the initialization data.
invalidate(fullUpdate?: boolean): void
Invalidates the dashboard causing an asynchronous refresh.
Whether to update the dashboard layout as well as the content.
move(movedTile: Tile, position: Point): void
Moves the tile.
The tile to be moved.
The position of the moving mouse. It is the coordinate within the browser visible area.
moveTo(tile: Tile, pt: Point): void
Moves the tile to the specified postion.
Adds the codes in this method to do the moving operation.
The tile to be moved.
The position where the tile is moved to in relation to the dashboard.
refresh(fullUpdate?: boolean): void
Refreshes the layout.
A boolean value decides whether to update the content completely. If true, the layout refreshes without keeping the current status(moving, resizing and etc.). Otherwise, the status is kept after refreshing.
remove(removedTile: Tile): boolean
Removes the tile from the layout.
The tile to be removed.
removeEventListener(target?: EventTarget, type?: string, fn?: any, capture?: boolean): number
Removes one or more event listeners attached to elements owned by this Control.
Target element for the event. If null, removes listeners attached to all targets.
String that specifies the event. If null, removes listeners attached to all events.
Handler to remove. If null, removes all handlers.
Whether the listener is capturing. If null, removes capturing and non-capturing listeners.
resize(resizedTile: Tile, toPosition?: Point): boolean
Resize the tile to the specified postion.
The tile to be resized.
The position where the tile is resized to. It is the coordinate within the browser visible area.
resizeTo(resizedTile: Tile, newSize: Size): boolean
Resizes the tile to the specified size.
Adds the codes to resize the tile to the specified size by pxWidth and pxHeight.
showAll(): void
Shows all the tiles.
startMove(movedTile: Tile, startPosition: Point): boolean
Starts to move the tile.
The tile to be moved.
The started position where the tile will be moved from. It is the coordinate within the browser visible area.
toggleSize(currentTile: Tile): void
Toggles the tile size.
The tile to be toggled.