There are various plugin options you can change through the registration options. Some of the options only make sense for a particular plugin type, like full page or inline.
The following is a full set of possible options for a full page and settings plugin type.
This is a full set of options for an inline and settings plugin type:
The following table presents the registration options and their purpose.
Param | Details |
---|---|
route | The URI path to run the settings and/or full page interfaces of your plugin. If your route is /myplugin , then the full URI to your full page interface would be https://platform.zenginehq.com/workspaces/123/plugin/myplugin . The URI to your settings interface would be https://platform.zenginehq.com/workspaces/123/admin/plugin/myplugin . |
title | The tooltip text to appear on hover of your plugin icon. |
pageTitle | Heading text to appear below the app header and above your plugin template. If not provided, will use value of title . If false, won't prepend the header at all. |
icon | Icon to represent your plugin in the various places in the app. Icon will appear in the top nav if there's a full page interface, the right side nav of the record overlay if there's a record overlay interface, and in the workspace settings and tools section if there's a settings interface. The icon will be used in the marketplace, if the plugin is public. Must be an icon name seen here: https://platform.zenginehq.com/patterns/icons |
interfaces | A plugin can have one or more interfaces that allows you to build one plugin with different types, each interface object has a set of options, check out the table below for a complete list of inteface options |
The following table presents the interfaces
options and their purpose.
Param | Details |
---|---|
routes | Specify additional routes to sub pages of your plugin. Only applicable to full page and settings interfaces. Will appear under your main route param. Value should be defined as a JSON array. Ex: routes: ['/:id'] translates to https://platform.zenginehq.com/workspaces/123/plugin/myplugin/456 , where 456 will be available as a $routeParam named id . |
controller | You can have multiple controllers in your plugin JavaScript. This param represents the main controller name. Note that all controller names are prefixed with your namepsace, like myPluginCntl . |
template | Similar to controller, your plugin HTML can have multiple templates. The template parameter corresponds to the template associated with the main controller. This value represents a template ID in the plugin HTML. The template ID must be prefixed with a dash-delimited version of your namespace, like my-plugin-main . This is in keeping with the AngularJS HTML attribute style. |
type | The type of your plugin, can be one of: fullPage, inline, settings, or recordOverlay. Checkout plugin types for details of each plugin type option. |
topNav | Whether to display your plugin icon in the app header. |
order | The order to display the plugin icon in the top nav (for full page interfaces) or the record overlay side nav (for record overlay interfaces), in relation to the other icons. A higher number moves the icon towards the left and a lower number towards the right. |
location | Location to load plugin if it's type is "inline". See plugin locations. |
Location | Details |
---|---|
zn-top-nav | In the nav bar at the top of the app, next to the Notifications bell. |
zn-plugin-data-subheader | Above the data grid. Only available when there are records to display in the grid. |
zn-plugin-panel-header | Above the data panel. |
zn-plugin-panel-footer | Below the data panel. |
zn-plugin-form-top | Above the form in the data panel. |
zn-plugin-form-bottom | Below the form in the data panel. |