Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Overview
A screen is made up of components (the smallest building block) and layouts (
a group of
components) arranged into layers. Components are
areas, static text labels and
fields, which display data from a table. Multi-component layouts can be simple, such as a label and a field, or more complex parts of a screen with responsive design, these are called tiles. Layouts can also be full screens.
Screen Layers
A typical screen has a layered structure, in which
one layer is
Components
Components are the most basic building blocks that are combined to design a screen.
Components are available from any palette
. For example, the Serene Grey palette has the Basic Layouts section which contains components, such as an area. 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:
Containers | Data Fields | Text Fields | Data Components |
---|---|---|---|
Containers are designed to hold other components. | Data fields are designed to display data from an attribute. | Text fields are designed to be labels. |
Data components may not be available |
on the palette. |
Instead, your application has default components that it uses when you drag a table or attribute onto the screen canvas. PhixFlow prompts you to choose a: | ||
|
|
|
|
|
Layouts
Layouts are
groups of
preconfigured components. You can create these yourself by combining
components or you can use the
layouts from a palette (recommended). For example, a simple layout
for a tile
is illustrated below:
- Tile
- is an area container with styling to control its size and the layout of its child
- components.
- Header
- is an area which contains:
- an
- is an area which contains:
- icon
- a static text
- field for the header
- Body is an area which contains: (in the illustration, the body area is empty)
- data components, such as a grid displaying table data or form fields
- styling to control its size and the layout of its child components. It also has spacing around its edge.
- Footer
- is an area which
- contains:
- a set of buttons
- contains:
- , which the application user will use to make changes to the data that appears in the body
Finding Layouts and Components
Anchor | ||||
---|---|---|---|---|
|
It can be very useful to find a layout, component or
container. There are two ways to
do this:
Using
Layers
The
Layers
pane is expandable from the left
of the screen canvas. Select an item
:
- on the canvas
- to highlight it in the
- Layers pane
- in the
- Layer pane to highlight it on the canvas
If the layer section is not visible, click
. Insert excerpt _layer_slider _layer_slider nopanel true
Using
Find in Repository
Right-click any item on an unlocked screen and select
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
,
expand the Components section and navigate to the
component. The position of the components on a screen is reflected in their order and nesting in the repository list.
Tip |
---|
To check whether a component is shared with multiple applications, open its Properties and check the Parent Details section |
, which names the application or package to which |
the component belongs. For example, a component that is shared between several applications |
has a package as |
its parent; see Package. |
Moving
Components
On Screen
- Dragging in this way creates a sibling relationship. For example, if you drag ad drop a field on top of another field they appear next to each other.
In the Repository
Click and drag them in theInsert excerpt |
---|
Special Cases
Components can be marked with Prevent Dragging, this stops an item from being moved on a screen. It is however still moveable within the repository. This setting can be found in the items Properties → Design tab → Position Settings section.
In the example below we may want to fix the header in a set location, and therefore set it to Prevent Dragging.
Composite Component
Form Fields are composite Components
In the example below a tile is being dragged onto a screen from the palette. The tile container is highlighted in blue as it is the preferred parent of the tile.
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 responsiveGrouping Components
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. This type of layout is made up of at least 3 components:
- a form component, with the settings:
- Basic Settings → Composite ticked
- Advanced → View Type → field container
- the child components
- a static or dynamic text field
- a data field, such as string, number or date.
How to Group Components
To make your own grouped components:
- an area to be a container
- the components you want to treat as a single layout
PhixFlow adds these all as siblings.
Within the repository list, shift-drag to move the components into the container you created.
Open the properties for the container. In Basic Settings, tick Composite.
Field Containers
PhixFlow has another property that you can use on its own or within a composite component. The option is Advanced → View Type → field container. When this is selected, PhixFlow uses the name of a container as the label on a field. todo-Fiona check
Adding Text and Labels.
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
- Use the styles set in the theme
- Adapt the theme by editing the styles of components or shared styles
- 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 -
- Create screen
- Open palette
- Add Basic Components > Form, and name
- 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.
- 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.
- Attributes list - open stream > attributes section or expand for list in repository
- Drag from attribute onto form
The following videos will introduce the basic concepts of how you can drag fields into a screen: Videos in widget connector had links to: