Configuration

Section Config Definition

A new section may be added in src/config/section and in src/config/router.js import the new section (newconfig.js as example) configuration file and rules to asyncRouterMap as:

import newconfig from '@/config/section/newconfig'

[ ... snipped ... ]

  generateRouterMap(newSection),

API

An existing or new section config/js file must export the following parameters:

  • name: unique path in URL
  • title: the name to be displayed in navigation and breadcrumb
  • icon: the icon to be displayed, from AntD's icon set https://vue.ant.design/components/icon/
  • children: (optional) array of resources sub-navigation under the parent group
  • permission: when children are not defined, the array of API to check against allowed auto-discovered APIs
  • columns: when children is not defined, list of column keys
  • component: when children is not defined, the custom component for rendering the route view

See src/config/section/compute.js and src/config/section/project.js for example.

The children should have:

  • name: unique path in the URL
  • title: the name to be displayed in navigation and breadcrumb
  • icon: the icon to be displayed, from AntD's icon set https://vue.ant.design/components/icon/
  • permission: the array of API to check against auto-discovered APIs
  • columns: list of column keys for list view rendering
  • details: list of keys for detail list rendering for a resource
  • tabs: array of custom components that will get rendered as tabs in the resource view
  • component: the custom component for rendering the route view default list view (table)
  • actions: arrays of actions/buttons

Action API

The actions defined for a children show up as group of buttons on the default autogen view (that shows tables, actions etc.). Each action item should define:

  • api: The CloudStack API for the action
  • icon: the icon to be displayed, from AntD's icon set https://vue.ant.design/components/icon/
  • label: The action button name label
  • listView: (boolean) whether to show the action button in list view (table)
  • dataView: (boolean) whether to show the action button in resource/data view
  • groupAction: Whether the button supports groupable actions when multiple items are selected in the table
  • options: list of API arguments to render/show on auto-generated action form
  • hidden: function that takes in a records and returns a boolean to control if the action button needs to be disabled/hidden
  • component: the custom component to render the action (in a separate route view)
  • popup: (boolean) when true, displays any custom component in a popup modal than in its separate route view