Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

This page is for application designers. It explains the basic principles for how to add components from the palette as well as features to help you.

Overview

To create a screen you start with a dashboard. Optionally, you can divide a dashboard into different parts using the dashboard pop-up menu Add Area... options.  Then you drag prebuilt layouts from the palette onto your screen. 

The prebuilt layouts are made up of individual components.

Components

These are the most basic building blocks that are combined to design a screen.

A component can be:

  • a container for other components. Containers divide up a dashboard into different parts, such as a header, body or footer.
  • the fields and labels that make up a form. There are different fields for text, numbers and drop-down selection lists.
  • something that displays data, such as a grid, chart or card. These are called data components.
  • menus and buttons to help users navigate.

As well as the prebuilt layouts, you can find most components on the palette. Simply drag a component from the palette onto your dashboard. For every component you add, you need to give it a name and specify the formatting using the  Component properties. It's a good idea to include a meaningful description too.

The basic components are:

Sections on this page

Containers

Containers are designed to hold other components

  • area
  • form
  • card container

Data Fields

Data fields are designed to display data from an attribute.

  • true/false field
  • date field
  • date-time field
  • number field
  • string field
  • URL display

Text Fields

Text fields are designed to be labels.

  • dynamic text: text varies depends on something else, for example the selected record
  • static text: you specify the text you want to appear

Data Components

These components may not be available directly from the palette. You can create a data component by dragging a stream onto a dashboard. PhixFlow prompts you to choose a:

  • grid
  • pie chart
  • line graph
  • horizontal bar graph
  • vertical bar graph
  • card

Layouts and Tiles

You can combine individual base components into layouts yourself or you can use the pre-built layouts from the palette (recommended). For example, a simple layout is a labelled field, which is a combination of:

  • an area container
  • a static text field for the label
  • a field that displays the data, such as a string

You can build up layouts to create a whole screen. Some layouts on the palette are called tiles. These include settings to ensure responsive changes to your dashboard as the screen size changes. 

Basic Layouts: The following basic layouts have component properties that apply to them.

  • button
  • labelled number field
  • labelled date field
  • labelled date-time field
  • labelled drop-down field
  • labelled true/false field
  • tab header
  • tab display area

Basic components and layouts in a palette

Parts of a Screen

The following illustration shows a screen layout that is made up of:

  • a dashboard: this is the canvas on which you create layouts; see Dashboard
  • 2 dashboard elements, divided by a horizontal line; see Dashboard Elements
    • Top part: a grid component 
    • Bottom part: has a layout comprising
      • a form container - indicated by the orange dashed line, which contains
        • static text fields
        • data fields

You can use these principles to build up more complex screens, with multiple dashboard elements, containers and components.

Finding Layouts and Containers 

In most cases, a component's container is fairly obvious - and you can find it by clicking just outside the area of the component. In some cases, it is not obvious. Remember also that with pinned components, you could drag a component from an area, which is its container, into another area, so that the component now appears in an area that is not actually its container.

There are two ways to find out the container for a component: use the hierarchy of layouts in the repository or use the component properties.

Using the Repository

In the repository, you can see the different elements listed under the dahboard.

In the PhixFlow repository, there is a Layouts branch. The position of the components on a dashboard is reflected in their order and nesting in the repository list of layouts. To rearrange layouts on a screen, you can drag component to a different position in the Layouts branch of the repository.

  • Your screens are in Dashboards
  • Elements are in Dashboards > Elements
  • For anything else on a screen, it is listed under Layouts
  • The nested structure of layouts (container/children) is reflected in the repository Layouts
  • To find where a component is in the repository, right-click it and select Find

The repository shows the hierarchical structure of components. With containers and their children and siblings.

Using Properties

Right-click and select  Find in Repository. PhixFlow shows the component in the Layouts section of the repository. 
You can drag components around in the repository to change their position on the dashboard. This means you can be clear about where something is in the layout hierarchy.

Parent Details section at the top of the properties tab indicates the application or package to which this belongs. For example a component that is shared between several applications will have a package as it's parent.

Moving Layouts

Affected by

  • pinned/unpinned - unpin a pinned item
  • don't drag - untick dont drag
  • field container/composite - moves items as grouped
  • preferred parent - affects the drop. Assumes you want to put the dropped component/layout into the preferred parent container.

Can be done in the repository Layouts (recommended) or in the screen.

PhixFlow needs to know when you drag something whether or not you want to create a sibling relationship or parent child relationship. Dragging on screen this can be ambiguous.

To make sure you are moving a whole parent/child set of things and moving them within an area it is easiest to move things in the Layouts list in the repository

Animation of dragging in the 

On Screen

Assuming its free to move,

Drag creates a sibling relationship. So if you drop it on a field, it goes next to the field. If you drop it on a container, it goes next to the container.

Shift-drag creates a parent child relationship, where you can only drop onto an appropriate container.

In the repository

To move a component to a new container, press Shift and drag it to the new container. Commonly this is used to move components inside an area to a new area.

To confirm that the component has moved to the new container, remember the techniques to find the container of a component, above.

You cannot add to an area or form that is set as Advanced → View Type → field container. You need to unset this option, add the additional components, then reset the option; see Associating Text with a Field.

Preventing Accidental Dragging

todo - check if this is only related to accidental dragging in design mode - no effect on movement due to responsive design?

Sometimes, when laying out a form, you may find it interesting to "lock" a component in place, to stop yourself dragging it to a new position by accident. To do this, in the component properties → Positional Settings section, tick Prevent Dragging.

todo - What is the role of pin/unpin compared to this

Take into account fixed components and layouts prevent responsive changes to the screen layout, for example if a user changes the screen size of your application on a desktop window, or if it is being displayed on a mobile device.

Themes have been designed to be responsive

Grouping

You can group to components together so that PhixFlow treats them as a single item when you drag. This is useful where you have a data field and static text label that you want to keep together. The palette includes prebuilt labelled fields that you can drag in that are already grouped. To make your own grouped components: 

  1. In the dashboard, add a form component.
  2. In a basic components palette, such as Basic Components, drag onto a form container:
    • an area to be a container
    • the components you want to treat as a single layout 
  3. PhixFlow adds these all as siblings.

  4. Right-click one of the new fields and select  Find in Repository. PhixFlow displays the component in the repository layouts list.

  5. Within the repository list, shift-drag to move the components into the container you created.

  6. Open the properties for the container. In Basic Settings, tick Composite.

Another option that you can use on its own or, often, with a composite component is a field container. This can pass the container name into the label; see Associating Text with a Field.

Creating Responsive layouts

Some palettes (e.g. those for Theme 2) have been designed so that layouts and components arrange themselves as you add them. These are called Tiles in the Theme 2 palette. If you use palettes not in Theme 2, you will have to set options to ensure components are arranged correctly (see style pages).

Lay things out using horizontal or vertical flow, with layouts allowed to flow relative to each other - avoid static styles

Most components or layouts dragged from the palette must be dragged onto an appropriate container (Area, form, card container)

You can drag data or data components directly onto an element

See also

Styles

  1. Use the styles set in the theme
  2. Adapt the theme by editing the styles of components or shared styles
  3. Create your own components and set the styles.

For an individual component, whether you create it yourself or drag it from the palette, any styles set in its properties are its own. 

You may want your components to reflect a change you make in one place. To do this, use a shared style on all your components. For example you could set the colour of all buttons using a shared style. If you decide to use a different button colour, you can change it once in the shared style and all the buttons in your application will change colour.

Binding to Data

You can add data components to a dashboard without using the palette, by simply dragging a stream onto a dashboard, dashboard element or area.  PhixFlow prompts you to select the type of data component. Optionally, you can create a data view, by add related attributes, sorting and filtering; see Showing Data on a Screen.

Alternatively, you can bind data to a form or card container by dragging a stream or stream view onto Basic Settings → Stream, or Stream View Name properties.

How tos

todo - move this to it's own page.

Reminder of the training, specific techniques.

Build Up a basic form

Note that there are no fancy flow stuff for this. Ask Sarah or Anthony? Classic for videos

What data do you need to show - 

  1. Create screen 
  2. Open palette
  3. Add Basic Components > Form, and name
  4. Click on the screen to open the properties for your area. In shared styles you will see that this has some default shared styles applied.
  5. Palette Labelled fields > Add labelled fields you need. Click to see properties
    • The Labelled fields palette has composite items - see theBasic Settings checkbox.
    • there are two parts, a static text label and the data field. Making them composite means
    • They move as if they are one thing
    • The name you give to the items is used as the text for the label.
  6. Attributes list - open stream > attributes section or expand for list in repository
  7. Drag from attribute onto form


  • No labels