Flexi Kanban
  • Introduction
    • πŸ“ƒAbout Flexi Kanban
    • βš–οΈFlexi Kanban in Comparison with Other
    • πŸ“˜What are Kanbans?
    • πŸ“•User's Guide to the Kanban Boards
  • Standard Dashboard
    • πŸš€Getting started
      • How to Build a Simple Kanban Using Creation Wizard Abilities
      • Demo Example: Task Dashboard
      • Demo Example: Events Dashboard
      • Demo Example: Opportunities Dashboard
      • Demo Example: Gantt Dashboard
      • Demo Example: Cases Dashboard
    • πŸ“Basics
      • How to Create Standard Dashboard
      • How to Create Child Dashboard
      • How to Incorporate Child Dashboard into Lightning Page
      • How to Open Dashboard in builder (Edit)
      • How to Share Dashboard
      • How to Clone Dashboard
    • πŸ—οΈConfigure Dashboard
      • Working with Dashboard Layout
      • How to Configure Dashboard Basic Properties
      • How to Configure Dashboard Filters
      • How to Add Dashboard Statistics
      • How to Configure Variables
      • How to Configure Events
      • How to add Dashboard Buttons and Menus
    • πŸ™οΈConfigure Column
      • How to Π‘onfigure Column Properties
      • How to Set Column Groups
      • How to Set and Use Column Custom Attributes
      • How to configure Column Data Source
      • How to work with Related Objects
      • How to configure Column Header
      • How to configure Column Body
      • How to configure Column Footer
      • How to configure Column Container and Filters
    • 🎫Configure Card
      • How to configure Card Properties
      • How to configure Card Data Source and Conditions
      • How to configure Card Compact Layout
      • How to configure Card Layout
      • How to configure and use Card Custom Attributes
      • Configuring Card Movement and Column Junctions
      • Configuring Card Actions
    • πŸ“šGroups of Cards
      • How to configure Card Grouping
    • πŸ”§Tools
      • Using Merge Field Picker
      • Using Formula Editor
      • Configuring CSS styles
      • Configuring Rows, Cells, Menus and Buttons
      • Configuring Handlers
    • πŸ‘“Using Dashboard
      • How to use Kanban API actions
      • How to Incorporate Dashboard into Lightning Page
      • How to build the link to the Dashboard
      • How to Work with Variables
      • How to debug Dashboard
      • How to Work with Filters and Orders
    • ✨Howtos and Best Practices
      • How to configure communication between Dashboards
      • How to configure communication between Dashboard and Form
      • How to display different layouts for the same kanban card
      • How to design kanban for your needs
        • How to colorize cards
        • How to add a quick-filter column
      • What inactive column can be used for
      • Tips and Tricks
  • Composite Dashboard
    • πŸ—„οΈIntroduction
      • πŸ”§How to Create a Composite Dashboard
    • πŸͺ›Working with Composite Dashboard Layout
      • Configuring Parent Dashboard
      • Configuring Child Dashboard
    • πŸ–‡οΈConnections Between Dashboards
    • πŸ”¬Examples
      • !! Calendar Dashboard
    • πŸ₯‡Howtos and Best Practices
      • How to Pass Variables Between Parent and Child Dashboards
  • Components
    • πŸ“‹Forms
      • πŸ“‘Basics
        • Form Building Overview
        • Working with Form Settings
        • Working with Source Object fields
        • How to Preview the Form
        • How to configure the Form Sharing Rules
        • Understanding the Form Dependencies
        • Working with Conditional Styles
        • Working with Conditions
        • Search Over the Form
      • πŸͺ›Tools
        • Variables
        • Additional Fields
        • Context Object
        • Form Action
        • Event
      • Components
        • Add and Remove Form Components
        • Components Basic Properties
        • Components Validation Rules
        • Styling Form and Form Components
        • String Field
        • Text Area Field
        • Rich Text Field
        • Lookup Field
        • Date Field
        • Datetime Field
        • Time Field
        • Number Field
        • Currency Field
        • Multi-Select Field
        • Picklist Field
        • Option: Section
        • Option: Static Text
        • Option: Image
        • Option: Blank Space
        • Option: File
        • Option: Custom Button
        • Option: Custom URL
        • Option: Nested Form
        • Option: Lightning Component
        • List. Related Lists.
      • Using Form
        • How to incorporate Form into the Lightning Page
        • How to incorporate Form into Screen Flow
        • How to build the link to the Form
        • (unpublished, empty)How to incorporate Form into the Lightning Component
        • How to run Form Action from Lightning Component
      • Tricks, Hints and Best Practices
        • How to configure communication between Forms
        • How to pre-populate form fields
        • Deployment of Forms
        • What Are Parameters?
    • 🀾Actions/Action Groups
      • Basics
        • Working with Actions
        • Working with Action Groups
        • Working with Functions
        • Working with Context objects
        • Working with Conditions
      • Types
        • Validation Rule Action
        • Define Variable Action
        • Create Record Action
        • Update Records Action
        • Delete Records Action
        • Send Email Action
        • Callout Action
        • Execute Apex Action
        • KanBan API Action
      • Using Actions
        • !!unpublished empty!! How to execute Action/Group from the SF Process/Flow Builder
        • How to execute Action/Group through the REST api
        • !!unpublished empty!! How to execute Action/Group from the Einstain Bot
        • !!unpublished empty !! How to execute Action/Group from APEX
      • Best Practices
        • !! How to use Execute in background option
        • !! Deployment Actions/Action Groups
  • πŸ“–References
    • βš™οΈApplication Settings
    • ♾️Functions
      • SObject
      • Text
      • Logical
      • Numeric
      • Date and Time
      • JSON
      • System
      • Charts
    • πŸ—ƒοΈQuery Conditions
    • Apex Data Provider
    • πŸ“How to add a Kanban to Navigation Items Panel
    • πŸ‘₯Manage Licenses
    • πŸͺͺAssign Permission Sets
    • πŸ“¦Deployment
      • Deploying Using Standard Credentials
      • Deploying Using Connected App Authentication
      • How to configure the Salesforce Connected Application for Flexi Kanban deployment
  • Grant Login Access to Support
  • Subscription Plans
  • Support Agreement
  • Access License Agreement
  • Privacy Policy
Powered by GitBook
On this page
  • Make an Event Form
  • Make new standard dashboard.
  • Make new composite dashboard
  1. Composite Dashboard
  2. Examples

!! Calendar Dashboard

Last updated 1 year ago

The Calendar Dashboard represents events in monthly calendar and allows to manage them by simple dragging. Here is how this dashboard can look like:

This Kanban is a with 5 ; each of them contains the same , initialized with different . Columns in this dashboard represent days, and cards in these columns are corresponding to events. Dragging events from one column to another changes their start dates. If click on event, its detailed data will be shown in the form, where it can be edited.

To make a such dashboard administrator should do actions listed below:

Make an Event Form

Property
Value

Name

Event form

Data Source Object

Event

Multi Page Form?

false

Show navigation panel

true

Buttons configuration

Check "Save" button for "Edit" mode only. Uncheck other.

Header configuration

{$Event.Subject} (for all modes)

  • Add these elements to the form:

#
Type
Name
Title
Properties

1

Section

section

  • Columns: 2

  • Show on Edit page: true

  • Show on View Page: true

  • Scrollable: false

2

Button

button

Close

  • Show on Edit page: true

  • Show on View Page: true

The following elements all should be added into section configured above. All these elements should be Data Source Fields:

#

Data Source Field

Name

Title

Properties

3

Subject

Subject

Subject

  • Required: false

  • Read Only: false

  • Show on Edit page: true

  • Show on View Page: true

  • Instructions: not set

  • Conditional Styles: not set

  • Events: not set

  • View Type (for picklisis): Single list

  • Hide 'None' (for picklists): false

  • Options Groups (for picklists): not set

4

Type

Type

Type

5

EventSubtype

EventSubtype

Subtype

6

StartDateTime

StartDateTime

Start Date Time

7

EndDateTime

EndDateTime

End Date Time

8

Description

Description

Description

  • Add these Form Actions:

#
Action Name and Title
Property
Value

1

Close Panel

Type

Form API

Form Action Type

Fire Event

Name

e.FLX_KB:ApplicationEvent

Parameters

Name: data Value Type: Object Value:

Has Conditions

false

2

Refresh Column

Type

Form API

Form Action Type

Fire Event

Name

e.FLX_KB:ApplicationEvent

Parameters

Name: data Value Type: Object Value:

Has Conditions

true

Conditions

1

Form.StartDateTime not equal to {$Event.StartDateTime}

2

Form.EndDateTime not equal to {$Event.EndDateTime}

Conditions logic

{1} OR {2}

  • Add the following events to the form:

#
Element what event is added to
Event properties
Event Handler

1

Form

Type: onAfterSave Enabled: true

"Refresh Column" action without parameters

2

"Close" button

Type: onClick Enabled: true

"Close Panel" action without parameters

Make new standard dashboard.

Create dashboard

  • Give it a "Weekly Calendar Dashboard" name and some description.

  • Select "White" theme.

  • Save dashboard and go to Kanban Bulder.

Configure columns

  • Name columns from "Sunday" to "Saturday"

  • Set column descriptions to digits from "0" to "6" (thus, descriptions will contain indexes of proper weekday)

  • Leave columns widths default ("auto")

  • Leave columns "Is Active" checkboxes default (checked)

    • Data Source Type = SObject

    • Data Source = Event

    • Order = Start Date Time, asc

    • Page Size = 5

#

Column Name

Conditions

Header Cell Value

Field Name

Operator

Type

Value

1

Sunday

Start Date Time

greater than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate})]

{$Variables.startdate} (Sunday)

Start Date Time

less than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate} + HOURS(24))]

2

Monday

Start Date Time

greater than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate}) + 1]

FORMULA[{$Variables.startdate} + 1] (Monday)

Start Date Time

less than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate} + 1 + HOURS(24))]

3

Tuesday

Start Date Time

greater than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate}) + 2]

FORMULA[{$Variables.startdate} + 2] (Tuesday)

Start Date Time

less than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate} + 2 + HOURS(24))]

4

Wednesday

Start Date Time

greater than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate}) + 3]

FORMULA[{$Variables.startdate} + 3] (Wednesday)

Start Date Time

less than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate} + 3 + HOURS(24))]

5

Thursday

Start Date Time

greater than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate}) + 4]

FORMULA[{$Variables.startdate} + 4] (Thursday)

Start Date Time

less than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate} + 4 + HOURS(24))]

6

Friday

Start Date Time

greater than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate}) + 5]

FORMULA[{$Variables.startdate} + 5] (Friday)

Start Date Time

less than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate} + 5 + HOURS(24))]

7

Saturday

Start Date Time

greater than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate}) + 6]

FORMULA[{$Variables.startdate} + 6] (Saturday)

Start Date Time

less than

Formula

FORMULA[DATETIMEVALUEGMT({$Variables.startDate} + 6 + HOURS(24))]

  • Set font-size:14px CSS style to cells in headers of each column

Configure Card

  • Set Data Source Type to "Event"

Card Layout configuration:

    • kanban = {$Card.Kanban}

    • mode = edit

    • id = {Event.Id}

  • Set Position of Card Layout to Modal

  • Check "Hide Footer" checkbox

  • Set Text of layout header to {event.Subject} ("Title Settings section of Header Configuration tab)

  • Set Card to Collapsible ("General" section of Card Settings)

  • Set CSS styles of Card to padding:0px

  • Set Value of the default Card Component to {Event.Subject}

  • Set its CSS Styles to background-color:#c6c9ff; padding:0px 5px;

  • Add one more Text Card Component under default and:

    • Set its Value to {Event.Type}

    • Set its CSS Styles to padding:0px 5px

  • Add third Text Card Component under previous and:

    • Set its Value to FORMULA[FORMAT({Event.StartDateTime}, 'hh:mm a')]

    • Set its CSS Styles to padding:0px 5px

  • Add fourth Text Card Component at the right of third (it will become 50% wide) and:

    • Set its Value to FORMULA[TOTEXTDURATION({Event.DurationInMinutes}, 24)]

    • Set its CSS Styles to padding:0px 5px; text-align:right;

Configure Column Junctions

  • Drag-n-drop allowed to all columns

  • Drop behavior left default to all columns (source column = Remove Card, target column = Refresh)

Configure Card Actions

Click on card and add a new action with these properties:

  • Name = Update Event Start Date

  • Type = Field Update

  • Execute = Always

  • Status = Active

  • Context Object Type = Event

In the Field Update Settings section configure this:

  • Object Name = Event

  • Fields:

Name
Value

Start Date Time

End Date Time

  • Conditions:

    • Activity ID eqials {event.id}

Make new composite dashboard

Create dashboard

  • Give it a "Calendar Dashboard" name and some description.

  • Select "White" theme.

  • Save dashboard and go to Kanban Bulder.

Configure containers and child dashboards

  • Leave their properties default

  • Set their titles from "Weekly Calendar 1" (topmost container) to "Weekly Calendar 5" (bottommost container)

  • Set API names for containers and Input Variables for each child dashboard:

Container

Container API name

Input Variable name

Input Variable value

Weekly Calendar 1

week1

startDate

{$Variables.week1Start}

Weekly Calendar 2

week2

startDate

{$Variables.week2Start}

Weekly Calendar 3

week3

startDate

{$Variables.week3Start}

Weekly Calendar 4

week4

startDate

{$Variables.week4Start}

Weekly Calendar 5

week5

startDate

{$Variables.week5Start}

Configure connections between child dashboards

Set connections to these:

  • Source Kanban = Weekly Calendar Dashboard

  • Target Kanban = Weekly Calendar Dashboard

  • Card Name = Event

  • Source Columns: all (set one connection per each)

  • Target Column: for each source column select target column with the same name

  • Action on drop: configure new with these properties:

    • Name = Update Event Start Date

    • Type = Field Update

    • Object name = Event

    • Conditions = Activity ID equals {event.id}

    • Fields:

Name
Value

Start Date Time

End Date Time

  • Copy this action onto each connection set

Connections should look like this:

Configure actions and action groups

Create the following Actions of "Define Variable" type. Set Variable Type to Text in all actions:

#
Action name
Variable name
Variable value

1

Get Previous Month

currentDate

2

Get Next Month

currentDate

3

Update Week 1 Start Variable

week1Start

4

Update Week 2 Start Variable

week2Start

5

Update Week 3 Start Variable

week3Start

6

Update Week 4 Start Variable

week4Start

7

Update Week 5 Start Variable

week5Start

8

Update Week 1 Variable

week1

9

Update Week 2 Variable

week2

10

Update Week 3 Variable

week3

11

Update Week 4 Variable

week4

12

Update Week 5 Variable

week5

Create 2 action groups and add actions from configured above to them (in the order specified below):

  1. name = Get Previous Month Action Group

    • actions:

      1. Get Previous Month

      2. Update Week 1 Start Variable

      3. Update Week 2 Start Variable

      4. Update Week 3 Start Variable

      5. Update Week 4 Start Variable

      6. Update Week 5 Start Variable

      7. Update Week 1 Variable

      8. Update Week 2 Variable

      9. Update Week 3 Variable

      10. Update Week 4 Variable

      11. Update Week 5 Variable

  2. name = Get Next Month Action Group

    • actions:

      1. Get Next Month

      2. Update Week 1 Start Variable

      3. Update Week 2 Start Variable

      4. Update Week 3 Start Variable

      5. Update Week 4 Start Variable

      6. Update Week 5 Start Variable

      7. Update Week 1 Variable

      8. Update Week 2 Variable

      9. Update Week 3 Variable

      10. Update Week 4 Variable

      11. Update Week 5 Variable

Configure Dashboard

Basic Configuration tab

  • Set Icon to action:new_event

Statistic Configuration tab

  • Set its CSS Style to font-size: 24px;

  • Set its Value to FORMULA[FORMAT({$Variables.currentDate}, 'MMMM, yyyy')]

Variables Configuration tab

  • Add these variables:

#
Variable Name
Variable Value

1

currentDate

2

week1Start

3

week2Start

4

week3Start

5

week4Start

6

week5Start

Buttons Configuration tab

  • Add the following buttons:

    1. Previous Month

      • type = Icon

      • title = Previous Month

      • icon = utility:left

      • handler:

        • type =Action Group

        • value = Get Previous Month Action Group

        • parameters not set

        • success handler:

          • type = Kanban API

          • value = Refresh Kanbans

          • parameters not set

    2. Next Month

      • type = Icon

      • title = Next Month

      • icon = utility:right

      • handler:

        • type =Action Group

        • value = Get Next Month Action Group

        • parameters not set

        • success handler:

          • type = Kanban API

          • value = Refresh Kanbans

          • parameters not set

to "Form".

Click "+" button to add new Form. Create with these properties:

Go to and create new standard dashboard.

Add to the dashboard.

to all columns:

to the columns and add 1 to their headers with the following values:

Set height:22px to headers of all columns

to dashboard and name it "Event"

Set to Form. Select Event Form (which was created earlier and described above)in the lookup and set its parameters to these:

configuration:

Set these to Card in all columns:

To add a sense to Cards dragging . In this example action will be the same for all columns, so, no need to configure them separately.

Go to and create new composite dashboard.

Make dashboard have in vertical stack.

Select previously created "Weekly Calendar Dashboard" kanban as in each container

You do not need to from dashboard of each container to every other because the dashboard is the same for all containers. It will be enough to set them one time from any container to any other.

Add one of Text type

πŸ”¬
{"componentType":"c:KanBanPanelComponent","method":"hideCard"}
{"componentType":"c:KanBanColumnComponent","method":"refresh","params":{"kanbans":"{$FormParameters.kanban}"}}
FORMULA[{Event.StartDateTime} + (({$Variables.startDate} + {$TargetColumn.Description}) - DATETIMEVALUE(DATEVALUE({Event.StartDateTime})))]
FORMULA[{Event.EndDateTime} + (({$Variables.startDate} + {$TargetColumn.Description}) - DATETIMEVALUE(DATEVALUE({Event.EndDateTime})))]
FORMULA[{Event.StartDateTime} + (({$Variables.startDate} + {$TargetColumn.Description}) - DATETIMEVALUE(DATEVALUE({Event.StartDateTime})))]
FORMULA[{Event.EndDateTime} + (({$Variables.startDate} + {$TargetColumn.Description}) - DATETIMEVALUE(DATEVALUE({Event.EndDateTime})))]
FORMULA[FORMAT(ADDMONTHS(DATEVALUE({$Variables.currentDate}), -1), 'yyyy-MM-dd')]
FORMULA[FORMAT(ADDMONTHS(DATEVALUE({$Variables.currentDate}), 1), 'yyyy-MM-dd')]
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$Variables.currentDate}, 'yyyy-MM-01')))]
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$Variables.currentDate}, 'yyyy-MM-01'))) + 7]
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$Variables.currentDate}, 'yyyy-MM-01'))) + 14]
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$Variables.currentDate}, 'yyyy-MM-01'))) + 21]
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$Variables.currentDate}, 'yyyy-MM-01'))) + 28]
FORMULA[FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))), 'dd/MM/yyyy') + ' - ' + FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))) + 6, 'dd/MM/yyyy')]
FORMULA[FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))) + 7, 'dd/MM/yyyy') + ' - ' + FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))) + 13, 'dd/MM/yyyy')]
FORMULA[FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))) + 14, 'dd/MM/yyyy') + ' - ' + FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))) + 20, 'dd/MM/yyyy')]
FORMULA[FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))) + 21, 'dd/MM/yyyy') + ' - ' + FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))) + 27, 'dd/MM/yyyy')]
FORMULA[FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))) + 28, 'dd/MM/yyyy') + ' - ' + FORMAT(STARTOFWEEK(DATEVALUE(FORMAT(DATEVALUE({$Variables.currentDate}), 'yyyy-MM-01'))) + 34, 'dd/MM/yyyy')]
{$System.Date}
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$System.Date}, 'yyyy-MM-01')))]
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$System.Date}, 'yyyy-MM-01'))) + 7]
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$System.Date}, 'yyyy-MM-01'))) + 14]
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$System.Date}, 'yyyy-MM-01'))) + 21]
FORMULA[STARTOFWEEK(DATEVALUE(FORMAT({$System.Date}, 'yyyy-MM-01'))) + 28]
Set Card Layout
new form
dashboard creation wizard
7 columns
Set these properties
CSS style
Add 1 card
card layout
Card Compact Layout
dashboard creation wizard
5 containers
child dashboard
configure connections
column junctions
some actions are necessary
Composite Dashboard
containers
Standard Dashboard
Input Variables
cell
Set the following conditions
Cell
Drawing
Drawing