From 4e646eb44c38822e9f3988f16615f7980be80f0d Mon Sep 17 00:00:00 2001 From: mathieuRA Date: Mon, 13 Jun 2022 16:54:05 +0200 Subject: [PATCH 1/7] Wip: feat(xo-web/proxies): display proxy URL --- packages/xo-web/src/common/intl/messages.js | 1 + packages/xo-web/src/xo-app/proxies/index.js | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/packages/xo-web/src/common/intl/messages.js b/packages/xo-web/src/common/intl/messages.js index 40613405973..93b33f0e34a 100644 --- a/packages/xo-web/src/common/intl/messages.js +++ b/packages/xo-web/src/common/intl/messages.js @@ -2423,6 +2423,7 @@ const messages = { proxyTestFailedConnectionIssueMessage: 'Unable to connect to this proxy', proxyLinkedRemotes: 'Click to see linked remotes', proxyLinkedBackups: 'Click to see linked backups', + proxyUrl: 'URL', proxyNetworkDnsPlaceHolder: 'Default to: {dns}', proxyNetworkNetmaskPlaceHolder: 'Default to: {netmask}', proxySrPredicateInfo: 'The select only contains SRs connected to at least one HVM-capable host', diff --git a/packages/xo-web/src/xo-app/proxies/index.js b/packages/xo-web/src/xo-app/proxies/index.js index c3b9074adf3..08689372121 100644 --- a/packages/xo-web/src/xo-app/proxies/index.js +++ b/packages/xo-web/src/xo-app/proxies/index.js @@ -1,6 +1,7 @@ import _ from 'intl' import ActionButton from 'action-button' import addSubscriptions from 'add-subscriptions' +import Copiable from 'copiable' import decorate from 'apply-decorators' import Icon from 'icon' import NoObjects from 'no-objects' @@ -121,6 +122,15 @@ const COLUMNS = [ name: _('name'), sortCriteria: 'name', }, + { + // TODO: replace dummy URL by proxy.url + itemRenderer: ({ url }) => ( + + http://token@address + + ), + name: _('proxyUrl'), + }, { itemRenderer: proxy => , name: _('vm'), From 89f79736f9ebed3c9850666d230dd33e03926bc9 Mon Sep 17 00:00:00 2001 From: mathieuRA Date: Wed, 15 Jun 2022 11:26:21 +0200 Subject: [PATCH 2/7] individual action instead column --- packages/xo-web/src/common/intl/messages.js | 2 +- packages/xo-web/src/xo-app/proxies/index.js | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/packages/xo-web/src/common/intl/messages.js b/packages/xo-web/src/common/intl/messages.js index 93b33f0e34a..118cb88d555 100644 --- a/packages/xo-web/src/common/intl/messages.js +++ b/packages/xo-web/src/common/intl/messages.js @@ -2417,13 +2417,13 @@ const messages = { noProxiesAvailable: 'No proxies available', checkProxyHealth: 'Test your proxy', updateProxyApplianceSettings: 'Update appliance settings', + proxyCopyUrl: 'Copy proxy URL', proxyTestSuccess: 'Test passed for {name}', proxyTestSuccessMessage: 'The proxy appears to work correctly', proxyTestFailed: 'Test failed for {name}', proxyTestFailedConnectionIssueMessage: 'Unable to connect to this proxy', proxyLinkedRemotes: 'Click to see linked remotes', proxyLinkedBackups: 'Click to see linked backups', - proxyUrl: 'URL', proxyNetworkDnsPlaceHolder: 'Default to: {dns}', proxyNetworkNetmaskPlaceHolder: 'Default to: {netmask}', proxySrPredicateInfo: 'The select only contains SRs connected to at least one HVM-capable host', diff --git a/packages/xo-web/src/xo-app/proxies/index.js b/packages/xo-web/src/xo-app/proxies/index.js index 08689372121..fa223574ac2 100644 --- a/packages/xo-web/src/xo-app/proxies/index.js +++ b/packages/xo-web/src/xo-app/proxies/index.js @@ -1,7 +1,6 @@ import _ from 'intl' import ActionButton from 'action-button' import addSubscriptions from 'add-subscriptions' -import Copiable from 'copiable' import decorate from 'apply-decorators' import Icon from 'icon' import NoObjects from 'no-objects' @@ -57,6 +56,14 @@ const ACTIONS = [ ] const INDIVIDUAL_ACTIONS = [ + { + collapsed: true, + disabled: ({ url }) => url === undefined, + handler: ({ url }) => navigator.clipboard.writeText(url), + icon: 'clipboard', + label: _('proxyCopyUrl'), + level: 'primary', + }, { collapsed: true, handler: (proxy, { deployProxy }) => @@ -122,15 +129,6 @@ const COLUMNS = [ name: _('name'), sortCriteria: 'name', }, - { - // TODO: replace dummy URL by proxy.url - itemRenderer: ({ url }) => ( - - http://token@address - - ), - name: _('proxyUrl'), - }, { itemRenderer: proxy => , name: _('vm'), From 720b9e7b3f68275e399e0a80db72fc54374d78f1 Mon Sep 17 00:00:00 2001 From: mathieuRA Date: Wed, 15 Jun 2022 15:09:46 +0200 Subject: [PATCH 3/7] remove primary level --- packages/xo-web/src/xo-app/proxies/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/xo-web/src/xo-app/proxies/index.js b/packages/xo-web/src/xo-app/proxies/index.js index fa223574ac2..3127a70f0ce 100644 --- a/packages/xo-web/src/xo-app/proxies/index.js +++ b/packages/xo-web/src/xo-app/proxies/index.js @@ -62,7 +62,6 @@ const INDIVIDUAL_ACTIONS = [ handler: ({ url }) => navigator.clipboard.writeText(url), icon: 'clipboard', label: _('proxyCopyUrl'), - level: 'primary', }, { collapsed: true, From d4450817f7fd05e67d748b2746275aee3f5b9bfb Mon Sep 17 00:00:00 2001 From: mathieuRA Date: Wed, 15 Jun 2022 15:13:37 +0200 Subject: [PATCH 4/7] changelog --- CHANGELOG.unreleased.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 541f4300bdb..02b4c97d4c6 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -7,6 +7,8 @@ > Users must be able to say: “Nice enhancement, I'm eager to test it” +- [Proxies] Possibility to copy the proxy access url (PR [#6287](https://github.com/vatesfr/xen-orchestra/pull/6287)) + ### Bug fixes > Users must be able to say: “I had this issue, happy to know it's fixed” @@ -31,5 +33,6 @@ - @vates/read-chunk major - xo-server patch +- xo-web minor From c3fd7e1dd4a0a6f1eda3458b4bf226e62589fefd Mon Sep 17 00:00:00 2001 From: mathieuRA Date: Wed, 22 Jun 2022 16:48:03 +0200 Subject: [PATCH 5/7] use copy-to-clipboard --- CHANGELOG.unreleased.md | 2 +- packages/xo-web/src/xo-app/proxies/index.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 02b4c97d4c6..11abdada926 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -7,7 +7,7 @@ > Users must be able to say: “Nice enhancement, I'm eager to test it” -- [Proxies] Possibility to copy the proxy access url (PR [#6287](https://github.com/vatesfr/xen-orchestra/pull/6287)) +- [Proxies] Ability to copy the proxy access URL (PR [#6287](https://github.com/vatesfr/xen-orchestra/pull/6287)) ### Bug fixes diff --git a/packages/xo-web/src/xo-app/proxies/index.js b/packages/xo-web/src/xo-app/proxies/index.js index 3127a70f0ce..6825f01b4ec 100644 --- a/packages/xo-web/src/xo-app/proxies/index.js +++ b/packages/xo-web/src/xo-app/proxies/index.js @@ -1,6 +1,7 @@ import _ from 'intl' import ActionButton from 'action-button' import addSubscriptions from 'add-subscriptions' +import copy from 'copy-to-clipboard' import decorate from 'apply-decorators' import Icon from 'icon' import NoObjects from 'no-objects' @@ -59,7 +60,7 @@ const INDIVIDUAL_ACTIONS = [ { collapsed: true, disabled: ({ url }) => url === undefined, - handler: ({ url }) => navigator.clipboard.writeText(url), + handler: ({ url }) => copy(url), icon: 'clipboard', label: _('proxyCopyUrl'), }, From 9d6cf20e4b3938abbb95264f2b345a22894c0b73 Mon Sep 17 00:00:00 2001 From: mathieuRA Date: Thu, 23 Jun 2022 11:34:37 +0200 Subject: [PATCH 6/7] add tooltip --- packages/xo-web/src/common/intl/messages.js | 1 + packages/xo-web/src/xo-app/proxies/index.js | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/xo-web/src/common/intl/messages.js b/packages/xo-web/src/common/intl/messages.js index 118cb88d555..e3de0d8cffe 100644 --- a/packages/xo-web/src/common/intl/messages.js +++ b/packages/xo-web/src/common/intl/messages.js @@ -131,6 +131,7 @@ const messages = { // ----- Copiable component ----- copyToClipboard: 'Copy to clipboard', copyUuid: 'Copy {uuid}', + copyValue: 'Copy {value}', // ----- Pills ----- pillMaster: 'Master', diff --git a/packages/xo-web/src/xo-app/proxies/index.js b/packages/xo-web/src/xo-app/proxies/index.js index 6825f01b4ec..f9721617f02 100644 --- a/packages/xo-web/src/xo-app/proxies/index.js +++ b/packages/xo-web/src/xo-app/proxies/index.js @@ -29,6 +29,7 @@ import Page from '../page' import deployProxy from './deploy-proxy' import { updateApplianceSettings } from './update-appliance-settings' +import Tooltip from '../../common/tooltip' import { getXoaPlan, SOURCES } from '../../common/xoa-plans' const _editProxy = (value, { name, proxy }) => editProxyAppliance(proxy, { [name]: value }) @@ -62,7 +63,9 @@ const INDIVIDUAL_ACTIONS = [ disabled: ({ url }) => url === undefined, handler: ({ url }) => copy(url), icon: 'clipboard', - label: _('proxyCopyUrl'), + label: ({ url }) => ( + {_('proxyCopyUrl')} + ), }, { collapsed: true, From eb992de47b0d00a572caa84c1b420d9b217ae9d6 Mon Sep 17 00:00:00 2001 From: mathieuRA Date: Fri, 24 Jun 2022 11:09:48 +0200 Subject: [PATCH 7/7] tooltip url not found --- packages/xo-web/src/common/intl/messages.js | 1 + packages/xo-web/src/xo-app/proxies/index.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/xo-web/src/common/intl/messages.js b/packages/xo-web/src/common/intl/messages.js index e3de0d8cffe..ffb8fd4789a 100644 --- a/packages/xo-web/src/common/intl/messages.js +++ b/packages/xo-web/src/common/intl/messages.js @@ -2418,6 +2418,7 @@ const messages = { noProxiesAvailable: 'No proxies available', checkProxyHealth: 'Test your proxy', updateProxyApplianceSettings: 'Update appliance settings', + urlNotFound: 'URL not found', proxyCopyUrl: 'Copy proxy URL', proxyTestSuccess: 'Test passed for {name}', proxyTestSuccessMessage: 'The proxy appears to work correctly', diff --git a/packages/xo-web/src/xo-app/proxies/index.js b/packages/xo-web/src/xo-app/proxies/index.js index f9721617f02..dfb66500b88 100644 --- a/packages/xo-web/src/xo-app/proxies/index.js +++ b/packages/xo-web/src/xo-app/proxies/index.js @@ -64,7 +64,9 @@ const INDIVIDUAL_ACTIONS = [ handler: ({ url }) => copy(url), icon: 'clipboard', label: ({ url }) => ( - {_('proxyCopyUrl')} + + {_('proxyCopyUrl')} + ), }, {