Add the calendar jig and datasource
Overview
In this section, you will learn how to add a second jig file to the Hello Jigx project and add the calendar jig next to the map jig on the home hub. You create a data source file in the datasource folder containing the calendar details that provide the data for the week, events, meeting subjects, dates, and times.
See Jigx Concepts to learn what jigs, widgets, and the Home Hub are.
Steps
Add the calendar-data.jigx data source file
You first need to add data that the calendar jig can read from. For this step, you create a
Static Datasourcein the datasource folder of the project, which is automatically synced to the Jigx Cloud. Likewise, data updated on the Jigx Cloud automatically syncs to the device. Right-click on thedatasourcesnode in Explorer and select New file.Name the file calendar-data. Jigx automatically adds the .jigx extension to your file. The Jigx auto-complete popup displays the data source options. Select Static datasource from the list.
Under the data node, you need to provide the details for the events in the calendar. The following fields are available for use with each event entry, you can add your own event entries or use the code example below.
type: datasource.static
options:
data:
- id: 1
eventEnd: 2
eventStart: 1
location: Redmond, WA
people:
- avatarUrl: https://randomuser.me/api/portraits/men/1.jpg
fullName: Tim Cook
tags:
- color: color2
title: Negotiation
title: Negotiation with Company A4. Once you have added the fields your calendar-data.jigx file should resemble the code below.
Add a calendar jig file
Open the Hello-Jigx solution in the Jigx Builder in VS Code, right-click on the jigs node in Explorer, and select New file.
Name the file calendar.
The file opens and shows the Jigx's auto-complete popup listing the five jig types. For this solution, we will be using the Calendar jig to create the UI for displaying data in a calendar format. Click on Calendar to open the skeleton YAML created by the Jigx Builder.
On the line under
type:, typeicon:. To select an icon from the predefined list start typing the first two letters of the name of the icon, in this case *ca, *the list of icons starts to populate as you type. Select calendar-3 from the list. This icon displays on the widget on the Home Hub of the Jigx App.Delete the
header,onFocusanddatasourcessection. You created the calendar-data.jigx datasource file in the step above, now you can reference the data from the jig file by using an expression. At the data node addcalenar-dataso that it resemblesdata: [email protected]. With expressions, you can structure data before binding them to the UI components.
6. The component.event type is used to display events related to the data records. Use (ctrl+space) next to each field to select the value you want returned.
7. To display the date in UTC format we use a JSONata expression to convert the date from milliseconds to UTC for both the start and end date. Add the following expression under from: for the start date.
from: =$fromMillis($toMillis($now()) + @ctx.current.item.eventStart * 3600000)
For the end date under to: add the following expression:
to: =$fromMillis($toMillis($now()) + @ctx.current.item.eventEnd * 3600000)
For title, location, people and tags use (ctrl+space) after the [email protected]. to select the value available from the datasource.
8. Your calendar.jigx file should resemble the code below.
Add the calendar jigId in the index.jigx file
Click on the
index.jigxfile to add the calendar jig menu item to appear on the Home Hub screen next to map. Under thetabs:section add the following:jigId: calendar,jigId: calendar,icon: calendarand save the project.Your index.jigx file should resemble the code below.
Last updated
Was this helpful?