### GitHub Sample Project
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch/Create the Map.md
Provides a link to download the 'Hello Jigx' solution project from GitHub, which serves as a practical example for users following the guide.
```github
https://github.com/jigx-com/jigx-samples/tree/main/quickstart/hello-jigx-solution
```
--------------------------------
### Global Action Configuration and Jig Call Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Actions.md
This example provides a complete setup for global actions, showing both the global action definition (`global-action.jigx`) and how to call it from a jig (`jig.jigx`). It highlights passing contextual values using parameters defined in the global action and provided by the jig.
```yaml
action:
type: action.execute-entity
options:
provider: DATA_PROVIDER_DYNAMIC
entity: default/contacts
method: update
onSuccess:
description: Contact Updated
title: Contact Updated
# set the global jig parameters
data:
id: =@ctx.action.parameters.id
name: =@ctx.action.parameters.name
email: =@ctx.action.parameters.email
parameters:
id:
type: string
required: true
name:
type: string
required: true
email:
type: string
required: true
```
```yaml
actions:
- children:
- type: action.execute-action
options:
title: Update Work details
action: update-details
# Provide the context values for the global jig parameters in the jig calling the global action.
parameters:
id: =@ctx.components.id.state.value
name: =@ctx.components.name.state.value
email: =@ctx.components.email.state.value
```
--------------------------------
### Jigx Builder Installation
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Welcome to Jigx Documentation.md
Instructions for installing the Jigx Builder extension in Visual Studio to start creating Jigx solutions.
```markdown
[Install](<./Getting started/Install the Jigx Builder.md>)
Install the Jigx Builder extension in Microsoft Visual Studio and create your Jigxs solutions.
```
--------------------------------
### Install Jigx Builder Extension
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Jigx Builder _code editor_/Install.md
Steps to install the Jigx Builder extension from the Visual Studio Marketplace.
```VSCode Extension
1. Download and install VS Code from https://code.visualstudio.com/download.
2. Open VS Code.
3. Click the Extensions icon in the left navigation bar.
4. Search for "Jigx Builder".
5. Click the blue "Install" button.
```
--------------------------------
### Default Jig Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Jigs _screens_.md
Provides an example of the Default Jig, highlighting its versatility for forms, lists, and various components and actions.
```javascript
import { jig } from '@jigx/core';
// Example usage of jig.default
jig.default({
// configuration options for the default jig
});
```
--------------------------------
### Jigx Utility Examples
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Components _controls_.md
Demonstrates utility components in Jigx, such as count-up timers, event handlers, progress bars, and summary displays. These examples highlight common functionalities for data presentation and user feedback.
```html
count-up
event
progress-bar
summary
```
--------------------------------
### Jigx Charts Examples
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Components _controls_.md
Demonstrates the usage of different chart components in Jigx, including line charts and pie charts. These examples showcase how to render and configure various chart types.
```html
line-chart
pie-chart
```
--------------------------------
### Jigx Interactive Components Examples
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Components _controls_.md
Showcases interactive components in Jigx, including interactive images and their items. These examples demonstrate how to create engaging user experiences with dynamic content.
```html
interactive-image
interactive-image-item
```
--------------------------------
### Jigx Widgets Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Components _controls_.md
An example demonstrating the 'widgets' component in Jigx, which likely serves as a container or manager for various UI elements. This example showcases composite list document functionality.
```html
widgets
```
--------------------------------
### Document Jig Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Jigs _screens_.md
Shows how to implement the Document Jig for displaying PDF files or HTML pages within an application.
```javascript
import { jig } from '@jigx/core';
// Example usage of jig.document
jig.document({
// configuration options for displaying documents
});
```
--------------------------------
### Input Transform Example with Parameters
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Data/Data Providers/REST/REST Overview.md
An example of an input transform using JSONata to construct a JSON payload. It demonstrates how Jigx parameters are mapped to JSON fields.
```JSONata
$.{
"orderNumber": orderNumberParameter,
"orderDescription": orderDescriptionParameter
}
```
--------------------------------
### Full-screen Jig Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Jigs _screens_.md
Demonstrates the use of the Full-screen Jig to display content, such as locations, across the entire screen.
```javascript
import { jig } from '@jigx/core';
// Example usage of jig.fullscreen
jig.fullscreen({
// configuration options for full-screen display
});
```
--------------------------------
### Grid Jig Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Jigs _screens_.md
Illustrates the Grid Jig for creating structured grid layouts with rows and columns, ensuring a consistent and flexible interface.
```javascript
import { jig } from '@jigx/core';
// Example usage of jig.grid
jig.grid({
// configuration options for grid layout
});
```
--------------------------------
### Jigx Solution Steps Overview
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch.md
This section outlines the steps involved in building the 'Hello-Jigx' mobile application using Jigx. It details the creation of various components like maps, calendars, and data forms, along with their build times and links to detailed guides.
```jigx
Step 1: Create the Hello Jigx solution project
Start by creating the Hello Jigx project in VS Code
Build time: 2 min
Link: https://docs.jigx.com/create-the-hello-jigx-solution-project
Step 2: Create the Map
Build a map jig that displays a specific location on a map, with an icon for the jig.
Build time: 10 min
Link: https://docs.jigx.com/create-the-map
Step 3: Create the Calendar
Next, add a calendar jig that displays a week with the events, meetings, and relevant details.
Build time: 10 mins
Link: https://docs.jigx.com/create-the-calendar
Step 4: Create Data - forms & lists
Build a jig to add a new customer by capturing the customer's details using a form. Then add a jig to list all the customers created using the form. Add the ability to view, and edit these customer records.
Build time: 20 mins
Link: https://docs.jigx.com/create-data-form-and-list
Step 5: Combine the solution's elements
Now you have built a solution that shows a location on a map, a calendar with detailed entries, and a new customer form and list in a single solution. Let us expand the solution further by joining the new customer form and list into one jig, then add a jig header to the new customer jig.
Build time: 15 mins
Link: https://docs.jigx.com/combine-the-solutions-elements
Step 6: Customize the Hello-Jigx solution
Extend your solution with styling changes and additional functionality. Replace the map icon with a location widget in the map.jigx file, and replace the people icon with the image widget in the composite.jigx file. Change the calendar icon and add a badge to display the number of events for the week.
Build time: 10 mins
Link: https://docs.jigx.com/customize-the-hello-jigx-solution
```
--------------------------------
### Phone Number Validation (Regex)
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Logic/Validation.md
Validates phone numbers, allowing for international formats starting with '+'. Example: +271234556789.
```regex
^\+?[1-9]\d{1,14}$
```
--------------------------------
### Jigx Mobile App Usage Guide
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch/Create Data - Form _ List/Run the updated solution.md
This documentation outlines the steps to use the Hello-Jigx solution within the Jigx mobile application. It covers the process from launching the app and signing in to interacting with customer forms and lists, including adding, viewing, and editing customer data.
```APIDOC
Project: /jigx-com/jigx-docs
Page Title: Run the updated solution
Page Description: Learn how to use the powerful Hello-Jigx solution in the Jigx mobile app with this comprehensive guide. Discover the step-by-step instructions for signing in, accessing the Hello Jigx solution, and making the most of the customer forms and list.
Steps to Use Hello-Jigx Solution:
1. Launch the Jigx mobile app.
2. Sign in using Jigx account details.
3. Navigate to the Home Hub screen.
4. Interact with widgets: Map, Calendar, Customer, Customer List.
Customer Form and List Operations:
- Add New Customer: Tap the 'Customer' icon, fill the form, and submit.
- View Customer Details: Tap the customer's name in the 'Customer List' widget.
- Edit Customer: Tap 'Edit Customer' button on the customer details view, modify information (e.g., email, name), and save.
Visuals:
- Form & list widgets: Displays the main interface with form and list widgets.
- New customer form: Shows the interface for adding a new customer.
- View customer: Illustrates the screen for viewing a customer's details.
- Edit customer: Demonstrates the interface for editing customer information.
```
--------------------------------
### Filter Salesforce Account Data by Name
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Data/Data Providers/Salesforce/Using the Salesforce provider.md
This example shows how to filter the Salesforce Account object to retrieve only accounts whose names start with the letter 'A'. It utilizes a SQLite query to select specific columns (`id`, `Name`, `BillingCountry`) from the Account entity.
```yaml
title: Accounts starting with A
type: jig.list
icon: contact
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1577974291737-faf660945d53?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2674&q=80
onFocus:
type: action.action-list
options:
actions:
- type: action.sync-entities
options:
provider: DATA_PROVIDER_SALESFORCE
entities:
- Account
datasources:
filter-account:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_LOCAL
entities:
- entity: Account
# filter the account object to return specific columns and a select number of rows
query: SELECT id, '$.Name', '$.BillingCountry' FROM [Account] WHERE '$.Name' LIKE 'a%'
data: =@ctx.datasources.filter-account
item:
type: component.list-item
options:
title: =@ctx.current.item.Name
subtitle: =@ctx.current.item.BillingCountry
```
--------------------------------
### Jigx Project Structure and Steps
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch/Create the Map.md
This section outlines the steps to create a Jigx project, add a map jig, and publish the solution. It references other documentation pages for detailed instructions on project creation, adding the jig, and publishing.
```jigx
1. [Create the Hello Jigx project](<./Create the Hello Jigx solution project.md>)
2. [Add the jig.default](<./Create the Map/Adding the Map Jig.md>) with an icon, and static data source.
3. [Publish the project](<./Create the Map/Publish the project.md>).
4. [Open the Jigx mobile app](<./Create the Map/Run the solution in the app.md>), click on the location jig, and view the map.
```
--------------------------------
### Calendar Data Source Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch/Create the Calendar/Add the calendar jig and datasource.md
This YAML code defines a static datasource for calendar events. It includes fields for event start and end times, location, attendees, tags, and the event title. This data can be used by a calendar jig.
```yaml
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 A
- id: 2
eventEnd: 4
eventStart: 2
location: Palo Alto, CA
people:
- avatarUrl: https://randomuser.me/api/portraits/men/49.jpg
fullName: Michael Tate
tags:
- color: color5
title: Qualification
title: Demo for Company B
- id: 3
eventEnd: 25
eventStart: 24
location: Menlo Park, CA
people:
- avatarUrl: https://randomuser.me/api/portraits/men/90.jpg
fullName: Michael Tong
tags:
- color: color6
title: Verbal
title: Sign contract
```
--------------------------------
### Publish Jigx Solution using JigxBuilder
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch/Combine the solution_s elements/Publish the Hello Jigx solution.md
This snippet outlines the steps to publish a Jigx solution using the JigxBuilder extension in VS Code. It details how to initiate the publishing process by clicking the JigxBuilder icon and the subsequent confirmation and progress monitoring.
```VSCode
1. In VS Code click on the **Jigx Builder** icon in the left navigation bar.
2. In the Jigx Explorer hover over the Hello-Jigx node till you see the **publishicon (rocket)**. Click on the icon to start the publishing process.
3. Click **Publish** on the confirmation message screen.
4. The publishing process starts and the progress shows in the bottom right corner of the VS Code editor. A message displays when the solution is successfully published.
```
--------------------------------
### Jigx App Onboarding and Verification
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Creating an account.md
This section details the user onboarding process for the Jigx application. It includes steps for initial setup, email verification via OTP, and password creation. The process involves downloading the app, entering an email address, receiving and entering a 6-digit OTP, and setting a new password.
```APIDOC
JigxAppOnboarding:
- Download and open the Jigx app.
- Tap 'Get Started' and enter your email address.
- Upon tapping 'Continue', a 6-digit OTP is sent to your email.
- Enter the OTP in the 2-Step verification screen.
- Create a new password following the displayed requirements.
```
--------------------------------
### Jigx Solution Details Configuration
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Home Hub/Index settings.md
Demonstrates the configuration of core solution details in `index.jigx`, including name, title, and category.
```yaml
name: global-solutions
title: global solutions
category: consulting
```
--------------------------------
### Jigx Builder Publishing Process
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Use pre-built solutions.md
This snippet outlines the steps to publish changes made to a Jigx solution using Jigx Builder. It details how to initiate the publishing process, authenticate with Jigx, and monitor the upload progress.
```markdown
1. In the Jigx Explorer hover over the **solution name** till you see the **publish** **icon (rocket)**. Click on the icon to start the publishing process.
2. Enter your Jigx username and press **Enter**.
3. Enter your Jigx password and press **Enter**. The publishing process starts, and the progress shows in the bottom right corner of the VS Code editor. A message displays when the solution is successfully published. The changes are immediately visible in the Jigx App.
```
--------------------------------
### List Jig Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Jigs _screens_.md
Provides an example of the List Jig for creating and styling lists of data, including interactive elements like checkboxes and swipeable items.
```javascript
import { jig } from '@jigx/core';
// Example usage of jig.list
jig.list({
// configuration options for list display and interaction
});
```
--------------------------------
### JSON Example Data Structure
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Data/Datasources.md
This snippet shows an example of the JSON data structure for customer records, including nested objects for addresses and phones.
```json
"customers": [
{
"custId": 1,
"firstName": "Merilyn",
"lastName": "Bayless",
"companyName": "20 20 Printing Inc",
"addresses": [
{
"address": "195 13n N",
"city": "Santa Clara",
"county": null,
"state": "CA",
"zip": "95054"
}
],
"phones": [
{
"mobile": "408-758-5015",
"office": "408-758-5015"
}
],
"email": "merilyn_bayless@cox.net",
"web": "http://www.printinginc.com",
"region": "US West",
"customerType": "Silver",
"jobTitle": "Project Manager",
"logo": null
},
```
--------------------------------
### Jigx Solution Publishing Shortcuts
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch/Combine the solution_s elements/Publish the Hello Jigx solution.md
Provides keyboard shortcuts for publishing Jigx solutions within VS Code. These shortcuts allow for quick publishing of either the entire solution or individual files.
```VSCode
- Publish all files in Jigx solution on Mac is `⌘R⌘R`, and on Windows is `Alt+R Alt+R`
- Publishing an individual file on Mac is `⌘R⌘F`, and on Windows is `Alt+R Alt+F`
```
--------------------------------
### Microsoft Graph API Examples
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Data/Data Providers/REST/Microsoft Graph OAuth.md
This section provides links to various examples demonstrating how to interact with the Microsoft Graph API using Jigx. These examples cover common use cases such as retrieving user profiles, managing calendars, accessing emails, handling tasks, and obtaining user insights.
```APIDOC
Graph User Profile:
- Fetches user profile information from Microsoft Graph.
- Includes a sample for updating a user's profile picture.
Graph Calendar:
- Retrieves a list of user calendars.
- Renders a calendar view on a Jigx jig.
- Demonstrates adding calendar entries to a Microsoft 365 calendar.
Graph Mail:
- Fetches a list of user emails.
- Displays emails in a Jigx list jig.
- Allows viewing email content.
Graph Tasks:
- Retrieves a list of user To-do tasks.
- Displays tasks in a Jigx list jig.
Graph Insights:
- Fetches trending documents related to the user.
- Displays the list in a Jigx list jig.
```
--------------------------------
### JigX Best Practices
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Home Hub/Creating a Home Hub.md
Provides guidance on best practices for developing with JigX, including recommendations for handling videos, optimizing performance, and choosing the right Jig types.
```javascript
## Best practice
- Adding videos directly to the Home Hub should be avoided if possible, instead add a gallery of images that when tapped open a jig with the video, use [grid-item](https://docs.jigx.com/examples/grid-item) to create the gallery.
- Consider what you add to the Home Hub as it could impact the app's performance, for example, long lists with data.
- The `onload` event must be configured on the index.jigx file for syncing data to the device.
- When deciding on the type of jig to use as the Home Hub it is recommended to use the [jig.default](https://docs.jigx.com/examples/jigdefault) or [jig.grid](https://docs.jigx.com/examples/jiggrid) as they provide the broadest scope of components, actions, and widgets.
```
--------------------------------
### Jigx Expression Examples Overview
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Logic/Expressions.md
This section outlines various categories of expression examples available for Jigx Apps, showcasing how JSONata and JavaScript can be used for data manipulation and logic.
```APIDOC
Jigx Expression Examples:
- Arrays: Create filtered lists from arrays and handling arrays with SQL and Dynamic Data.
- Aggregation: Return minimum, maximum, or an average value in an array.
- Boolean: Evaluate data to find a true or false result.
- Comparison Operators: Compare values in data and use the value in a conditional logical expression.
- Date & Time: Return a date and time in various formats, e.g., ISO 8601.
- Path Operators: Navigate and access specific elements or properties within a data set.
- Functional Programming: Compare values or display data based on certain conditions and using logical statements.
- Jigx Variables: Manipulate data specific to a Jigx App, e.g., determining the logged-in user.
- Predicate Queries: Used for query refinement.
- String: Concatenate strings, write numbers as strings, or select characters from a string.
- Advanced expressions: Filter an array of records and perform expression transformations.
- Regex + JSONata: Create validation for text fields by combining JSONata and Regex expressions.
- JavaScript expressions: Write modular and reusable code by encapsulating functionality within JavaScript functions.
```
--------------------------------
### Example REST Function Error Configuration
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Data/Data Providers/REST/REST error handling.md
An example of how to configure an error section within a function file for a REST endpoint in Jigx.
```yaml
# Configure an error section in each function file for REST endpoint,
```
--------------------------------
### Jigx Solution Publishing Shortcuts
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch/Create the Calendar/Publish your project.md
Keyboard shortcuts for publishing Jigx solutions. These shortcuts allow for quick publishing of either the entire solution or individual files directly from the editor.
```markdown
- Publish all files in Jigx solution on Mac is `⌘R⌘R`, and on Windows is `Alt+R Alt+R`
- Publishing an individual file on Mac is `⌘R⌘F`, and on Windows is `Alt+R Alt+F`
```
--------------------------------
### Generate Unique GUID (Jigx System Expression)
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Logic/Expressions/Expressions - cheatsheet.md
This Jigx system expression utilizes the built-in `$uuid()` function to generate a universally unique identifier (GUID).
```yaml
=$uuid()
```
--------------------------------
### Single Jig Home Hub Configuration
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Home Hub/Creating a Home Hub.md
This snippet demonstrates how to configure a simple Home Hub using a single jig. It includes setting up data loading and defining the tab structure to reference the main hub jig.
```yaml
name: Expo
title: Expo
category: business
# Data is synced in the index.jigx file.
onLoad:
type: action.sync-entities
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- default/events
# Use the tabs property to reference the jig you want as the home screen.
# Select an icon for the jig in the bottom navigation bar.
tabs:
- jigId: yoga-wellness
icon: home-apps-logo
```
--------------------------------
### Jigx index.jigx Migration Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Best practice/Migration plan.md
Example of an old index.jigx file structure before the migration to bottom tab navigation. This snippet illustrates the properties that are being deprecated or changed.
```yaml
name: student-app
title: Student-app
category: analytics
```
--------------------------------
### Publish Jigx Project Shortcuts
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch/Create Data - Form _ List/Publish your project.md
Provides keyboard shortcuts for publishing Jigx projects within VS Code. These shortcuts allow for quick publishing of either the entire solution or individual files.
```VSCode Shortcuts
Publish all files in Jigx solution:
Mac: ⌘R⌘R
Windows: Alt+R Alt+R
Publishing an individual file:
Mac: ⌘R⌘F
Windows: Alt+R Alt+F
```
--------------------------------
### Inserting a Jig Template
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Jigs _screens_/Jig Templates.md
This snippet demonstrates the process of inserting a Jigx template. It involves right-clicking in the Explorer, creating a new jig file, using Jigx IntelliSense to select 'Use template', browsing the template gallery, and clicking the 'Insert' button. It also highlights the need to check YAML comments for manual steps and add the jigId to the index file.
```jigx
1. In Explorer in the **jigs** folder, right-click and create a new jig file with the .jigx extension.
2. Use **ctrl+space **to open the jig IntelliSense popup and select **Use template**.
3. Browse the template gallery and click the blue **Insert** button.
4. Check the YAML code for comments specifying additional steps (e.g., '#Create new table invoices in databases/default.jigx').
5. Add your jigId to the `index.jigx` file.
6. Publish your project and view the jig.
```
--------------------------------
### Jigx Input Controls Examples
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/UI/Components _controls_.md
Provides examples for various input control components in Jigx, such as text fields, dropdowns, checkboxes, and date pickers. These components are essential for user interaction and data input.
```html
chat
choice-field
duration-picker
form
media-field
text-field
email-field
number-field
dropdown
checkbox
date-picker
signature-field
```
--------------------------------
### Jigx Solution Naming Restrictions
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Create an app from scratch/Create the Hello Jigx solution project.md
Defines the naming conventions for Jigx solutions, including restrictions on starting characters, spaces, and case sensitivity. Hyphens are used to replace spaces.
```jigx
1. Cannot start with a number.
2. No spaces are allowed. Hyphens replace spaces.
3. Must be in lowercase.
```
--------------------------------
### SendGrid API JSON Request Body Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Data/Data Providers/REST.md
This is an example of the JSON request body structure required by the SendGrid API's '/v3/mail/send' endpoint. It outlines the fields for recipients, sender, subject, and content.
```json
{
"personalizations": [
{
"to": [
{
"email": "anemail@com"
}
]
}
],
"from": {
"email": "youremail.com"
},
"subject": "Sending with SendGrid is Fun",
"content": [
{
"type": "text/plain",
"value": "and easy to do anywhere, even with cURL"
}
]
}
```
--------------------------------
### Handling Spaces in Translation Variables
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Additional functionality/Localization.md
Provides examples of how to manage spaces in translation variable names. It shows a working example using underscores and an alternative approach where a `translation_string` is added to the datasource to remove spaces before translation.
```yaml
# Working, notice there no spaces in the variable name
genus: '{title, select, hornet {Hornet (Vespa crabo)} house_wasp {House wasp} leafcutter_bee {Leafcutter bee}}'
# Not working due to spaces in the variable
genus: '{title, select, hornet {Hornet (Vespa crabo)} House wasp {House wasp} Leafcutter Bee {Leafcutter bee}}'
```
```json
[
{
"rid": "4a181550-2166-42d3-9194-a0dc8b432073",
"content": {
"name": "Resettlement",
"color": "color2",
"translation_string": "resettlement"
}
},
{
"rid": "901e337e-a190-437c-b611-4d1382f40c5c",
"content": {
"name": "Exceptional destruction",
"color": "color4",
"translation_string": "exceptional_destruction"
}
},
{
"rid": "c20a31f7-5be1-4cbb-9b4b-7b70382c9929",
"content": {
"name": "Consultation",
"color": "color9",
"translation_string": "consultation"
}
},
{
"rid": "cfacbb0d-3982-4884-8d6c-f7cddbe7e17f",
"content": {
"name": "Local change",
"color": "color3",
"translation_string": "local_change"
}
}
]
```
```yaml
value:
id: services_dropdown
values:
translation_string: =@ctx.inputs.inspection.translation_string
```
```yaml
services_dropdown: "{translation_string, select, resettlement {Resettlement} exceptional_destruction {Exceptional destruction} consultation {Consultation} local_change {Local change} other {Unknown}}"
```
--------------------------------
### Jigx Builder YAML Code Completion
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Getting started/Install the Jigx Builder.md
Demonstrates how to activate code completion in the Jigx Builder's YAML editor within VS Code. Pressing Ctrl+Space displays valid options based on the current cursor context.
```VSCode Extension
To activate code completion in the Jigx Builder YAML editor, press **Ctrl+Space** simultaneously. This will display valid options relevant to the current cursor position.
```
--------------------------------
### Jigx REST Service Configuration Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Data/Data Providers/REST.md
An example of a Jigx function definition for a REST service, demonstrating the configuration of the data provider, HTTP method, URL, input transformation, and parameters including headers and body content.
```yaml
provider: DATA_PROVIDER_REST
method: POST
url: "https://api.sendgrid.com/v3/mail/send"
inputTransform: >-
$.{"personalizations": [{ "to": [ { "email": emailto, "name": name }]}],"from": {"email": emailfrom, "name": name }, "reply to": {"email": emailfrom, "name": name },"subject": subject, "content": [{ "type": "text/html", "value": content}]}
parameters:
Authorization:
location: header
type: string
value: Bearer XXXXXX
required: true
emailfrom:
location: body
type: string
required: true
emailto:
location: body
type: string
required: true
name:
location: body
type: string
required: true
subject:
location: body
type: string
required: true
content:
location: body
type: string
required: true
```
--------------------------------
### JSONata Output Transform Example
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Building Apps with Jigx/Data/Data Providers/REST/REST Overview.md
Demonstrates transforming a REST API response into an array of JSON objects suitable for insertion into SQLite tables using JSONata. The example shows an input JSON structure and the resulting transformed array.
```JSONata
$.orders.
```
--------------------------------
### User Provisioning and Authentication Flow
Source: https://github.com/jigx-com/jigx-docs/blob/main/docs/Understanding the basics/Authentication.md
Explains the user provisioning process, including auto-provisioning and manual approval, and how Jigx handles authentication with external IDPs.
```APIDOC
User Provisioning and Authentication:
- Auto-provisioning: If enabled, Jigx automatically creates a user if validated by AAD/Okta and not already in the organization. Jigx token creation and assignment are handled.
- Manual Approval: If auto-provisioning is disabled, users can request access, requiring administrator approval before provisioning.
- Authentication: Upon successful authentication with AAD/Okta, existing Jigx Cloud users are assigned a Jigx token for subsequent calls.
- Configuration Storage: AAD/Okta configuration is stored in AWS-secured storage in Jigx Cloud.
```