GenioWeb - Navigation Module



Table of Contents



Introduction to Navigation

In the digital landscape, seamless navigation is crucial for an optimal user experience. GenioWeb's Navigation module serves as the cornerstone for crafting intuitive and user-friendly navigation structures for your applications. This documentation aims to provide an in-depth look into the features and capabilities of the Navigation module in GenioWeb.

The Navigation module in GenioWeb is designed to facilitate easy access to various features and information within your application. It serves as the backbone of your application's user interface, guiding users through complex functionalities with ease.

To access the Menu main page go to Navigation and then select Menus as you can see Figure 1. Besides Menus, Menu elements and Columns in Lists, it's also possible to go to Menus of a Module, Modules and Home pages.

Access to Menu tree main page on GenioWeb

Figure 1: Access to Menu tree main page on GenioWeb.

To create a Menu from an existing Table, it's mandatory to have at least one Form defined to that table. But after that is done, it's possible to create a Menu as shown in Figure 2:

  1. Select your project name on Menu tree with the left button of your mouse;
  2. Press Create menus symbol (squares with a plus sign) to open "Create base table menus";
  3. Select the table for which you want to create the menu;
  4. Press "Execute" and notice that a new item will appear on the Menu tree under your project name.
Process of creating a menu from a table

Figure 2: Process of creating a menu from a table.

Core Components of Navigation

The menu tree is the hierarchical structure that represents the different levels and types of menus available in your application. It includes Menu items of various kinds such as Menu, List, and Visualization Form.

As you can see in Figure 3 there are some shortcuts in on top of the menu tree with the actions that it's possible to execute about each element of the tree, that corresponds from left to right:

  • Read (eye symbol);
  • Edit (pencil symbol, inside red squared in Figure 3);
  • Delete (garbage bin);
  • Copy;
  • Cut;
  • Paste;
  • Move item Up on the tree (arrow up);
  • Move item Down on the tree (arrow down);
  • Create menus;
  • Insert (circle with plus sign symbol).
Edit shortcut on Menu tree on GenioWeb

Figure 3: Edit shortcut on Menu tree on GenioWeb.

GenioWeb supports data import from Excel sheets, allowing you to populate tables quickly and efficiently. To make this happen is possible to edit a list on Menu tree as shown in Figure 3 and doing a check on File import on Other features in the form that will appear, as you can see in Figure 4.

File import option of List Menu item edition

Figure 4: File import option of List Menu item edition.

Besides creating menus from table using Create menus shortcuts, it's also possible to Insert menu items as shown in Figure 5.

Inserting menu item on GenioWeb

Figure 5: Inserting menu item on GenioWeb.

Menu item

The first section on menu item insertion is called Menu item and has the following fields:

  • Module (read-only);
  • Module designation (read-only);
  • Order (read-only, can be changed on Menu tree page);
  • Absolute identifier: Fixed name for the menu. If left blank, the menu numbering is used to name it. If this menu is the object of manual routines or other types of references, it is interesting to give it a unique name. This prevents that when menus are added their name is subject to change.
  • Menu item Type;
  • Skip self checkbox;
  • Notes.

As stated before in other pages of this documentation, Notes, a field for developer comments in the development, is essential for several reasons:

  • Communication: It allows developers to communicate with each other about specific parts of the code, especially in a team setting where multiple people may be working on the same project.
  • Clarification: Comments can provide clarification on complex sections of code, making it easier for others (or even the same developer at a later date) to understand what the code is doing.
  • Debugging: They can be useful in debugging, as they can provide context and explanations for specific coding decisions that may affect how the code runs.
  • Maintenance: Comments can make maintaining and updating the code easier, as they provide insights into why certain coding decisions were made.

Menu item Type

There are different Menu item types:

  • Enumeration Selection (Enumeration) - Opens a dialog to choose one of the enumerated values in the Enumeration. The chosen enumerated code will be associated to a database field.
  • Button to document - Convert document to pdf, depending on the settings that are in the file configuracoes.xml. For example documents (.docx, pptx, xlsx).
  • List - Represents a list of records from a given table. This list can have CRUD operations associated if a support form is provided. A user's choice in the list has an effect on history and in the following lists by limiting them if a relationship is found.
  • N:N List - Represents a list of records related to a particular table with a N:N relationship, that is, abstracts the table that holds the relationship and shows the records from the other table. This list can have CRUD operations associated if a support form is provided. A user's choice in the list has an effect on history and in the following lists by limiting them if a relationship is found.
  • Mark items from List - Represents the possible choices of an N:N relationship. The user will choose which records he wants to associate between the two tables.
  • Unchecks items from List - Represents the possible choices of an N:N relationship. The user will choose which records he wants to disassociate between the two tables.
  • Multiple Select List - Allows multiple selection on a list of records from a given table. This list can have CRUD operations associated if a support form is provided.
  • List by query - Lists all records for a data query. The query must be defined by routine manual and the returned columns should be declared and typed for this query.
  • Visualization Form - Calls one of the created forms. Needs pre-positioning by other menu entries (typically lists).
  • Repeated new record form - Calls one of the created forms in a repeated insertion mode. After inserting a record, the form appears again for a new insertion, stopping only when the cancel request is ordered.
  • Deletion Form - Calls one of the created forms in delete mode. This call requires a pre-positioning of a given record.
  • Form with follow-up - Calls one of the created forms, giving the possibility to navigate between records within the specifiedform. Only forms prepared to have Next and Previous buttons can be used.
  • New record-Form - Calls one of the created forms in insert mode. This call can be made without a pre-positioning of a record.
  • Special or empty list - Calls a blank form suitable for extensive manual routines. These forms must be properly marked as being Empty. Can optionally require the positioning of a record.
  • History selection - Creates a condition from a history entry. The value present in history will narrow the selected area. Typically this is done automatically by the application but in case of manual routines or PHE's that are not automatically applied you need to use this control.
  • Report - Executes a call to a listing report. The report can be of several types and entry parameters can be set to allow report re-use.

When the Menu item is of type List or N:N List it will appear the List section as shown in Figure 6. In this list it's possible to reorder the columns using the indicated symbol (two arrows crossed).

Inserting menu item on GenioWeb

Figure 6: Inserting menu item on GenioWeb.

As it's possible to see in Figure 7, to List Menu Type will also show a Sorting and a Filters sections.

Inserting menu item on GenioWeb

Figure 7: Inserting menu item on GenioWeb.

On Other features section there are a lot of options, as you can see in Figure 8. It's possible to see the fields Records per page, Shows records in the list if you have records in the table, Rows per page options, User configuration and Custom control, it's presented the following checkboxes:

  • Skip if just one - If there is only one record in this list, select automatically that record and goes to the Edit Form.
  • Repeated Insertion - If checked, it is possible to continuously insert new records in the list. For this purpose, a button for this purpose will be displayed in the list support form.
  • Allow exporting - If checked, the user will be able to choose a file format to export the information shown in the list.
  • File import - If checked, the user has the possibility to create an Excel template file, which later, after being filled with data, can be used to import data into the list.
  • View previous years - If checked, allows you to view data from previous years stored in other databases.
  • Sort rows - Allows you to reorder the lines of the list and persist this ordering. One of the columns in the listing (and only one) must be associated with a database field marked for sorting.
  • Show after filter - This list only lists results after the user has entered a filter. It should be used as an optimization in lists over large tables where normally the user always does a filtering first.
  • Record counter in menu - If checked, the number of records in the list will be displayed in the menu structure for accessing the list.
  • Record counter in list - If checked, information about the number of entries in the list is displayed.
  • Show limits (Tooltips) - Activates the limitation information about the list: It provides a button that, after execution, shows information about the list of limitations that are being applied to the records in the list.
Inserting menu item on GenioWeb

Figure 8: Inserting menu item on GenioWeb.

Records per page defines the number of records that make up a page. Possible values: 0 (zero) sets a default value. -1, defines the non-existence of pages. Positive value greater than zero, this value defines the number of records on a page.

Shows records in the list if you have records in the table is the table by which the List should be filtered, that is, the List will only show records that exist in the chosen table.

Rows per page options must be a list of numeric values separated by commas.

There are 4 options regarding User configuration: Nothing, Without persistence, Persist only one and Persist multiple. And Custom controlis a field used to define a specialized interface control,

A Colors section with Background color that allows you to define an expression for the list that changes the background color line by line and Text colorthat allows GenioWeb users to define an expression for the list that changes the text color line by line. Positioning and a section for Permissionsare also available on this insertion form for List Menu type, as it's possible to see in Figure 9.

Inserting menu item on GenioWeb

Figure 9: Inserting menu item on GenioWeb.

When designing navigation for your application, it's essential to keep the user experience in mind. Ensure that the menu items are logically organized and that the permissions are set appropriately to provide a smooth and secure user experience.