Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Forms in PhixFlow can be built and laid out using drag and drop functionality. If you are new to form building, please see the introductory course: In Phixflow, it iseasy to create forms for your application; this is explained in the /wiki/spaces/HELP91/pages/9050666974.

A more detailed description of drag and drop functionality is given below, but the The following videos will introduce you to the basic concepts :of how you can drag fields into a screen to create a form.

Widget Connector
width900
urlhttps://www.youtube.com/watch?v=GCeiTdv0ty4
height500

Widget Connector
width900
urlhttps://www.youtube.com/watch?v=oXt89u6QGXE
height500

Pinning and unpinning

A key concept behind dragging functionality in forms is pinning and unpinning. Unpinned components are placed into the next available space. Pinned components can be placed anywhere on the form, and you can pin the edges to the edges of the parent component by setting offsets between the top, right, bottom and left edges of the component to those of the parent.

Unpinned components

Unpinned components are placed automatically in the next space available.

Panel
bgColor#e6f0ff
titleBGColor#99c2ff
titleWhere is the next available space?

By default, the next available space will be underneath the previous component - but this can be controlled in CSS. A full discussion of the CSS options for controlling this are beyond the scope of this article, but can be researched on the web. If you want to do this, note that components in forms are represented as DIV objects. Future versions of PhixFlow will feature easy to use options to control which space components will flow into.

For further details about how to position unpinned components within a parent component, see Positioning unpinned components

Pinned components

Pinned components can be dragged to anywhere you want in the form. You can "pin" the edges of the component to its parent component. For further details on how to position pinned components on a form, see Positioning pinned components on forms 

...

In most cases, a component's parent 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 parent, into another area, so that the component now appears in an area that is not actually its parent.

There are a number of ways of determining a component's parent:

  • Open the details for the component; at the top of the details, the name of the parent will be shown - to get more details, click on the quick link Parent to open the details for the parent
  • Right-click on the component in the form and select Find in Explorer - this gives you a useful way of visually seeing what the parent is, and indeed how other components on the form relate to this component

Dropping components onto forms to create content

...

Dropping Components onto Forms

To add a component to a form drag in any of the following:

Drag fromDrag on toCreatesPinned/Unpinned

A template from a palette or from the repository

FormA component based on that templatePinned
An attribute from a streamFormAn input fieldPinned
A stream view from a streamFormA stream view componentUnpinned
An action from a streamFormA button on the form to run the actionUnpinned
An action from a streamBanner of a stream view componentA button in the banner to run the action-
A streamFormA card viewUnpinned
A dashboardBanner of a stream view componentA button to open the dashboard-

...

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.

Laying out forms

...

Connecting Forms to Data

You can connect forms to data in a stream by simply dragging the stream icon from its property tab onto the form. PhixFlow will prompt you to select the type of stream or card view that you want to create; see Stream Views Pop-Up Menu.

Pinning and Unpinning

Unpinned

When you drag in an unpinned component, PhixFlow automatically puts it in in the next space available. By default, this is underneath the previous component. However, you can control the flow using CSS properties. Components in forms are represented as DIV objects. 

You can drag unpinned components around in their parent component, and they will placed PhixFlow puts them wherever you drop them.

You can also manually control the order of unpinned components by editing the Order field in the details of the component. This is found in the Positional Settings section of the details. The video above gives an example of using both of these methods - dragging, and manual update.

...

Pinned

Pinned components can be placed anywhere on the form and you can drag pinned components to any position on a form.

You can "pin" the edges of the component to its parent component using the Positional Settings in the component's details. These specify To do this set the offsets between the top, right, in numbers bottom and left edges of the component to those of the parent. The offsets are in number of pixels , between the edge of the component and the edge of the parent. An example of pinning a component to its parent in this way is given in the video above.

Tip

...

If you set the right or bottom offsets in Positional Settings, this overrides any width or height set for the component.

...

Switching between unpinned and pinned

Pinned components can be dragged over unpinned components, so be careful when mixing pinned and unpinned components on a form, Think of these as being laid out in two separate, overlapping layers on the form.

...

To change an unpinned component to pinned, press the Ctrl key down and drag it.

To unpin a pinned component, right-click on it and select Unpin Selected Objects. You can select several components at once, and unpin them all using this option. The components will move into the next available space in their respective parent components.

Finding a Component's Parent 
Anchor
formBuildingFindComponentParent
formBuildingFindComponentParent


In most cases, a component's parent 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 parent, into another area, so that the component now appears in an area that is not actually its parent.

There are a number of ways of determining a component's parent:

  • Open the details for the component; at the top of the details, the name of the parent will be shown - to get more details, click on the quick link Parent to open the details for the parent
  • Right-click on the component in the form and select Find in Explorer - this gives you a useful way of visually seeing what the parent is, and indeed how other components on the form relate to this component

Moving a component to a new parent

To move a component 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

Preventing components from being dragged

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, tick the Prevent Dragging flag in the component details. This is found in the Positional Settings section.

Connecting Forms to Data

You can connect forms to data in a stream by simply dragging the stream icon from its property tab onto the form. PhixFlow will prompt you to select the type of stream or card view that you want to create; see Stream Views Pop-Up Menu.

Auto Sizing

When you are designing a layout, 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. 

...