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
If you are new to PhixFlow and designing screens for an application, start with the Building Applications training course.
This page is a reminder of the drag-and-drop principles that you use when designing screens.
- Dragging components
- Drag -sibling
- Shift Drag child inside
- Preferred parent link → Drag puts it directly inside PP (child) AND as a sibling of any other content. eg. Tile container has many tiles.
- Parent child and preferred parent - link out
- Reordering on screen and in repository
Build Up a basic form
Note that there are no fancy flow stuff for this.
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 the Basic 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
Dragging into a Screen
To add a component to a screen, you can drag in:
- components or layouts from
- the palette
- the repository → Templates (anywhere else.
- streams (tables) or their attributes, to add data-bound components such as grids, charts or form-fields.
Drag From | Item | Drag on to | Creates |
---|---|---|---|
Palette | component or layout | anywhere on a screen |
|
repository Layouts or Layout Templates | component or layout | anywhere on a screen | |
repository → Table → Attribute a pop-up list of attributes | attribute | an area | An input field and label |
repository → Tables table properties top left icon= | stream (table) | an area | todo - link to process for this select and drag onto fiew Select a component (grid, graph, chart or form) and view options data-backed component |
stream (table) | anywhere on a screen
|
Prompts for a data component. | |
repository → Table → View a pop-up list of views | view | area or component that displays data | todo - link to process for this data-backed component |
repository → Action | free-action | area or form | A button to run the action |
repository → Action | free-action | the header of a data view component | A button in the banner to run the action todo - I may not have an approprite action but I cannot drag this onto a grid header |
repository → Dashboard | another screen | the header of a data view component | A button to open the dropped screen |
todo - Attempting to drag a pinned component: at the moment this is copying BUT I cannot seem to unpin.
When you drag an unpinned component to a different place on the screen, it will be automatically assigned to the parent you drop it into (for example, an area), and it will be dropped in the position that you drop it. So if you drop it in the middle of a set of fields inside an area, the fields underneath will be shuffled down to make space for it.
When you drag items from the repository onto a screen, PhixFlow creates a component using the default template for that item. So it is important to make sure that you have set the right default component palette. This is set in System Configuration. Remember that this default will apply to all users of this PhixFlow instance.
To drop an item onto a form that would normally be created unpinned (see table above) as pinned - hold the Ctrl key down while dragging.
Preventing Accidental Dragging
Pinning relates to a components parent-child relationship. It does not
Fix a component in position on the screen.
To Fix a component, use the position properties. Avoid if you want responsive design
To prevent accidental dragging.
To prevent accidental dragging of components and layouts on the screen, go to the components properties → Positional Settings section, and tick Prevent Dragging.
Finding a Component's Container
To find the container of a component in a screen, you can:
- right-click on the component and select Find in Explorer .
PhixFlow opens the Layouts with the component selected. You can then see how the selected component fits into the parent-child hierarchy. - click on the space next to the component to open its properties.
This option is less reliable as a screen becomes more complex.
Remember to check whether or not the component/layout is pinned. A pinned component always keeps the same parent, even if it is moved away from it on the screen.
Moving Components and Layouts
You can move components and layouts around on the screen, but we recommend you use the repository Layouts list as it is easier to drag layouts and be clear about the parent and sibling relationships you want.
To move a component or layout to a new parent, press Shift and drag it to the new parent. Commonly this is used to move components inside an area to a new area.
To confirm that the component has moved to the new parent, remember the techniques to find the parent of a component: Find a component's parent
Order - Child items have an order in their parent. For example if there are 4 labelled fields, use the order number to specify the order in which they are listed. By default fields flow vertically, that is the order 1 field is at the top of the area, and 2 is below. If you set horizontal flow in the area Style Settings → Direction → No selection = column. change to row, they appear side by sdie
Auto Sizing
When you are designing a screen, you can use the Layout area → Style Settings→ Auto-size property to make components adjust automatically when the application's window is resized by the user.
If you manually resize a component as you are designing a screen, it will automatically switch off the Auto Size property.
You can use the context menu option Turn Auto Size Off/On to toggle the Auto Size property as you work.
Dividing screens
There are 2 ways to divide a screen.
Use Context Menu Options
- Right-click a screen
- Use one of the Add Area... options to add a new part for the screen, separated with a dividing line.
PhixFlow creates a new dashboard element for this part of the screen. - Add a suitable container, such as an area, form or card container.
If you right-click on an existing area, in the context menu click Dashboard Options to see the Add Area options.
Use a Palette Layout
Some palettes have layouts that have 2 areas contained by a split-view area. For example:
- Basic Components → Split View
- Theme 2 - App Builder Base Components → Area Split
- In the screen canvas toolbar, click Palette.
- Expand a palette to find a layout that has 2 areas.
- Drag the layout from the palette onto an existing area.
- PhixFlow creates a layout with the following structure:
Area
Split View (special type of area)
Area 1
Area 2
Connecting Layouts to Data
To connect a form area to data in a stream (table)
From the repository, drag the stream name onto an area or layout
From the stream (table) properties, drag the icon at the top of the properties onto an area or layout.
Todo - check and link
PhixFlow will prompt you to select the type of stream or card view that you want to create; see Stream Views Pop-Up Menu.