Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Introduction
In order to To add content to the a screen we need access to the palette and the screen must be unlockedscreen itself to be
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
ed - the content can be interacted with, such as a button click will trigger the button's action.Insert excerpt _lock _lock nopanel true
ed - the content can be edited, such as clicking a button will open its properties.Insert excerpt _unlock _unlock nopanel true
Locking and Unlocking a screen
The screen is unlocked if you can see the context toolbar for the screen.
Image Added
- To interact with the screen,
the screen using the Context Toolbar option.Insert excerpt _lock _lock nopanel true - To unlock the screen for editing, right-click anywhere on the screen to open the popup menu and select
.Insert excerpt _unlock _unlock nopanel true - PhixFlow displays the toolbar for the screen so that you can begin to make changes.If you want to see how a user will experience the screen, you can
Insert excerpt _lock _lock the screen, this means when we click on an item we will interact with it rather than edit it.nopanel true
Palette
- To view the palette, click
from the context toolbar to display and the palette displays on the right.Insert excerpt _palette _palette nopanel true
Adding Content
In this chapter, we will create the following screen.
Adding a Grid
We can drag a table directly onto a screen to display it. This is how:
- From the toolbar, click
s.Insert excerpt _tableOnly _tableOnly nopanel true - The list of available tables will appear in the repository Repository.
- Drag the companies Companies table onto the screen canvas.
- Select You will be asked how you want to display the data, select Grid.
- Image Modified
- The
- Available Attributes selector appears and
- we can select the attributes we wish to display, this will include the attributes from the table and those from related tables.
- Select all the attributes from the Current Table and drag them onto the grid.
- Close the Available Attributes selector.
Image Added
- Column widths can be set by dragging the header to the desired width.
- If you want a specific size, click the column header.
- In the properties that open, navigate to Grid Settings → Grid Default Width (pixels) and enter a specific value here.
- In PhixFlow version 11.1 onwards, Grid Settings can be found on the
Insert excerpt _property_tabs _property_tabs name style nopanel true
- In PhixFlow version 11.1 onwards, Grid Settings can be found on the
- Click on the Company Name column header.
- Set Grid Settings → Grid Default Width (pixels) to be,
200
. - In the Label section we of the
we will change the name value displayed in the column header to be,Insert excerpt _property_tabs _property_tabs nopanel true Name
. - Click
.Insert excerpt _save _save nopanel true
- Set Grid Settings → Grid Default Width (pixels) to be,
- Take some time to space out the columns as required.
- Once you are happy with your column layout you can test it in app mode App Mode to see exactly how it will appear to users.
- Click
in the top right corner of the screen to switch the application into App Mode. This is how users will experience your application.Insert excerpt _app_mode _app_mode nopanel true - You can lock an app to interact with it as a user will but design panes remain displayed.
- To switch back to designing your application, click
in the top right-hand corner.Insert excerpt _design_mode _design_mode nopanel true Insert excerpt _lock _lock .nopanel true
Set a Header
- Click Click on the header, Header 1 Dynamic.
- Its properties In its Properties that open on the right.In the Default Value, change the text in the Default Value box to be
Companies Data
. - Click
.Insert excerpt _save _save nopanel true
Tip |
---|
In the event |
that you do not see the change appear on your screen, close and reopen the screen. |
Add Items from the Palette
- We will now add an additional Tile.
- Open your palette if it is not showing.
- Navigate to the Tiles section
- Drag Blank-Column onto your screen.
- Notice the centre of the screen highlights, this is because the body of your screen is the preferred parent of a Tile. Which means the tile is designed to be placed here.
- Name the tile
Additional Info
.
Tip |
---|
There are lots of tiles available, each designed to satisfy a specific need or act as a foundation for your |
design. |
Hover your mouse over any of the tiles |
Additional Info
or components in the palette to see a full description. |
Check Point
At this point your screen should look like this:
Add a Card
ContainerContainer
Anchor | ||||
---|---|---|---|---|
|
We will add a card container that will display the employees for the selected company.
- In the palette expand the Card Containers section.
- Drag Contacts onto the tile Additional Info.
- Name
- ,
Employees
. - Image Added
- We now have a card container that is designed to hold contact information. We will use this to display employee information.
- In the Employee Details Card Container properties open Click on the Employees card container to open its
on the right.Insert excerpt _property_tabs _property_tabs nopanel true - If they have closed Or click on the Employees card container in the layouts Layers section on the left.
- Image Added
- We need to tell the card container where to get its information from. In the
, under Basic Settings, clickInsert excerpt _property_tabs _property_tabs nopanel true
, next to the Tables Table drop down box.Insert excerpt _tableOnly _tableOnly nopanel true - Drag the Employees table from the Repository into the Tables box. Table box within the Employee Card Component's Basic Settings.
- Image Added
- This sets the Employees as the table backing the card container and will allow us to display the data.
- With Employees as the backing table PhixFlow will automatically associate any table attributes to form fields or dynamic text fields with the same name . For example, there is a dynamic text field called Role on the Employees card container, this matches the attribute Role on the Employees table, therefore the Role data is displayed in the dynamic text.
- When working in design mode
- Click
.Insert excerpt _save _save nopanel true - When working in Design Mode, the card container will only display one card containing the data from the first record is it receives from the backing table. When we switch to
orInsert excerpt _app_mode _app_mode nopanel true
, all the data we have chosen will be displayed.Insert excerpt _lock _lock nopanel true
7. To display the data on the Employees table
we can either change, either:
a. Change the names of the form fields and dynamic text fields to match the attribute name on the Employees table
or we can.
b. Or, tell PhixFlow which attributes to associate with them using the Add Backing Attribute option.
8. Here we will use the latter
option:
Clicka. Right-click on First Name
to highlight it and then right-click andand select Add Backing Attribute.
Inb. In the Available Attributes
dialog selector that opens, tick first_name
.
c. Click the
NextAdd button.
i. The form field will now display
thethis data in the first_name attribute on the screen.
Image Added
d. We will repeat these steps but this time set the Last Name field to be the last_name attribute on the Employees table.
9. We will return to this card container later and add additional content
to display data.
Add a Splitter
We will now add a splitter. This will allow us to separate a tile into two separate sections.
- In the palette, open the Basic Layouts section.
- Drag the Area - Split H onto the tile Additional Info.Hover your mouse over any of the components in the palette to see a full description.
- Name it
Splitter
.- This will most likely have moved the card container. What we will do now is move the card container into the top part of the splitter.
- In the Layouts section Layers section on the rightleft:
- Expand Splitter.
- Find the Employees card container. Click on it and hold the shift key, and now drag it onto Split Area Top.
- The card container will now appear in the top area. Dragging + Shift key moves items out of or into a different container. Dragging without the shift key moves the items within a container.
- Image Added
- We will now add a generic map to the Splitter Area Bottom.
- From the palette
- → Maps section, drag the Map over the bottom area of Splitter.
- Name it
Map
.- This is a generic map, instructions are provided in the expression for the component on how to set this to dynamically update or see the article: How-to Create a Google Map
- The map will display when we switch to
orInsert excerpt _app_mode _app_mode nopanel true
the screen.Insert excerpt _lock _lock nopanel true
- Name it
Moving Components
To find out more about moving components see Moving Components Content on a Screen.
Check Point
Switch to
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Image Removed
Linking Views
Data is displayed in PhixFlow via views. The grid and the card container are both considered views. At present the Employee card container is showing all employees and ideally we only what to show those associated to the company selected on the Companies grid. We will achieve this using filter.
We will create a background filter as follows:
Company ID
and click OK. The prompt is for us to select which attribute on the card container we want to compare to the Company ID we just dragged across.Selected Company
.Filter Explanation
- Image Removed
Accessing the Filter
The filter we created is owned by the card container. This means to access the filter we navigate to t through the card container.
- Click on the card container in the Layers section or click on the card container header on the screen, to open its properties.
- Expand the Background Filter Rules, here we see a list of all background filter rules applied to the card container.
- Double-click on any rule to open it. For our example double-click Selected Company.
- We see the Filter Rule. This is the condition that needs to be satisfied in order for the Filter to be applied. Our example is blank, this means it will always fire. However we can create a filter condition using PhixScript. We will see examples of this later in the course.
- To open the filter we created click the Filter hyperlink above the filter name.
- We also have the option to disable the filter here by unticking the Enabled check box. This is helpful if debugging.
- Finally we have the option to Stop if True. If ticked, if this filter rule is true no filter rules that occur after this one will be checked.
- Switch to app mode and when you select different companies in the grid the associated employees should be displayed.
- Switch back to design mode.
:
Image Added
Tile Formatting
We will now look at formatting the tiles. By default tiles have Auto Size enabled, this have Fit to available space enabled, which means that the tile swill tiles will consume the space available to them on the screen and tile content will be made to fit the tile e.g. if the content if to is too big to display in the tile a scrollbar will be provided. When we remove Auto Size Fit to available space, the tiles will be sized to fit their content or . So to reiterate:
- Fit to available space ticked: Consumes the available space.
- Fit to available space unticked: Content will determine the size
- .
Grow Factor Example
Auto Size is Fit to available space is useful for laying out screen content, but sometime sometimes we want one area to be larger than another. Here we can use growth the grow factor.
- Click In the Layers on the left of the screen, click on Tile in Tile Container.
- In the properties on the right click on the Style Tab. All style settings including sizing in here.
- Scroll down to Growth Factor. Growth factor
- The
will open on the right, which contains all style settings, including sizing.Insert excerpt _property_tabs _property_tabs name style nopanel true - Set Grow Factor to 2 - This will make it larger than the other tile.
- The growth factor determines the proportionate size of this tile in comparison to the other tiles it shares its space with
- and the space available.
- Switch to
to see the change.Insert excerpt _app_mode _app_mode nopanel true
Specific Size Example
We will now specify a specific size rather than a proportion and use Auto Size to use Fit to available space to make sure the other remaining tile automatically takes up consumes the remaining space.
- Switch back to
mode andInsert excerpt _design
and remove the growth factor added above._mode _design_mode nopanel true - Click
.Insert excerpt _save _save nopanel true - On your screen, click on the Additional Info tile to open its properties.
- Click on the Style tab.
- Scroll down to Auto Size, and untick this.
- Scroll down to the Position Settings section.
- Set a Width of its
on the right.Insert excerpt _property_tabs _property_tabs name style nopanel true - Untick Fit to available space.
- Set Width to
350px.
- We can also specify sizes as a percentage of available space, for example 33%.
When we specify a size, typically this is what is seen on a screen. However, it should be noted that if there is insufficient space to show all the content on the screen components, including tiles, will shrink down to a minimum size, denoted in the CSS as property min-size. It is often a good idea to specify a minimum or and maximum size to ensure your design appears as you requireexpect. For example, when viewing on a mobile device or very large monitor.