feat(xo-web/proxies): copy proxy URL (#6287)

This commit is contained in:
Mathieu 2022-06-27 15:41:32 +02:00 committed by GitHub
parent 87df917157
commit cfc53c9c94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 0 deletions

View File

@ -8,6 +8,7 @@
> Users must be able to say: “Nice enhancement, I'm eager to test it” > Users must be able to say: “Nice enhancement, I'm eager to test it”
- [Backup] Merge delta backups without copying data when using VHD directories on NFS/SMB/local remote(https://github.com/vatesfr/xen-orchestra/pull/6271)) - [Backup] Merge delta backups without copying data when using VHD directories on NFS/SMB/local remote(https://github.com/vatesfr/xen-orchestra/pull/6271))
- [Proxies] Ability to copy the proxy access URL (PR [#6287](https://github.com/vatesfr/xen-orchestra/pull/6287))
### Bug fixes ### Bug fixes
@ -42,5 +43,6 @@
- xo-remote-parser minor - xo-remote-parser minor
- xo-server minor - xo-server minor
- xo-vmdk-to-vhd patch - xo-vmdk-to-vhd patch
- xo-web minor
<!--packages-end--> <!--packages-end-->

View File

@ -131,6 +131,7 @@ const messages = {
// ----- Copiable component ----- // ----- Copiable component -----
copyToClipboard: 'Copy to clipboard', copyToClipboard: 'Copy to clipboard',
copyUuid: 'Copy {uuid}', copyUuid: 'Copy {uuid}',
copyValue: 'Copy {value}',
// ----- Pills ----- // ----- Pills -----
pillMaster: 'Master', pillMaster: 'Master',
@ -2417,6 +2418,8 @@ const messages = {
noProxiesAvailable: 'No proxies available', noProxiesAvailable: 'No proxies available',
checkProxyHealth: 'Test your proxy', checkProxyHealth: 'Test your proxy',
updateProxyApplianceSettings: 'Update appliance settings', updateProxyApplianceSettings: 'Update appliance settings',
urlNotFound: 'URL not found',
proxyCopyUrl: 'Copy proxy URL',
proxyTestSuccess: 'Test passed for {name}', proxyTestSuccess: 'Test passed for {name}',
proxyTestSuccessMessage: 'The proxy appears to work correctly', proxyTestSuccessMessage: 'The proxy appears to work correctly',
proxyTestFailed: 'Test failed for {name}', proxyTestFailed: 'Test failed for {name}',

View File

@ -1,6 +1,7 @@
import _ from 'intl' import _ from 'intl'
import ActionButton from 'action-button' import ActionButton from 'action-button'
import addSubscriptions from 'add-subscriptions' import addSubscriptions from 'add-subscriptions'
import copy from 'copy-to-clipboard'
import decorate from 'apply-decorators' import decorate from 'apply-decorators'
import Icon from 'icon' import Icon from 'icon'
import NoObjects from 'no-objects' import NoObjects from 'no-objects'
@ -28,6 +29,7 @@ import Page from '../page'
import deployProxy from './deploy-proxy' import deployProxy from './deploy-proxy'
import { updateApplianceSettings } from './update-appliance-settings' import { updateApplianceSettings } from './update-appliance-settings'
import Tooltip from '../../common/tooltip'
import { getXoaPlan, SOURCES } from '../../common/xoa-plans' import { getXoaPlan, SOURCES } from '../../common/xoa-plans'
const _editProxy = (value, { name, proxy }) => editProxyAppliance(proxy, { [name]: value }) const _editProxy = (value, { name, proxy }) => editProxyAppliance(proxy, { [name]: value })
@ -56,6 +58,17 @@ const ACTIONS = [
] ]
const INDIVIDUAL_ACTIONS = [ const INDIVIDUAL_ACTIONS = [
{
collapsed: true,
disabled: ({ url }) => url === undefined,
handler: ({ url }) => copy(url),
icon: 'clipboard',
label: ({ url }) => (
<Tooltip content={url !== undefined ? _('copyValue', { value: url }) : _('urlNotFound')}>
{_('proxyCopyUrl')}
</Tooltip>
),
},
{ {
collapsed: true, collapsed: true,
handler: (proxy, { deployProxy }) => handler: (proxy, { deployProxy }) =>