Custom and User-Defined Custom Components
/pages/Guides/Mobile and Web Components/Custom/index.xml
A Custom Component or User-defined Custom Component is a way to create a component for reuse. Like Grid or UX Components, custom components are configured using a Component Builder and can be invoked using Action Javascript. Custom Components are an advanced feature for building web and desktop interfaces. Custom Components are not recommended for use in mobile applications.
UX Component - User-Defined Sub-Themes
/pages/Guides/Mobile and Web Components/UX/Code/Javascript In UX Components/User-Defined Sub-Themes.xml
Most of the Javascript controls on a UX component support the concept of 'sub-themes'. This topic discusses how user-defined sub-themes can be added to a UX component.
File Upload - User Defined
/pages/Ref/Action Javascript/File Upload User Defined.xml
Upload one or more files to the server. A server-side event then gets called to allow you to process the uploaded files.
Sharing and Using a User-defined Component
/pages/Guides/Mobile and Web Components/Custom/Sharing and Using a User-defined Component.xml
Once you have a working User-defined Component, you can share it with others by sending them a Zip of the entire directory tree you used to create the User-defined Component builder. They will need to unpack it into their C:\ProgramData\Alpha Software\Alpha Five Version 11\Installations\<identifier>\UserDefinedWebComponentTypes directory, which they can find by using the Edit|Advanced|Open Folder where User-defined Components are Registered menu item from Alpha Five.
User-Defined Popup Help in Xdialog
/pages/Guides/Desktop/Xdialog/User-Defined Popup Help in Xdialog.xml
The new a5_showPopupHelp() makes it very easy to put help buttons on an Xdialog that the user can click for additional help. The help can be defined using Xdialog or HTML. (See example in Learning Xdialog.)
User Defined Ajax Callbacks
/pages/Server/Guide/Design/View/Grid/User Defined Ajax Callbacks in Grids.xml
You can define Javascript event handlers at many levels in the Grid component (e.g. at the control level, at the row level). Your Javascript event handlers can make Ajax callbacks. The callbacks can submit data from the current row in the Grid. If you have turned on the 'checkbox' column, then data from the checkbox column is also returned. The callbacks can be handled by an Xbasic function that is defined in the Grid component, or by a separate page (could be an .a5w page, a PHP page, .ASP page, or any other type of page). To have your Javascript function make an Ajax callback, you use the '.ajaxCallback()' method of the Grid object. The syntax for this method is:
Creating a User-defined Component
/pages/Guides/Mobile and Web Components/Custom/Creating a User-defined Component.xml

Follow these steps to create a User-defined Component.

PhoneGap User Defined Plugin Library Manager
/pages/Guides/PhoneGap/User Included PhoneGap Plugins.xml
The PhoneGap Builder includes a User Defined Plugin Library Manager that allows the developer to include any PhoneGap plugin that is publicly available from GitHub, NPM or the (now deprecated) PhoneGap Plugin Repository.
Creating User-defined ControlBar Templates
/pages/Guides/Mobile and Web Components/UX/Controls/Other Controls/ControlBar/UserDefined templates.xml

Templates can be used to create ControlBars in applications. The Save ControlBar as a Template link on the Home tab of the ControlBar is used to create user-defined templates.

Creating a User Defined Control
/pages/Guides/Desktop/Xdialog/Controls/Creating a User Defined Control.xml
This script shows how to create user-defined controls (based on ActivX controls) that can be used on an Xdialog. The control will be called myControl. Once the control has been defined, it can be placed on the Xdialog using the syntax {myControl=width,heightInstanceVariable} e.g. {myControl=100,20p} where p is a dot variable that defines and instance of the myControl User Defined Control. In this example, we will create a User Defined Control called myControl. This control will have two methods, setHTML()and setCSS().