Custom matrix
Smartsite 7.7 - ...
Smartsite 7.7 adds 4 built-in matrices to the usergroups library. These are specific implementations of the Matrix action. Custom matrices can be added to the dashboard as useractions.
Action parameters
|
Name |
Required | Release From | Description |
|---|---|---|---|
| dataquery | Yes | 7.7 | The database query used to create the matrix. |
| legend | No | 7.7 | The legend parameter is displayed in the top left cell of the matrix. Use this parameter to clarify tokens and colors used in the matrix data and styling. |
The dataquery should return each cell in the matrix, ordered first by row, then by column. The query must declare an alias for the following fields:
- xkey
Unique key for each column - xlabel
Label for the column - ykey
Unique key for each row - ylabel
Label for the row
Further aliasses can be used to fill and format each cell:
- data
The data that will be displayed in each cell. Best keep this short to keep the matrix compact - cellclass
The css class for the cell
The following classes are implemented in the matrix.css by default
| dot_1 | Red dot | |
| dot_2 | Yellow dot | |
| dot_3 | Transparent dot | |
| dot_4 | Blue dot | |
| dot_5 | Green dot | |
| dot_6 | Grey dot | |
| color_1 | 1 | Red background |
| color_2 | 2 | Green background |
| color_3 | 3 | Blue background |
| color_4 | 4 | Yellow background |
| color_5 | 5 | Magenta background |
| color_6 | 6 | Cyan background |
| color_7 | 7 | Black background |
| color_8 | 8 | Dark grey background |
| color_9 | 9 | Middle grey background |
| color_10 | 10 | Light grey background |
Example
The Usergroups - userpaths matrix uses the following query:
select g.nr as xkey, g.name + ' (' + convert(nvarchar(10),g.nr) + ')' as xlabel, p.nr as ykey,
case when p.Notes is null then p.Path else p.path + ' (' + p.Notes + ')' end as ylabel,
case when gp.AccessModes = 4 then 'W'
when gp.AccessModes = 2 then 'R' else null end as data,
case when gp.AccessModes = 4 then 'color_4'
when gp.AccessModes = 2 then 'color_2' else 'color_9' end as cellclass
from usergroups g
left join UserPaths p on 1=1
left join UserGroupsPaths gp on (
gp.nrUserGroup = g.nr
and gp.nrUserPath = p.nr
)
order by p.path, g.name
Resulting in:
