...
Field | Description | ||||
---|---|---|---|---|---|
Basic Settings | |||||
Name | The name of the stream view. By default, a space will be included before each capital letter. For example, the name CustSpendAverage will be displayed in the column heading as Cust Spend Average . | ||||
Display Type | A number of chart types are available:
HELPDEVTODO: no file download button on form; is this still correct anyway? If display type is a chart and the user elects to output the chart to HTML (either via a File Exporter or from a chart, PhixFlow will output the chart to HTML as a picture (.PNG). | ||||
Default Sort Order | If specified, the default order in which data should be displayed. See the Stream View Sort Order form. | ||||
Default Filter | Any filter on the stream can be selected as the default filter for this view. | ||||
Default Action | The action that will be applied when users double-click on a row in a data grid. Often this is an update action - that allows users (if they have permissions to run the action) to update the record. But you can make this open a read-only detailed view of the record if that is more useful for most users. See Action. | ||||
View Attributes | |||||
A list of attributes displayed in the view, or to build a chart. Press to bring up a list of attributes for the stream, and drag the attributes you want to add to the view into this list. For each attribute, the following fields are shown: | |||||
Order | The order in which the attributes will appear in the view. For a grid view, this is the order of columns. | ||||
Name | The display name of the attribute in the view. By default, this is the same as the name of the attribute in the underlying stream. Remember that if you are applying an Aggregate Function to the attribute, it is often useful to reflect that in the display name. For example: you are going to display the average monthly spend for each customer, by applying the aggregate function Average to the attribute | ||||
Stream Function | You can specify an Aggregate Function on this attribute. As soon as you have specified a single aggregate attribute in your view, any other fields will be either aggregate attributes - if you also specify an aggregate function for them - or used as grouping attributes. | ||||
Role | This setting only shows if the view is a chart, i.e. not a data grid. This is the role that the field has in generating the chart. HELPDEVTODO: are there fairly generic descriptions for roles that are worth putting in, or is it only worth describing these in context for each chart type? | ||||
Decimal Places | This field will only show if the underlying stream attribute has type Float. The number of decimal places to display. | ||||
Date/Time Format | This field will only show if the underlying stream attribute has type Date or Datetime. See toString for a description of display formats. | ||||
Hidden | HELPDEVTODO: not shown for charts, should it be? If not, put in Grid Settings section Whether the field is shown on the view. Sometimes you need to include fields in views so that they can be used in filters and Actions, but displaying them would make the view cluttered. Make the field hidden. | ||||
Stream Attribute Details | |||||
Name | The name of the underlying stream attribute. | ||||
Type | The type of the underlying stream attribute. This cannot be edited here. It must be edited in the Stream. | ||||
Grid Settings | |||||
These settings are only available for view attributes for grid views | |||||
Grid Default Width (pixels) | Set the default width of the column for this attribute. PhixFlow will create the grid with default column widths - you only need to specify a value in this field if the width you want is different from this default. | ||||
Label | An optional label for the resulting column header. If left blank, this is the Name of the stream view attribute. The label gives you more options for setting the column header - for example, control over the white space in the column heading - but you can also make this an expression. For example, to that the column contains transactions for the currently logged in user, you could use:
For user
To use an expression in this field, tick the box Label is Expression | ||||
Label is Expression | Tick this box if you want to set the Label using an expression. | ||||
Changes Row Colour | If ticked, the row colour changes whenever the value in this field changes. | ||||
Alignment | Set the alignment of values in this column to:
| ||||
Formatting Rules | |||||
A list of the formatting rules that apply to this field in the view. For each formatting rule, set the following fields: | Rule Expression | ||||
Style | Select a style from the drop-down list, or create a new style. | ||||
Order | The order in which the formatting rules are applied. | Enabled | Stop if True | ||
Excel Template | An excel template can be linked to the view to specify the format the chart data should be exported in. The location that excel templates must be saved to is specified in the System Configuration. | ||||
Number of Periods | Number of processing periods from the stream to display on the chart. If a full set of data is generated in each period, then this will be 1. If the data is spread across processing periods in the stream - for example, each processing period only contains new data for that day, but we want to plot data across a number of days - then this number must be high enough to include all data of interest to show on a chart. | ||||
Background Filter | Any filter on the stream can be selected as the background filter for this view. When the user opens this view the background filter is applied first and any other filter applied to the view (either specifically created/selected by the user or automatically applied as the default filter described above) acts in addition to the background filter. | ||||
All Users Can View Data | If checked, this specifies that all users can view this stream view by default (provided they have the basic privilege to view stream views). If this field is not checked, then access to the stream view is controlled by dropping user groups onto the stream's "User Groups" tab. | ||||
Default Width | The default width of the Stream View. If empty, the View's width will be set to the system default value. | ||||
Default Height | The default height of the Stream View. If empty, the View's height will be set to the system default value. | ||||
Form View | Check box to determine if this view is to be used as a Form View. When a user is entering or updating data using a form view, you can use the internal variable _form to use a value already entered in the form in the filter on a selection view. That is, the values that appear in a drop down list will be governed by values they have entered so far in the form. See selection view attributes for details of using selection views to create drop down lists. | ||||
HELPDEVTODO not yet in form Height On Form (pixels) | This only applies on Form views: sets Background Filter | Any filter on the stream can be selected as the background filter for this view. When the user opens this view the background filter is applied first and any other filter applied to the view (either specifically created/selected by the user or automatically applied as the default filter described above) applied on top of the background filter. | |||
Default Action | The action that will be applied when users double-click on a row in a data grid. Often this is an update action - that allows users (if they have permissions to run the action) to update the record. But you can make this open a read-only detailed view of the record if that is more useful for most users. See Action. | ||||
Form View | Tick this box to make this a form view. This can be used to accepting input from a user, for an insert or update action. | ||||
Include History Records | Tick this box to include audit records in the Stream View data. If set, superseded records will be identified by a grey background on the grid row. If not set, superseded records will be filtered out. | ||||
Pivot Details | |||||
This section only appears for pivot views. See pivot views for details. | |||||
View Attributes | |||||
A list of attributes displayed in the view, or to build a chart. Press to bring up a list of attributes for the stream, and drag the attributes you want to add to the view into this list. For each attribute, the following fields are shown: | |||||
Order | The order in which the attributes will appear in the view. For a grid view, this is the order of columns. | ||||
Name | The display name of the attribute in the view. By default, this is the same as the name of the attribute in the underlying stream. Remember that if you are applying an Aggregate Function to the attribute, it is often useful to reflect that in the display name. For example: you are going to display the average monthly spend for each customer, by applying the aggregate function Average to the attribute | ||||
Stream Function | You can specify an Aggregate Function on this attribute. As soon as you have specified a single aggregate attribute in your view, any other fields will be either aggregate attributes - if you also specify an aggregate function for them - or used as grouping attributes. | ||||
Role | This setting only shows if the view is a chart, i.e. not a data grid. This is the role that the field has in generating the chart. You can set the role manually in the stream view attribute editor - but it is generally better to create charts using the visual editor. To do this:
You will see a visual chart editor - you can drag stream attributes onto this editor to create your chart. | ||||
Stream Attribute Details | |||||
Name | The name of the underlying stream attribute. | ||||
Type | The type of the underlying stream attribute. This cannot be edited here. It must be edited in the Stream. | ||||
Number Format | This field will only show if the underlying stream attribute has type Float or Integer. See Number Format for a description of formats. | ||||
Date/Time Format | This field will only show if the underlying stream attribute has type Date or Datetime. See Date Time Format for a description of formats. | ||||
Drop Down Settings | |||||
Allow Empty Row | If ticked, the dropdown displays an empty row which allows to empty the cell value. | ||||
Cache Data | If ticked, the dropdown rows will be cached after the first load. | ||||
Selection Stream View | Stream View which will be displayed as a dropdown for the table cell. | ||||
Drop Down Value Field | A custom field to be used for getting cell value from the dropdown. | ||||
Mappings | A list of additional mappings which can be used to set values of more table cells (columns) using this dropdown. | ||||
Grid Settings | |||||
These settings are only available for view attributes for grid and pivot views. | |||||
Grid Default Width (pixels) | Set the default width of the column for this attribute. PhixFlow will create the grid with default column widths - you only need to specify a value in this field if the width you want is different from this default. | ||||
Label | An optional label for the resulting column header. If left blank, this is the Name of the stream view attribute, formatted with a space before each capital letter. The label gives you more options for setting the column header - for example, control over the white space in the column heading - but you can also make this an expression. For example, to that the column contains transactions for the currently logged in user, you could use:
For user
To use an expression in this field, tick the box Label is Expression. Multi-level labels can be generated by configuring the Label to return a list of values. | ||||
Label is Expression | Tick this box if you want to set the Label using an expression. | ||||
Changes Row Colour | If ticked, the row colour changes whenever the value in this field changes. | ||||
Hidden | Whether the field is shown on the view. Sometimes you need to include fields in views so that they can be used in filters and Actions, but displaying them would make the view cluttered. Make the field hidden. | ||||
Alignment | Set the alignment of values in this column to:
| ||||
Form Settings | |||||
These settings are only available for form views - that is, grid views that have Form View ticked. | |||||
Read Only | This makes the field read-only in the form view. | ||||
Height On Form (pixels) | Sets the height of the form field for this attribute. PhixFlow will create the form field with a default height - you only need to specify a value in this field if the height you want is different from this default. | ||||
HELPDEVTODO not yet in form Width On Form (pixels) | This only applies on Form views: sets Sets the width of the form field for this attribute. PhixFlow will create the form field with a default width - you only need to specify a value in this field if the width you want is different from this default. | ||||
HELPDEVTODO not yet in form Multiline on Form | This tick box will only be shown when configuring a view attribute on a Form view. If ticked, users can If ticked, users can press the Enter key to create multiple lines in this field, or copy multi-line text into this field. |
Values governing the appearance of charts are configured in the Chart Layout tab.
The following fields apply to Pivot views:
...
The pivot column source determines how the the values that are converted to Pivot Columns are generated:
View Data | The pivot column values are read from the Column Attribute in the data being viewed. If the Label Attribute is specified, the label values corresponding to the value attribute values are used as pivot column headers. The is the simplest way to derive the pivot column values, but does not allow any control of the order of values, or the ability to handle missing values e.g. when generating standard reports |
Expression | The pivot column values are the result of an expression. |
If no labels are provided, they are derived from the pivot values using the formatting options set on the Column attribute.
...
If Pivot Column Source == Expression, this expression must return either a list of values or a list of pairs of values (the values and corresponding labels). E.g.
['20150101', '20150201', '20150301']
or
[ [ '20150101', 'January 2015'], [ '20150201', 'February 2015'], [ '20150301', 'March 2015'] ]
The expression can refer to any lookup pipe that is an input to the Stream being viewed.
If no labels are provided, they are derived from the pivot values using the formatting options set on the Column attribute.
...
Column attribute
...
Values in the Column Attribute are mapped to separate columns in the resulting view.
The formatting options on the attribute (decimal places, date/time format) can be used to automatically generate column headers corresponding to Column Attribute values.
...
When the view is displayed, the value in this Value Attribute will be displayed in the column corresponding to the value in the Column Attribute.
A Pivot View is not automatically grouped. To make this a grouped view, you should set the value attribute's aggregate function (e.g. to SUM).
...
The following fields apply to all graphs, that is, all display types other than Grid or Pivot:
...
The following fields apply only to display type: Line Chart (times series horizontal axis):
Field | Description |
---|---|
Primary Axis Unit | Units for date display along the horizontal axis. Choose a value from the drop down list. Note, however, that only as many values will be displayed as can comfortably be fitted in the space available. |
Primary Axis Format | Choose a format to display dates along the primary horizontal axis. |
Secondary Axis Unit | Units for an optional, second date display along the horizontal axis. This might be used, for example, to create a graph where the months are shown along the primary horizontal axis (Primary Axis Unit = 'Month', Primary Axis Format = 'Jan, Feb') and the years are shown along a line below this, along the secondary horizontal axis (Secondary Axis Unit = 'Year', Secondary Axis Format = 'Four digit year'). |
Secondary Axis Format | Choose a format to display dates along the secondary horizontal axis, if this is being used. |
The following fields apply only to dial charts:
Field | Description |
---|---|
Major Tick Increment | The incremental values at which major tick marks should be shown. Do not set too low for the minimum/maximum values specified otherwise there will be too many major ticks. |
Minor Tick Count | The number of tick marks between each major tick. |
First Band Colour | The colour of the first segment on the three coloured arc indicating different regions of the dial. |
Second Band Colour | The colour of the second segment on the three coloured arc indicating different regions of the dial. |
Third Band Colour | The colour of the third segment on the three coloured arc indicating different regions of the dial. |
First Threshold Value | The value at which the first band colour changes to the second band colour. |
Second Threshold Value | The value at which the second band colour changes to the third band colour. |
Dial Style | Arc or Circular. |
The following fields are configured through separate tabs on the form:
...
This tab shows the Lists and Buttons which holds Stream Actions that can be applied when Stream Item Details are accessed from this view. Lists can hold Buttons and other Lists creating multi level menu.
There are three ways to add Lists and Buttons:
- Click on the Actions icon at the top of the grid. A popup window will appear listing all the available actions. Drag an action from this popup form onto the grid. If you drop onto an existing Button you will be asked if you want to create a new Button or to create a list which will hold new Buttons and the Button the Actions you dropped onto. If you drop onto an existing List the selected Actions will be added to the List.
- Go to the Stream Details Actions tab and drag actions into this tab.
- Use the '+' icon at the top of the grid. You can decide if you want to create a Button or a List.
You can add new Lists and Button to the existing List by following the same steps.
See the Action Button Details form for details of each Action Button.
...
This tab shows the list of Refresh Actions which are all the actions that, following their execution, will cause this view to be refreshed.
To add a Refresh Action go to a Stream's Actions tab and drag actions into this tab. The stream does not have to be the parent of this StreamView.
...
This tab shows the list of Filters which will be available in the drop down list of filters accessible from the filter icon in the header of the StreamView.
There are two ways to add a Filter to this list:
- Click on the Filter icon at the top of this form. A popup window will appear listing all the available filters. Drag a filter from this popup form onto this tab.
- Go to the parent Stream's Filters tab and drag filters into this tab.
...
Colouring grid rows
...
Selection View Attribute | This sets the dropdown list from which the user can pick a value. Drag the stream view attribute that you want to use for the dropdown list into this field. The Show the dropdown button option must be ticked to display the drop down. When a user is entering or updating data using a form view, you can use the internal variable _form to use a value already entered in the form in the filter on a selection view. That is, the values that appear in a drop down list will be governed by values they have entered so far in the form. See Configuring Selection View Attributes below for an example of configuring selection view attributes. If another stream view attribute has a Selection View Attribute set and has Show the dropdown button set to yes, then it is possible to set the current stream view attribute from the same selection view without a further dropdown list. Drag the stream view attribute that you want to use to set this stream view attribute into this field Drag the attribute out of the field to delete the contents of the Selection View Attribute. |
Show the dropdown button | See Selection View Attribute above. |
Formatting Rules | |
A list of the formatting rules that apply to this field in the view. This section only appears when you are configuring a grid or pivot view. All formatting rules whose Rule Expression evaluates to true will be applied to the field in the grid. However, you can tick Stop if True so that, if a rule evaluates to true, no styles that follow this in the list of rules will be applied - regardless of the result of their Rule Expression. For each formatting rule, set the following fields: | |
Rule Expression | An expression to govern whether this rule will be applied to this field in the grid. If this expression evaluates to true, the rule will be applied. |
Style | Select a style from the drop-down list, or create a new style. |
Order | The order in which the formatting rules are applied. |
Enabled | Whether the rule is currently active. |
Stop if True | If ticked, if this rule evaluates to true, no styles that follow this will be applies, regardless of the result of their Rule Expression. |
Description | A description of the formatting rule. |
Refresh Actions | |
A list of Refresh Actions which are all the actions that, following their execution, will cause this view to be refreshed. To add a Refresh Action go to a Stream's Actions tab and drag actions into this tab. The stream does not have to be the parent of this stream view. | |
Menu Items | |
A list of the buttons, menus and sub-menus that will be presented on this view - which buttons are available to users depends on whether they have permissions to run these actions. Only actions that belong to the parent stream can be added to a view. There are three ways to add Lists and Buttons:
For each button you set the following fields: | |
Name | The internal name of the action button. This name will be used to refer to this button in other configuration objects |
Display Name | The name that will be presented to users when they open the form. |
Order | The order that the button will be shown in the banner of the form, or, if the button is on a list (a menu or sub-menu), the order the button will appear in that list. |
Description | A description of the action button. |
Filters | |
The list of filters which will be available to users in the drop down list of filters on the view. There are two ways to add a filter to this list:
| |
Access Permissions | |
All Users Can View Data | If ticked, all users will be able to see data in this view (provided they have the basic privilege to view stream views). If this field is unticked, a list of user groups will appear: |
User Groups | |
A list of the user groups whose users can see data in this view. This list only appears if All Users Can View Data is unticked. | |
Advanced | |
Selection Attribute | This attribute will be used to determine the record selected. This is important when the data will be refreshed while users are looking at it - for example, if they run actions that run task plans to update the data, and which are set as refresh actions (see above). Setting this using a key field of the data means that after the refresh, the same record will be selected as before. |
Auto Save | If ticked, the edited row will be saved after an other row is clicked. |
Auto Save Action | Visible only if the 'Auto Save' flag is ticked. Allows the user to define custom Auto Save action which is fired after an another row is clicked. |
Row Selection Style | The style that will applied to rows in this view when they are selected. If set, this will override the default selected row style set in the System Configuration. |
Select First Row By Default | If ticked, the first row shown in the view will be selected when the view is opened. |
Periods | Number of processing periods from the stream to display on the chart. If a full set of data is generated in each period, then this will be 1. If the data is spread across processing periods in the stream - for example, each processing period only contains new data for that day, but we want to plot data across a number of days - then this number must be high enough to include all data of interest to show on a chart. |
Default Width | The default width of the view. If empty, the view's width will be set to the system default value. |
Default Height | The default height of the view. If empty, the view's height will be set to the system default value. |
Allow Multi-Select | If ticked, users will be able to select more than one row in the grid. |
Frozen Columns | Number of columns frozen while scrolling the View horizontally. |
Excel Template | An excel template can be linked to the view to specify the format the chart data should be exported in. The location that excel templates must be saved to is specified in the System Configuration. |
Anchor | ||||
---|---|---|---|---|
|
Configuring pivot attributes
To configure a pivot view, add attributes and set the role of each attribute according to these rules.
Each attribute must be assigned to one of these roles.
Role | Description |
---|---|
Pivot Column | This field will be used to generate columns in the pivot table. See below under pivot views - view details configuration for details of how this field will be used to generate columns. Formatting of the column headings will be controlled by the formatting options set on this view attribute. A Pivot view must have one and only one Pivot Column attribute. |
Pivot Row | This field will be used to generate the rows of the pivot. A Pivot View can have any number of Pivot Row attributes. |
Pivot Label | If Pivot Column Source == View Data (see pivot views - view details configuration), this attribute provides the pivot column headings. In most cases, the number of values for the pivot label should be exactly the same as the number of values for the pivot column. A Pivot View can have at most one Pivot Column attribute. |
Pivot Value | The values in this field will be used to generate the data values in the pivot. You must apply an aggregate function (Stream Function) to this attribute - to provide the sum, max, min, etc. of these values for each row and column. A Pivot view must have one and only one Pivot Value attribute. |
Pivot Row Total | Each Pivot Row Total attribute generates a value for each row calculated as an aggregate of the individual pivot column values. The aggregate function can be any single-valued Aggregate Function (Sum, Minimum, Maximum, Average, Count). A Pivot View can have any number of Pivot Row Total attributes. |
Anchor | ||||
---|---|---|---|---|
|
For pivot views, the following section will appear in the view details:
Field | Description | ||||
---|---|---|---|---|---|
Pivot Column Source | This controls how the field given the role Pivot Column will be used to generate columns in the pivot table. Choose from one of:
| ||||
Pivot Column Expr | If Pivot Column Source == Expression, this expression must return either a list of values or a list of pairs of values (the values and corresponding labels). The expression can refer to any lookup pipe that is an input to the parent stream of the view. E.g.
In this example the resulting view displays three pivot columns. The pivot view only displays data where the value of the pivot column attribute equals one of the three quoted values - data that does not match any of the pivot column values is ignored. The pivot column labels are generated from the pivot values using the formatting rules of the Pivot Column field. In particular, the Label expression can be used to generate formatted label values automatically. If no formatting or Label expression is provided, a default label is generated. This is the recommended way of formatting column labels. E.g.
In the second example, the same data is displayed, but the column headers are provided in the second values for each pivot column. This method of setting column labels is not recommended, and is provided for compatibility with existing pivot views. | ||||
Maximum Pivot Columns | This is the maximum number of pivot columns that can be displayed. If this is blank, the system-wide default in System Configuration is used. |
Anchor | ||||
---|---|---|---|---|
|
Chart view details
For charts, the following section will appear in the view details:
Field | Description |
---|---|
Show Legend | When a series is used, if this is turned on then a box listing all lines shown, along with the corresponding values, is displayed on the graph. |
Display Legend Below The Chart | If ticked, the legend is displayed below the chart. Otherwise it is displayed above the chart. |
Show Controls | Visible only for Bar Charts. If ticked, the Grouped/Stacked switch is displayed. |
Mark Selection | Visible only for Bar Charts. If ticked, the currently selected bar has a visible border. |
Tooltip Number Format | Format Number to be applied to a chart tooltip. |
Colour Map | Select or add a colour map |
Group Spacing | Visible only for Bar Charts. Allows the user to define a custom spacing between bar groups. Can take values between 0-1. |
Horizontal Axis | |
Horizontal Axis Title | The label given to the horizontal axis. |
Title Style | Style of the horizontal axis title. |
Label Angle | The orientation of the values displayed along the horizontal axis. Select a value from the drop down menu. |
Show Horizontal Gridlines | Whether to show horizontal grid lines on the view |
Horizontal Axis Date Format | Visible only if the X-Axis attribute is Date or DateTime. Allows to define a Date Format for X-Axis value labels. |
Horizontal Axis Number Format | Visible only if the X-Axis attribute is Number. Allows to define a Number Format for X-Axis value labels. |
Text Style | Style of the horizontal axis value labels. |
Vertical Axis | |
Vertical Axis Title | The label given to the vertical axis. |
Title Style | Style of the vertical axis title. |
Minimum Value | Minimum value along the vertical axis to be displayed. This value will be lowest point on the vertical axis if any value in the data plotted falls below this value. Otherwise, the graph will be automatically sized as normal. |
Maximum Value | Maximum value along the vertical axis to be displayed. This value will be the highest point on the vertical axis if any value in the data plotted falls above this value. Otherwise, the graph will be automatically sized as normal. |
Fixed Scale | If fixed scale is turned on, the the maximum value and minimum value defined will always be used as the highest and lowest points on the vertical axis, regardless of the data plotted. |
Show Vertical Gridlines | Whether to show vertical grid lines on the view |
Vertical Axis Number Format | Allows to define a Number Format for Y-Axis value labels. |
Text Style | Style of the vertical axis value labels. |
Line Chart (time)
The following fields only apply for charts of type Line Chart (time). These apply to the horizontal axis, which in this case is a time series:
Field | Description |
---|---|
Primary Axis Unit | Units for date display along the horizontal axis. Choose a value from the drop down list. Note, however, that only as many values will be displayed as can comfortably be fitted in the space available. |
Primary Axis Format | Choose a format to display dates along the primary horizontal axis. |
Secondary Axis Unit | Units for an optional, second date display along the horizontal axis. This might be used, for example, to create a graph where the months are shown along the primary horizontal axis (Primary Axis Unit = 'Month', Primary Axis Format = 'Jan, Feb') and the years are shown along a line below this, along the secondary horizontal axis (Secondary Axis Unit = 'Year', Secondary Axis Format = 'Four digit year'). |
Secondary Axis Format | Choose a format to display dates along the secondary horizontal axis, if this is being used. |
Chart attributes
The best way to configure the chart attributes is to add the chart to a dashboard, and then use the graphical chart builder in design mode to set the attributes to create the chart you need.
You can, however, set the role of each attribute manually if you wish.
Colouring grid rows
The colours of rows in grid views can be set by creating a stream attribute called gridRowColour
, and adding this to the view. This value will not be shown in the grid.
The value of this attribute must evaluate to either a hexadecimal value representing a colour or to the lower case name of one of the basic HTML colours. Visit www.w3schools.com/tags/ref_colorpicker.asp to see how hexadecimal values correspond to real colours.
The table below lists the basic HTML colour names:
Aqua | Black | Blue | Fuchsia |
Gray | Green | Lime | Maroon |
Navy | Olive | Purple | Red |
Silver | Teal | White | Yellow |
It is advised not to use You are recommended to avoid dark colours as they may cause make data in the grid data to be hardly visiblevery hard to read.
Form Icons
...
The form provides the standard form icons.
...