第 8 章 在 Red Hat Developer Hub 中配置浮动操作按钮
您可以使用 floating 操作按钮插件将任何操作配置为 Developer Hub 实例中的浮动按钮。浮动操作按钮插件默认启用。您还可以将浮动操作按钮配置为主浮动操作按钮中的子菜单选项,方法是将浮动操作按钮分配给 dynamic-plugins.yaml
文件的相同 插槽
字段。
8.1. 将浮动操作按钮配置为动态插件 复制链接链接已复制到粘贴板!
您可以将浮动操作按钮配置为动态插件,以执行操作或打开内部或外部链接。
先决条件
您必须有足够的权限作为平台工程师。
流程
要将浮动操作按钮配置为动态插件,请完成以下任一任务:
在
app-config-dynamic.yaml
文件中指定global.floatingactionbutton/config
挂载点。例如:- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-bulk-import: # Start of the floating action button configuration mountPoints: - mountPoint: global.floatingactionbutton/config importName: BulkImportPage config: slot: 'page-end' icon: <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#e8eaed"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg> label: 'Bulk import' toolTip: 'Register multiple repositories in bulk' to: /bulk-import/repositories # End of the floating action button configuration appIcons: - name: bulkImportIcon importName: BulkImportIcon dynamicRoutes: - path: /bulk-import/repositories importName: BulkImportPage menuItem: icon: bulkImportIcon text: Bulk import
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-bulk-import: # Start of the floating action button configuration mountPoints: - mountPoint: global.floatingactionbutton/config importName: BulkImportPage config: slot: 'page-end' icon: <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#e8eaed"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg> label: 'Bulk import' toolTip: 'Register multiple repositories in bulk' to: /bulk-import/repositories # End of the floating action button configuration appIcons: - name: bulkImportIcon importName: BulkImportIcon dynamicRoutes: - path: /bulk-import/repositories importName: BulkImportPage menuItem: icon: bulkImportIcon text: Bulk import
Copy to Clipboard Copied! Toggle word wrap Toggle overflow frontend:mountPoints:importName
- (必需)与挂载点关联的组件的导入名称。
frontend:mountPoints:importName:icon
-
使用
svg
值显示黑色BulkImportPage
图标。
要将操作配置为打开外部链接的浮动操作按钮,请在
backstage-plugin-global-floating-action-button
插件中指定dynamic-plugins.yaml
文件中的global.floatingactionbutton/config
挂载点。例如:- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-floating-action-button disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-global-floating-action-button: mountPoints: - mountPoint: application/listener importName: DynamicGlobalFloatingActionButton - mountPoint: global.floatingactionbutton/config importName: NullComponent config: icon: '<svg viewBox="0 0 250 300" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M200.134 0l55.555 117.514-55.555 117.518h-47.295l55.555-117.518L152.84 0h47.295zM110.08 99.836l20.056-38.092-2.29-8.868L102.847 0H55.552l48.647 102.898 5.881-3.062zm17.766 74.433l-17.333-39.034-6.314-3.101-48.647 102.898h47.295l25-52.88v-7.883z" fill="#40B4E5"/><path d="M152.842 235.032L97.287 117.514 152.842 0h47.295l-55.555 117.514 55.555 117.518h-47.295zm-97.287 0L0 117.514 55.555 0h47.296L47.295 117.514l55.556 117.518H55.555z" fill="#003764"/></svg>' label: 'Quay' showLabel: true toolTip: 'Quay' to: 'https://quay.io' - mountPoint: global.floatingactionbutton/config importName: NullComponent config: icon: github label: 'Git' toolTip: 'Github' to: https://github.com/redhat-developer/rhdh-plugins
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-floating-action-button disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-global-floating-action-button: mountPoints: - mountPoint: application/listener importName: DynamicGlobalFloatingActionButton - mountPoint: global.floatingactionbutton/config importName: NullComponent config: icon: '<svg viewBox="0 0 250 300" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M200.134 0l55.555 117.514-55.555 117.518h-47.295l55.555-117.518L152.84 0h47.295zM110.08 99.836l20.056-38.092-2.29-8.868L102.847 0H55.552l48.647 102.898 5.881-3.062zm17.766 74.433l-17.333-39.034-6.314-3.101-48.647 102.898h47.295l25-52.88v-7.883z" fill="#40B4E5"/><path d="M152.842 235.032L97.287 117.514 152.842 0h47.295l-55.555 117.514 55.555 117.518h-47.295zm-97.287 0L0 117.514 55.555 0h47.296L47.295 117.514l55.556 117.518H55.555z" fill="#003764"/></svg>' label: 'Quay' showLabel: true toolTip: 'Quay' to: 'https://quay.io' - mountPoint: global.floatingactionbutton/config importName: NullComponent config: icon: github label: 'Git' toolTip: 'Github' to: https://github.com/redhat-developer/rhdh-plugins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow frontend:mountPoints:importName
- (必需)与挂载点关联的组件的导入名称。
frontend:mountPoints:importName:icon
-
使用
svg
值显示Quay
图标。
要配置包含子菜单的浮动操作按钮,请在
dynamic-plugins.yaml
文件中的同一slot
字段中定义global.floatingactionbutton/config
挂载点,以进行多个操作。如果没有指定,默认插槽为page-end
。例如:- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-bulk-import: # Start of fab config mountPoints: - mountPoint: global.floatingactionbutton/config importName: BulkImportPage config: slot: 'page-end' icon: <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#e8eaed"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg> label: 'Bulk import' toolTip: 'Register multiple repositories in bulk' to: /bulk-import/repositories # end of fab config appIcons: - name: bulkImportIcon importName: BulkImportIcon dynamicRoutes: - path: /bulk-import/repositories importName: BulkImportPage menuItem: icon: bulkImportIcon text: Bulk import - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-floating-action-button disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-global-floating-action-button: mountPoints: - mountPoint: application/listener importName: DynamicGlobalFloatingActionButton - mountPoint: global.floatingactionbutton/config importName: NullComponent config: icon: github label: 'Git' toolTip: 'Github' to: https://github.com/redhat-developer/rhdh-plugins - mountPoint: global.floatingactionbutton/config importName: NullComponent config: icon: '<svg viewBox="0 0 250 300" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M200.134 0l55.555 117.514-55.555 117.518h-47.295l55.555-117.518L152.84 0h47.295zM110.08 99.836l20.056-38.092-2.29-8.868L102.847 0H55.552l48.647 102.898 5.881-3.062zm17.766 74.433l-17.333-39.034-6.314-3.101-48.647 102.898h47.295l25-52.88v-7.883z" fill="#40B4E5"/><path d="M152.842 235.032L97.287 117.514 152.842 0h47.295l-55.555 117.514 55.555 117.518h-47.295zm-97.287 0L0 117.514 55.555 0h47.296L47.295 117.514l55.556 117.518H55.555z" fill="#003764"/></svg>' label: 'Quay' showLabel: true toolTip: 'Quay' to: 'https://quay.io'
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-bulk-import: # Start of fab config mountPoints: - mountPoint: global.floatingactionbutton/config importName: BulkImportPage config: slot: 'page-end' icon: <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#e8eaed"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg> label: 'Bulk import' toolTip: 'Register multiple repositories in bulk' to: /bulk-import/repositories # end of fab config appIcons: - name: bulkImportIcon importName: BulkImportIcon dynamicRoutes: - path: /bulk-import/repositories importName: BulkImportPage menuItem: icon: bulkImportIcon text: Bulk import - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-global-floating-action-button disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-global-floating-action-button: mountPoints: - mountPoint: application/listener importName: DynamicGlobalFloatingActionButton - mountPoint: global.floatingactionbutton/config importName: NullComponent config: icon: github label: 'Git' toolTip: 'Github' to: https://github.com/redhat-developer/rhdh-plugins - mountPoint: global.floatingactionbutton/config importName: NullComponent config: icon: '<svg viewBox="0 0 250 300" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M200.134 0l55.555 117.514-55.555 117.518h-47.295l55.555-117.518L152.84 0h47.295zM110.08 99.836l20.056-38.092-2.29-8.868L102.847 0H55.552l48.647 102.898 5.881-3.062zm17.766 74.433l-17.333-39.034-6.314-3.101-48.647 102.898h47.295l25-52.88v-7.883z" fill="#40B4E5"/><path d="M152.842 235.032L97.287 117.514 152.842 0h47.295l-55.555 117.514 55.555 117.518h-47.295zm-97.287 0L0 117.514 55.555 0h47.296L47.295 117.514l55.556 117.518H55.555z" fill="#003764"/></svg>' label: 'Quay' showLabel: true toolTip: 'Quay' to: 'https://quay.io'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow frontend:mountPoints:importName
- (必需)与挂载点关联的组件的导入名称。
要将浮动操作按钮配置为仅在特定页面上显示,请在
backstage-plugin-global-floating-action-button
插件中配置global.floatingactionbutton/config
挂载点,并设置visibleOnPaths
属性,如下例所示:- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-bulk-import: # start of fab config mountPoints: - mountPoint: global.floatingactionbutton/config importName: BulkImportPage config: slot: 'page-end' icon: <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#e8eaed"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg> label: 'Bulk import' toolTip: 'Register multiple repositories in bulk' to: /bulk-import/repositories visibleOnPaths: ['/catalog', '/settings'] # end of fab config appIcons: - name: bulkImportIcon importName: BulkImportIcon dynamicRoutes: - path: /bulk-import/repositories importName: BulkImportPage menuItem: icon: bulkImportIcon text: Bulk import
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-bulk-import: # start of fab config mountPoints: - mountPoint: global.floatingactionbutton/config importName: BulkImportPage
1 config: slot: 'page-end' icon: <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#e8eaed"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg> label: 'Bulk import' toolTip: 'Register multiple repositories in bulk' to: /bulk-import/repositories visibleOnPaths: ['/catalog', '/settings'] # end of fab config appIcons: - name: bulkImportIcon importName: BulkImportIcon dynamicRoutes: - path: /bulk-import/repositories importName: BulkImportPage menuItem: icon: bulkImportIcon text: Bulk import
Copy to Clipboard Copied! Toggle word wrap Toggle overflow frontend:mountPoints:importName
- (必需)与挂载点关联的组件的导入名称。
要在特定页面上隐藏浮动操作按钮,请在
backstage-plugin-global-floating-action-button
插件中配置global.floatingactionbutton/config
挂载点按钮,并设置excludeOnPaths
属性,如下例所示:- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-bulk-import: # start of fab config mountPoints: - mountPoint: global.floatingactionbutton/config importName: BulkImportPage config: slot: 'page-end' icon: <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#e8eaed"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg> label: 'Bulk import' toolTip: 'Register multiple repositories in bulk' to: /bulk-import/repositories excludeOnPaths: ['/bulk-import'] # end of fab config appIcons: - name: bulkImportIcon importName: BulkImportIcon dynamicRoutes: - path: /bulk-import/repositories importName: BulkImportPage menuItem: icon: bulkImportIcon text: Bulk import
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import disabled: false pluginConfig: dynamicPlugins: frontend: red-hat-developer-hub.backstage-plugin-bulk-import: # start of fab config mountPoints: - mountPoint: global.floatingactionbutton/config importName: BulkImportPage
1 config: slot: 'page-end' icon: <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#e8eaed"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg> label: 'Bulk import' toolTip: 'Register multiple repositories in bulk' to: /bulk-import/repositories excludeOnPaths: ['/bulk-import'] # end of fab config appIcons: - name: bulkImportIcon importName: BulkImportIcon dynamicRoutes: - path: /bulk-import/repositories importName: BulkImportPage menuItem: icon: bulkImportIcon text: Bulk import
Copy to Clipboard Copied! Toggle word wrap Toggle overflow frontend:mountPoints:importName
- (必需)与挂载点关联的组件的导入名称。
frontend:mountPoints:importName:icon
-
使用
svg
值显示黑色BulkImportPage
图标。