Component: Magic Box

 Show all Hide all

SQL

SQL Call: Initial layout (mandatory)

Gets columns, rows, containers, and boxes.
Supports custom errors: No
May modify database: No

Resultset: Settings

Optional table with settings controlling the view.
Repeat mode: repeated zero or one time
Row count: exactly one row

Columns:

BoxHeightMin optional decimal
Minimum height in units for a box.
LabelX optional string
Label on x-axis.
LabelY optional string
Label on y-axis. Only works properly in Internet Explorer.
ScaleX optional decimal
How many pixels to use for 1 width unit.
ScaleY optional decimal
How many pixels to use for 1 height unit.
TableLayout optional string
How boxes flow inside containers.
Possible value Description
BottomToTop The first box starts at the bottom of the container, and following boxes are placed above it.
TopToBottom The first box starts at the top of the container, and following boxes are placed below it.

Resultset: Columns

Repeat mode: repeated exactly once
Row count: one or more rows

Columns:

BackgroundColor optional string
Default background color for column's containers.
CanDrop optional bit
Default droppability for column's containers. If also specified for rows, both row and column must set CanDrop to 1 for a container be droppable.
ColumnID mandatory string
Column ID.
ColumnWidth optional decimal
Default width (in units) for column's containers.
HeadingHTML optional string
Column heading. Styled HTML. Overrides HeadingText column.
HeadingText optional string
Column heading. Plain text. Shown in bold.
LineColor optional string
Default color for column's containers's left and right border.
ToolTip optional string
Column header tooltip. Plain text.

Resultset: Rows

Repeat mode: repeated exactly once
Row count: one or more rows

Columns:

BackgroundColor optional string
Default background color for row's containers.
CanDrop optional bit
Default droppability for row's containers. If also specified for columns, both row and column must set CanDrop to 1 for a container be droppable.
HeadingHTML optional string
Row heading. Styled HTML. Overrides HeadingText column.
HeadingText optional string
Row heading. Plain text. Shown in bold.
LineColor optional string
Default color for row's containers's top and bottom border.
RowHeight optional decimal
Default height (in units) for row's containers.
RowID mandatory string
Row ID.
ToolTip optional string
Row header tooltip. Plain text.

Resultset: Containers

Optional table with container information.

Containers are usually mapped to cells on a 1:1 basis, but you can have more than one container in the same cell if you need to.

You do not need to declare containers for every cell, only for those where you want to specify attributes (like heading text or passing fields).
Repeat mode: repeated zero or one time
Row count: zero or more rows

Columns:

BackgroundColor optional string
Container's background color.
BorderColor optional string
Container's border color.
CanDrop optional bit
If boxes can be dropped on container.
ColumnID mandatory string
Column to show container in.
ContainerHeight optional decimal
Container's min height. Containers always expand to contain their boxes.
ContainerID optional string
Container ID. Useful if you show more than one container in the same cell.
ContainerWidth optional decimal
Container's width.
HeadingHTML mandatory string
Container's heading. Styled HTML. Overrides HeadingText.
HeadingText mandatory string
Container's heading. Plain text.
RowID mandatory string
Row to show container in.
Stripes optional string
Extra bands of background color. Declared like this:

'5.5 #ff0000; 1.2 green; 2.2 #00f'

Resultset: Boxes

Repeat mode: repeated exactly once
Row count: zero or more rows

Columns:

BackgroundColor optional string
Box's border color.
BorderColor optional string
Box's background color.
BoxHeight mandatory decimal
Box height (in units). If smaller than the specified minimum height for boxes (see the first table) that height is used instead.
BoxHTML optional string
Box's content. Styled HTML. Overrides BoxText.
BoxID mandatory string
Box ID.
BoxLayoutedHTML optional string
Box's content. Layouted HTML. Overrides BoxText and BoxHTML.
BoxStyle optional string
CSS declaration. Must be well-formed CSS. Changing border width, padding, etc, will ruin box layout, so don't do it.
BoxText optional string
Box's content. Plain text.
CanDrag optional bit
If the box can be dragged and dropped on containers where CanDrop = 1.
CanReorder optional bit
If the box can be dragged and reordered with regards to other boxes where CanReorder = 1
ColumnID optional string
Column to show box in. You must specify either RowID and ColumnID or ContainerID.
ContainerID optional string
Row to show box in. You must specify either ContainerID or RowID and ColumnID.
RowID optional string
Row to show box in. You must specify either RowID and ColumnID or ContainerID.
ShadeBox optional bit
If true, semi-transparent stripes will be drawn above the box's background.
ToolTip optional string
Box's tooltip. Plain text.

SQL Call: Drag and drop

Called when user has dragged and dropped a box.
Supports custom errors: No
May modify database: Yes

Parameters:

@BoxIDDrag mandatory string
Box that was dragged.
@BoxIDDrop optional string
Box that the dragged box was dropped above/below.
@ColumnIDDrop optional string
Column where box was dropped.
@ContainerIDDrop optional string
Container where box was dropped.
@DropLocation optional int
Where dragged box was dropped, in relation to the box it was dropped on.
Possible value Description
1 Below
-1 Above
@RowIDDrop mandatory string
Row where box was dropped.

Resultset: Boxes

If present, a partial update of the page is made using the boxes contained in this table. Otherwise the whole box view is reloaded.

Please note that partial updates can't be used together with ADMIN_FORCE. After the user has clicked OK the whole box view is always reloaded.
Repeat mode: repeated zero or one time
Row count: zero or more rows

Columns:

BackgroundColor optional string
Box's border color.
BorderColor optional string
Box's background color.
BoxHeight mandatory decimal
Box height (in units). If smaller than the specified minimum height for boxes (see the first table) that height is used instead.
BoxHTML optional string
Box's content. Styled HTML. Overrides BoxText.
BoxID mandatory string
Box ID.
BoxLayoutedHTML optional string
Box's content. Layouted HTML. Overrides BoxText and BoxHTML.
BoxStyle optional string
CSS declaration. Must be well-formed CSS. Changing border width, padding, etc, will ruin box layout, so don't do it.
BoxText optional string
Box's content. Plain text.
CanDrag optional bit
If the box can be dragged and dropped on containers where CanDrop = 1.
CanReorder optional bit
If the box can be dragged and reordered with regards to other boxes where CanReorder = 1
ColumnID optional string
Column to show box in. You must specify either RowID and ColumnID or ContainerID.
ContainerID optional string
Row to show box in. You must specify either ContainerID or RowID and ColumnID.
RowID optional string
Row to show box in. You must specify either RowID and ColumnID or ContainerID.
ShadeBox optional bit
If true, semi-transparent stripes will be drawn above the box's background.
ToolTip optional string
Box's tooltip. Plain text.

SQL Call: Validate parameters

Allows you to validate the parameters supplied by the user before any other SQL is run in the component. This call is only made if the component has visible parameters, the SQL is a stored procedure, and 'Validate parameters' is checked.
Supports custom errors: No
May modify database: No

Parameters:

@force optional bit
@validateparams mandatory bit
This parameter is set to 1 by Softadmin® when this call is made.

Custom access control and logging

SQL Call: Custom access control and logging

Use this call to restrict which entries a user is allowed to view and edit, and to log which entries a user views.

Access to a menu item is normally controlled through functions and roles alone but some entities need more fine grained control. For example, a user may have access to the View Member menu item for normal members but not for members with a protected identity.

The menu items a user visits are always logged (in ADMINLogMenuItem) but for sensitive data you may need to log exactly what entries are viewed. Do the logging in this call as the common ways of viewing data (grid and InfoSQL) are not allowed to modify the database.

If you bind a scalar function instead of a stored procedure to this call then its name must end with '_GrantAccess'.
Supports custom errors: No
May modify database: Yes

Resultset: Access permissions

Return whether the user is allowed to visit the menu item with the current parameters.
Repeat mode: repeated exactly once
Row count: exactly one row

Columns:

GrantAccess mandatory bit
1 if the user is allowed to view the menu item, 0 if the user should not be allowed to view the menu item.

If 0 then an error will be logged as the user should not have been able to reach the menu item with the given parameters in the first place.

URL

Querystring parameters

menuitemheading optional text
String that replaces the menu item name when the menu item is loaded. It does not replace the name before that (like for example in the navigator). It is ignored if the menu item is displayed as a part in a multipart in which case the name can be set from the multipart procedure.