Demo Example: Cases Dashboard
Last updated
Last updated
The given Cases Dashboard represents a way to show cases by their reasons, manage them and change their statuses. Here is how this dashboard can look like:
This dashboard shows cases in 5 columns; each column corresponds to one of case statuses. By dragging the case card from one column to another user can easily change its status. Left tab bar allows user to display cases corresponding to different reasons. Click on them to apply selected reason to all columns - this acts like tabs or filter.
To make a such dashboard administrator should do actions listed below:
Go to dashboard creation wizard and create new standard dashboard.
Give it a name and description.
Select "White" theme.
Save dashboard and go to Kanban Builder.
Set these CSS Styles to Dashboard on Basics Configuration Tab:
Add the background-image CSS property and set it to: url('data:image/jpeg;base64,...')
, where URL is a proper image encoded in base64 format (to embed image into dashboard and to avoid loading it from another source). In this example this image is used:
Go to Statistics Configuration. Add the cell which will overlay unnecessary views selector:
Type = Text
Value =
Set CSS Styles to this cell:
Go to Variables Configuration tab. Add these variables:
1
SelectedCaseReason
Installation
2
CurrentKanbanId
{$KanBan.Id}
Add 5 columns to the dashboard
Name columns accordingly to the table below
Leave columns widths default ("auto") except the column with "New" name (set it width to 24%)
Leave columns "Is Active" checkboxes default (checked)
Set these properties to all columns:
Data Source Type = SObject
Data Source = Case
Order = Case ID, asc
Set conditions to the columns accordingly to the table below (leave conditions logic empty in all columns):
New
Case Reason Status Status Status Status
equals not equal to not equal to not equal to not equal to
Formula Value Value Value Formula
{$Variables.SelectedCaseReason} Working Escalated Closed Active
Active
Case Reason Status
equals equals
Formula Formula
{$Variables.SelectedCaseReason} Active
Escalated
Case Reason Status
equals equals
Formula Value
{$Variables.SelectedCaseReason} Escalated
Working
Case Reason Status
equals equals
Formula Value
{$Variables.SelectedCaseReason} Working
Closed
Case Reason Status
equals equals
Formula Value
{$Variables.SelectedCaseReason} Closed
Add custom attribute to each column with name = Status and value equal to column name
Set the following styles for column bodies on Body Configuration tab:
1
New
2
Active
3
Escalated
4
Working
5
Closed
Set these styles to column headers on the Header Configuration tab:
1
New
2
Active
3
Escalated
4
Working
5
Closed
Set these styles to the footer of "New" column on the Footer Configuration tab:
Add one row with one cell to the footer of "New" column. Set these properties to the cell:
Type = Text
CSS Styles = Font-size: 1rem;
Set the cell Value to the following formula:
Add the following cells with Type = Icon to the header of "New" column. Set these properties to them:
1
utility:setup
Cases with "Installation" reason.
Cell handler:
Type = Kanban API
Value = Update Variables
Parameters:
kanbans = {$Variables.CurrentKanbanId}
variables = {"SelectedCaseReason":"Installation"}
Success handler:
Type = Kanban API
Value = Refresh Kanbans
Parameters:
kanbans = {$Variables.CurrentKanbanId}
2
utility:custom_apps
Cases with "Equipment Complexity" reason.
Cell handler:
Type = Kanban API
Value = Update Variables
Parameters:
kanbans = {$Variables.CurrentKanbanId}
variables = {"SelectedCaseReason":"Equipment Complexity"}
Success handler:
Type = Kanban API
Value = Refresh Kanbans
Parameters:
kanbans = {$Variables.CurrentKanbanId}
3
utility:graph
Cases with "Performance" reason.
Cell handler:
Type = Kanban API
Value = Update Variables
Parameters:
kanbans = {$Variables.CurrentKanbanId}
variables = {"SelectedCaseReason":"Performance"}
Success handler:
Type = Kanban API
Value = Refresh Kanbans
Parameters:
kanbans = {$Variables.CurrentKanbanId}
4
utility:warning
Cases with "Breakdown" reason.
Cell handler:
Type = Kanban API
Value = Update Variables
Parameters:
kanbans = {$Variables.CurrentKanbanId}
variables = {"SelectedCaseReason":"Breakdown"}
Success handler:
Type = Kanban API
Value = Refresh Kanbans
Parameters:
kanbans = {$Variables.CurrentKanbanId}
5
utility:palette
Cases with "Equipment Design" reason.
Cell handler:
Type = Kanban API
Value = Update Variables
Parameters:
kanbans = {$Variables.CurrentKanbanId}
variables = {"SelectedCaseReason":"Equipment Design"}
Success handler:
Type = Kanban API
Value = Refresh Kanbans
Parameters:
kanbans = {$Variables.CurrentKanbanId}
6
utility:comments
Cases with "Feedback" reason.
Cell handler:
Type = Kanban API
Value = Update Variables
Parameters:
kanbans = {$Variables.CurrentKanbanId}
variables = {"SelectedCaseReason":"Feedback"}
Success handler:
Type = Kanban API
Value = Refresh Kanbans
Parameters:
kanbans = {$Variables.CurrentKanbanId}
7
utility:world
Cases with "Other" reason.
Cell handler:
Type = Kanban API
Value = Update Variables
Parameters:
kanbans = {$Variables.CurrentKanbanId}
variables = {"SelectedCaseReason":"Other"}
Success handler:
Type = Kanban API
Value = Refresh Kanbans
Parameters:
kanbans = {$Variables.CurrentKanbanId}
8
utility:error
Cases without reason set.
Cell handler:
Type = Kanban API
Value = Update Variables
Parameters:
kanbans = {$Variables.CurrentKanbanId}
variables = {"SelectedCaseReason":null}
Success handler:
Type = Kanban API
Value = Refresh Kanbans
Parameters:
kanbans = {$Variables.CurrentKanbanId}
Add 1 card to dashboard
Set Data Source Type to "Case"
Set card layout to necessary type. In this example it is set to SObject and Record ID is set to {Case.Id}:
Set card layout header to show the number of active Case record:
Open Card Compact Layout editor and add these styles to the Card settings:
By default Card Compact Layout contains one component of text type; this component contains Record ID. Click on it and change its Value to {Case.CaseNumber} - {Case.SuppliedName}
Leave its Title empty
Set its width to 100 (leave default)
Leave Handler and Styles empty
Add Icon component #2 at the left of the previous
Set its Value to the following formula (it will dynamically set icon depending on case priority):
Set its Title to the following formula (it will dynamically change the icon tooltip depending on case priority):
Do not set handlers
Set CSS Styles to these:
Add text component #3 below
Set its value to Reason: {Case.Reason}
Do not set its Title, handlers and styles
Add text component #4 below
Set its value to Type: {Case.Type}
Do not set its Title, handlers and styles
Add text component #5 below
Set its value to Origin: {Case.Origin}
Do not set its Title, handlers and styles
Add text component #6 below
Set its value to FORMULA[IF(ISBLANK({Case.ClosedDate}), '',Closed: {Case.ClosedDate})]
Do not set its Title, handlers and styles
Set column junctions for card on each column:
Drag-n-drop allowed to ALL columns
Drop behavior for source column: Remove card
Drop behavior for target column: Refresh
To add a sense to Cards dragging some actions are necessary. In this example action will be the same for all columns, so, no need to configure them separately.
Click on card and add a new action with these properties:
Name = Update Case Status
Type = Field Update
Execute = Always
Status = Active
Context Object Type = Case
In the Field Update Settings section configure this:
Object Name = Case
Fields:
Name = Status
Value = {$TargetColumn.a__Status}
Conditions:
Case ID eqials {case.id}