Code Generator

Blog
Code Generator
Tuesday, March 14, 2017PrintSubscribe
Touch UI 2017 Hot Fixes 2

Code On Time release 8.6.2.0 fixes another set of issues that were introduced in 8.6.0.0.

  • Universal Input safely handles incorrect field names reported by business rules.
  • It is now possible to select filter fields of data views on the pages in Project Designer.
  • The font size of lookup links in Project Designer is now matched with the font size of text.
  • Fixed the status bar / wizard text color in Modern theme.
  • Help can now be disabled in Touch UI using help option in ~/touch-settings.json.
  • Double-page header is not created when modal lookup is selected on top of non-modal page.
  • NEW: Multiple form layouts can be downloaded in a single file from Developer Tools option in context menu.
  • Enhanced instructions on Data Model page of Project Wizard.
  • Fixed processing of initalMode option from touch-settings.json configuraiton file.
  • NEW: Northwind sample dates shifted to 2014-2016.
  • User Avatar title is assinged to the button instead of the icon. This will correctly refresh the title if the window became wider since the previous title of the button will be overriden with the user name.
  • Fixed filter processing in surveys to support original filter:{from:'', to:''} syntax.
  • Multi-line text fields are display in full height in edit mode.
  • Disabled reading of UserID for Active Directory.
  • Fix for "OAuthHandler" undefined compilation error with Unlimited and no membership.
  • Fix for "MimeMapping" is "Friendly" in .NET 4.0 Projects with SiteContent.
Wednesday, February 8, 2017PrintSubscribe
Customizing the Menu in Touch UI

The menu offers the user access to the pages in your application. The default location of the menu is in the toolbar at the top of the screen. Top level pages will be displayed as tabs in the toolbar. Nested pages can be accessed by pressing on the parent tab. Page icons will be displayed in the dropdown menu. The Quick Launch area of the sidebar will display up to five page icons, if any have been defined. The user can view a full list of pages by pressing the “Apps” icon (three by three grid of dots).

The site menu displayed in the application toolbar at the top of the screen.

If the screen width is insufficient to display the full menu, then the remaining options will be grouped under a “More” option.

If the screen is too narrow to display all menu options, a "More" option will be displayed.

If it is not possible to fit three or more pages, then the menu will be hidden.

The menu is hidden on very small devices.

The user can still access the full menu by pressing the hamburger icon in the top left corner. If any page icons are defined, then a grid of these icons will be displayed in the menu panel.

The menu panel will display a grid of page icons.

The full site map will be displayed if no page icons are defined, or when the user presses “More” in the menu panel.

The full site menu is visible in the menu panel.

Moving the Menu to the Sidebar

Depending on project requirements, it may be desirable to move the menu from the toolbar to the sidebar. One way of changing the location is to change “Menu Location” property under the Touch UI section of the Features page in the Project Wizard.

The other way to change the menu location is to set the ui.menu.location property in the “~/WebSite/touch-settings.json” file to “sidebar”. We will use this technique.

Start the app generator. Press on the project name, and press “Open” to reveal the project folder in File Explorer. Navigate to the WebSite folder, and double-click the “touch-settings.json” file to open in your default text editor. It is recommended to use Visual Studio or other editor that supports syntax highlighting and validation.

Opening the "touch-settings.json" file under the WebSite folder of the project directory.

Replace or merge the contents of the file with the following:

{
  "ui": {
    "menu": {
      "location": "sidebar",
      "apps": {
        "tiles": null,
        "location": null
      }
    }
  }
}

The ui.menu.location property has been set to “sidebar”.

Switch back to the browser, and refresh the app. The menu will now be rendered in the sidebar.

The Touch UI menu rendered in the sidebar.

Changing the Location of the “Apps” Icon

The “Apps” icon offers access to the full site menu. By default, it is displayed in the Quick Launch area of the sidebar.

The "Apps" icon is displayed in the Quick Launch area of the sidebar.

The “Apps” icon location can be changed using the ui.menu.apps.location property. The default value, shown in the picture above, is “sidebar”. The icon can also be placed in the toolbar. Make the following change to your touch-settings.json file:

{
  "ui": {
    "menu": {
      "location": "sidebar",
      "apps": {
        "tiles": null,
        "location": "toolbar"
      }
    }
  }
}

Save the file, and refresh the web page. The result of the change can be seen below. Notice that an additional page icon is now displayed in the Quick Launch area.

The "Apps" icon is rendered in the toolbar.

Disabling the “Apps” grid

Activating the “Apps” icon, or opening the menu panel on a small device, will show a grid of page icons. The rest of the pages can be accessed by pressing the “More” button.

The "Apps" icon will display an "Apps" grid if any page icons are available.

The “Apps” grid can be disabled by setting the ui.menu.apps.tiles property to “false”. Make the corresponding change to your touch-settings.json file:

{
  "ui": {
    "menu": {
      "location": "sidebar",
      "apps": {
        "tiles": false,
        "location": "toolbar"
      }
    }
  }
}

Save the file, and refresh the app. Press the “Apps” icon in the sidebar or toolbar. The full site menu will be shown, bypassing the “Apps” grid.

Disabling tiles will bypass the "Apps" grid.

Monday, February 6, 2017PrintSubscribe
Icons in Touch UI

Starting with release 8.5.12.0, over 4,000 icons are available for use in apps created with Touch UI. Icons can be applied to a page, view, or action to help the user in navigation and data manipulation.
 
By default, every application comes integrated with 1,650 icons from the Material icons library, provided for re-use by Google under the Apache License Version 2.0. There are 260 Halfling glyphicons (included with Bootstrap 3.0 under MIT License integrated as well. Additional icon libraries Font Awesome (730) and Ionicons (1,466) can be included using the method described in the last section of this article.
 
The picture below shows the page “Customers”. The page has been assigned the icon “material-icon-group”, and that icon is displayed as selected in the Quick Launch area of the sidebar. The Customers edit form has been assigned the same icon, displayed in the header of the view. The “New Orders” action has icon “material-icon-add-shopping-cart” applied, and the “New Customers” action has “material-icon-group-add” icon.
 
Icons used in Touch UI apps.

Page Icons

Learn how to assign icons to pages. These icons will be displayed in related menus. Up to five page icons will be added to the Quick Launch area of the sidebar.
 
Adding icons to pages will push them to the Quick Launch bar of the sidebar.
 
The “Apps” menu will display a grid of all page icons.
 
The "Apps" menu shows a grid of pages.

View Icons

Icons can be assigned to views in order to better communicate the purpose of a particular form.
 
The Customers modal form shows an icon in the header.

Action Icons

Adding relevant icons to actions helps the user locate and understand the purpose of that action.
 
The "Ship Order" button, with assigned icon, is displayed in the context menu and sidebar.

Additional Icons

Only Material Icons and Halfling Glyphicons are included in Touch UI apps in order to reduce the size of the generated project and required download size for every client. Offline applications will have access to these icons. If more icons are needed, Font Awesome and Ionicons library icons can be included. If additional icons are desired, please open a support ticket for your request.
 
Let’s include icons  from these two libraries. In the Project Designer, press Open to open the project folder in File Explorer. Navigate to “~/WebSite/touch” folder. Right-click and press “New | Text Document”.
 
Creating a new text document in "~/WebSite/touch" folder.
Name the file “custom-icons.css”. Double-click the file to open in your default text editor. Replace the contents with the following:
/*Font Awesome icons*/
@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
/*Ionicons*/
@import url('http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css');
Save the file and close the text editor.
 
Let’s use our new icons on some pages. Switch back to the Project Designer. Make the following assignments:
 
Page Icon
Home glyphicon-globe
Order Details fa-barcode
Categories ion-filing
Suppliers ion-cube
Shippers fa-truck
Employees fa-users

On the toolbar, press Browse. The new icons will be used on the sidebar and dropdown menus.

The new Font Awesome and Ionicons icons are used in the sidebar and context menus.

The icons will be visible in the site menu as well.
 
The new Font Awesome and Ionicons icons are used in the site menu.