Examples
Custom design in the Calendar Week
Customized Design in the CalendarWeek

In this article, we will show you step by step how to create a custom-designed Card for the customCalendarWeek
using Layouts and additional Widgets.
💡 You will learn not only how widgets can be neatly nested, but you will also receive the appropriate example codes from our setup right away.
Whether as a direct template (you will need to adjust table names, fields, and IDs to your system, of course) – or as inspiration for your own designs in the typical arcRiderWidget style: This guide will help you take your calendar to the next level both visually and functionally.
Required Widgets
Let’s build together 🚀
Before we get started, please ensure that your Ninox database contains the necessary tables and fields – you can either use existing structures or create new ones.
For the layout of the card in this use case, we use the following tables:
Tables | |
---|---|
![]() |
|
Tip: For the Dynamic Selection, auxiliary/settings tables can be created where color and icon values are stored and then called in the respective widgets.
This way, the values are centralized and do not have to be manually entered repeatedly when you want to use them in other interfaces across different widgets.

Customized Design of the Card
Integrate Widgets Clearly
The layout of the calendarCard and the individual widgets to be integrated are created in the Appointments table, whose records are ultimately called in the customCalendarWeek.

Here we create an fx-field for each row of the card with a layout and fx-fields for elements such as additional layouts, select, button. This provides good clarity when coding the layouts; moreover, different designs can be exchanged/replaced/tested more quickly.
Line 1

Step 1: We start with the external elements for the first row.
select_status

Used Widgets: customSelect + customLayout
Code:
layout_line1_left

Used Widgets: customLayout + customIcon + customText
Code:
Step 2: Then both elements are placed into the layout for the first row.
calendarCard_line1

Used Widgets: customLayout
Code:
Line 2

Step 1: We start again with the external element for the second row.
button_customer

Used Widgets: customButton + customIcon
Code:
Step 2: Then the element is placed in the layout in the second row.
calendarCard_line2

Used Widgets: customLayout + customText
Code:
Line 3

Step 1: The third row is divided into two layouts; additionally, we need an fx-field for the calculation of the display limited to 3 participants.
paginatedList_participants
Code:
layout_buttons

Used Widgets: customLayout + customButton + customIcon
Code:
layout_participants

Used Widgets: customLayout + customImage
Code:
Step 2: Next, both customLayouts are placed into the layout of the third row.
calendarCard_line3

Used Widgets: customLayout
Code:
Combine Card Design
Finally the rows can be combined in the last layout of the calendarCard. To ensure that the card can still be fully viewed during shorter appointments, remember to set scrollSettings, scrollY: true.

Used Widgets: customLayout
Code:
Tip: By externalizing individual elements, you can quickly create additional designs and generate different views. For example, swap the rows:

Code:
Finish Design
The finished card can be finally used in the customCalendarWeek widget. The layout of our calendarCard is called in the timeEntries using the parameter customLayout.
Important! When you define the background color and a borderRadius in the layout of the card, remember to set the backgroundColor in the styles parameter of the timeEntries to "transparent" and padding to "0px".
Full Application Code of the customCalendarWeek: