Designing Screens
Overview
Screens allow users to interact with an application, such as viewing data or being guided through a process. They can be anything from simple data entry forms, through to fully interactive screens with dynamic layouts. PhixFlow makes it quick and easy to create screens by providing a palette of preconfigured items that can be customised and combined to create the screen you need. Simply drag palette items or data tables onto the screen canvas to start creating a screen.
Screen Window Layout
Opening and Creating Screens
- On your application's home page, click the Screen tile.
- Alternatively, click Screen from the header bar.
- To create a new screen, click the Add Screen button.
- To open an screen, double-click it.
Palette
Palettes contain templates (reusable Components and Layouts) for creating screens. PhixFlow provides a template package called Serene Grey, which contains a complete palette containing all you need to create your screens. Alternatively, custom palettes can be created. See Using a Palette and Changing or Creating a Palette.
To open the palette, click Palette on the toolbar.
Customising Default Templates
You can customise a palette by adding new components and changing the appearance of existing templates, for example, to use corporate colours. When making customisations, consider:
- Should this change affect all existing instances of this template?
- For example, applying a corporate logo and colour scheme using a shared style.
- Should this change only affect future instances of this template?
- For example, altering the layout of a contact card without breaking any existing instances.
- Do we want an entirely new template added to our palette?
- For example, a new template with an amended colour scheme.
See Changing or Creating a Palette which explores these issues and provide solutions.
If you change the templates that were imported via a package, re-importing the package will overwrite your local changes.
Screen Position
You can position your screen so that it is Floating, or Pinned (to the top, bottom, left or right of your window). For example, you may want to fix your screen to the top of the window to make it the main menu of an application. If you choose to pin your screen to the top or bottom, a height can also be set. If pinning to the left or right, a width can be set. If you choose a floating position, then a width, height, etc. can be set.
This is set by clicking Properties on the toolbar, then click the Styles tab.
Components and Layouts
Components are the smallest basic building blocks of a screen. Components can be found in the Basic Layouts section of the PhixFlow Palette. These can be added to a screen by dragging them onto the canvas.
Typically, components are combined together to create more complex items referred to as Layouts. You can create your own layouts or you can use the template layouts from a palette (recommended) which can be found in any of the palette sections. See 5. Adding Content to a Screen.
Understanding the Screen Menus
The options for components on a screen can be found by:
- Clicking on the component to display the Properties tab on the right, including the Styles tab
- The properties show for the component outlined in blue on the canvas
- When a component is inside another component, click until the desired component outlines in blue
- (Available in PhixFlow version 11+) Hovering over the component on the screen to display the icon, which turns blue when clicked, , and displays the floating menu
- The floating menu can also be accessed in the Layers
- Right-clicking on a component to display options such as adding and changing a backing attribute, and changing the template
- The right-click menu can also be accessed in the Layers
Floating Menu (Available in PhixFlow version 11+)
The interactive floating menu appears on components on mouseover. It is available on screens when Unlocked in Design Mode and provides quick access to key tasks, including accessing styles, field validation and defining backing data.
The options available on the floating menu change depending on the type of object, but will always show the most commonly used properties, such as Lock/ Unlock.
Right-Click Menu
The right-click menu contain global options, such as Show Element Details, and options relevant to the component.
Screen Structure
Screen structure defines how items are laid out on a screen, where they are placed and how the screen displays on different devices. The structure of any screen is displayed in the Layers panel. Click on the image below to see an overview of a typical screen template provided by PhixFlow. See Screen Structure.
Sizing and Position
Setting the size and position of content on a screen is key to producing a great screen. When designing a screen, we must consider how we want it to respond to the device it is being viewed on and the content it is displaying:
- Do we want items to be a fixed size?
- Do we want our content to expand to take the space available on a screen?
- Do we want the items on the screen to expand to the size of their content?
- Do we want our screen fixed to the top or edge to make it the main menu of an application?
This topic is explored in Sizing and Positioning Screen Content.
Directions/Flow
The direction items are laid out on a screen is control by the direction of flow. If you are familiar with CSS this is the Flexbox model. Where applicable, palette items have a direction applied already and this is typically indicated in its name and/or by an arrow showing the direction of flow on its icon. For example, the Button- Column tile, adds content in a vertical column:
The direction of flow is set in the Styles tab of the item, as illustrated here on a tile container:
Styles
Styles affect the look and feel of components and layouts on a screen, from simple colour changes to how a screen dynamically responds to user interactions. Styles can be applied in several places, and each has a different impact:
- Shared Style (Recommended) - a style that can be applied to multiple components to give your application a consistent look and feel. To change an aspect of styling, you only need to change the shared style. All components that use the style are automatically updated when the style is updated. It is recommended that all styles be applied using a shared style, where possible.
- Style Settings - set common formatting options for the component. This is component-level styling. It is useful to use this when you are experimenting with styles or you want to apply a one-off style.
- CSS Properties - a set of specific styles, defined using CSS tags and their associated values. This is component-level styling. This is more advanced styling and is useful if you have previous CSS knowledge.
- Formatting Rules - apply a shared style when the conditions of a rule are satisfied. Formatting Rules are applied at the component-level. See Applying Formatting Rules
See Screen Styling.
Moving Content
Move an item by dragging it onto another component in the Layers section. This will place the component next to the component on which you dropped onto, creating a sibling relationship.
To move a component into another component, or out of one component and into another component, creating parent-child relationship, hold shift while dragging and dropping.
Data Bound Components
These are special components designed to display data:
- form: a container bound to a table. Add fields and select the data you want to display. Fields can display dynamic text depending on what the application user has selected.
- if a form does not have a backing table set, the icon will show in the Layers (PhixFlow version 11.1.1+)
- card: a container that displays an individual card for each record in its backing table. Each card can show data using dynamic text or form fields, see Making a Card Container.
- grid: displays data in columns and rows. Each column corresponds to an attribute, for example, Name, Address, Phone number. Each row is a data record, see Creating a Grid.
- chart: displays data in a chart or graph, see Creating Dashboards and Reports.
Adding Data to a Screen
Data is added to a screen by dragging a table or table attributes onto it. This initiates the process of how to display the data and what data to display, for example as a grid, chart or form fields.
Presenting Data
How data is presented, filtered and sorted depends on your objectives. The following are useful resources that will help guide you in setting up different types of views, such as grids and charts:
- Designing Views and Reports: See Creating Dashboards and Reports.
- Filtering and Sorting: See Filtering and Sorting Grids and Charts.
Locking and Unlocking
When a screen is Locked, clicking on it allows the user to interact with it, whereas an Unlocked screen allows you to edit it. Locking and unlocking is only applicable in Design Mode.
- To Lock a screen, click the Lock button on the toolbar.
- If this is not visible the screen is already locked.
- To Unlock a screen, right-click on the canvas and select Unlock from the popup menu.
- If there is no toolbar visible this indicates a screen is locked.
Actionflows
Actionflows control the interactions a user has with an application, such as saving input data or opening a new screen. They can be applied to different types of screen items, such as buttons and grids. See Understanding Actionflows.
Startup Actions
Startup actions are actionflows which run when your application initially opens. They can be used to open the default navigation menu and a specific screen, such as a landing page.
- From the Screens home page, right-click on a screen and select Open Screen on Startup.
- To remove a screen from the Startup action, right click on a screen and select Remove from the Application Startup Action.
See Startup Actions.
Tabs for Screens
In the header menu there is a chevron which will show or hide tabs that allow you to switch between open screens in your application. This is available in both Design and App mode.
- Hide: Tabs can be hidden by default, see Application properties → Basic Settings → Hide Window Tabs.
- Display: Tabs to be visible by default, see Application properties → Basic Settings → Display Window Tabs by Default.
Example Screen
The following screenshot shows the type of screen that you can create in PhixFlow. Everything you see is a prebuilt layout from palettes in the Serene Grey package. It is worth spending some time familiarising yourself with the palettes to see what is available. You should find that the palettes include everything you need. Later you can learn how to modify a layout or its styles, or even design your own from basic components.
You can find some example screens in the package associated with your application. Look in the repository → Packages, for example repository → Packages → Serene Grey → Screens.
Glossary
What's Next?
The PhixFlow Fundamentals course provides a practical guide to using PhixFlow, including the design and creation of screens in our applications.
Already started PhixFlow Fundamentals?
Return to Screens Fundamentals