SQLPage documentation

The two most important concepts in SQLPage are components and parameters.This page documents all the components that you can use in SQLPage and their parameters. Use this as a reference when building your SQL application.

components

list
A vertical list of items. Each item can be clickable and link to another page.
card
A grid where each element is a small card that displays a piece of data.
datagrid
Display small pieces of information in a clear and readable way. Each item has a name and is associated with a value.
steps
Guide users through multi-stage processes, displaying a clear list of previous and future steps.
text
A paragraph of text. The entire component will render as a single paragraph, with each item being rendered as a span of text inside it, the styling of which can be customized using parameters.
form
A series of input fields that can be filled in by the user. The form contents can be posted and handled by another SQLPage. The value entered by the user in a field named x will be accessible to the target SQL page as $x.
chart
A component that plots data. Line, area, bar, and pie charts are all supported. Each item in the component is a data point in the graph.
table
A table with optional filtering and sorting. Unlike most others, this component does not have a fixed set of item properties, any property that is used will be rendered directly as a column in the table.
csv
A button that lets the user download data as a CSV file. Each column from the items in the component will map to a column in the resulting CSV.
dynamic
A special component that can be used to render other components, the number and properties of which are not known in advance.
shell
Personalize the "shell" surrounding your page contents. Used to set properties for the entire page.

The "form" component

A series of input fields that can be filled in by the user. The form contents can be posted and handled by another SQLPage. The value entered by the user in a field named x will be accessible to the target SQL page as $x.

Parameters

action (top-level)

An optional link to a target page that will handle the results of the form. By default the target page is the current page. Setting it to the name of a different sql file will load that file when the user submits the form.

method (top-level)

Set this to 'GET' to pass the form contents directly as URL parameters. If the user enters a value v in a field named x, submitting the form will load target.sql?x=v. If target.sql contains SELECT $x, it will display the value v.

title (top-level)

A name to display at the top of the form. It will be displayed in a larger font size at the top of the form.

validate (top-level)

The text to display in the button at the bottom of the form that submits the values.

name

REQUIRED. The name of the input field, that you can use in the target page to get the value the user entered for the field.

type

REQUIRED. The type of input to use: text for a simple text field, number for field that accepts only numbers, checkbox or radio for a button that is part of a group specified in the 'name' parameter.

description

A helper text to display near the input field.

label

A friendly name for the text field to show to the user.

max

The minimum value to accept for an input of type number

min

The minimum value to accept for an input of type number

placeholder

A placeholder text that will be shown in the field when is is empty.

required

Set this to true to prevent the form contents from being sent if this field is left empty by the user.

step

The increment of values in an input of type number. Set to 1 to allow only integers.

value

A default value that will already be present in the field when the user loads the page.

Example 1

A user registration form.

SELECT 
    'form' as component,
    'User' as title,
    'Create new user' as validate;
SELECT 
    'First name' as name,
    'John' as placeholder;
SELECT 
    'Last name' as name,
    '1' as required,
    'We need your last name for legal purposes.' as description;
SELECT 
    'Birth date' as name,
    'date' as type,
    '2010-01-01' as max;

Result

User