mirror of
https://git.proxmox.com/git/proxmox-backup
synced 2025-06-05 06:51:36 +00:00

this has a similar functionality as the 'show fingerprint' button, but for repository strings that are needed e.g. for the cli included with and without the current user for convenience Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> [ TL: squash in window title rename and iconCls fix for light-mode ] Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
127 lines
2.4 KiB
JavaScript
127 lines
2.4 KiB
JavaScript
Ext.define('PBS.window.DatastoreRepoInfo', {
|
|
extend: 'Ext.window.Window',
|
|
alias: 'widget.pbsDatastoreRepoInfo',
|
|
mixins: ['Proxmox.Mixin.CBind'],
|
|
|
|
title: gettext('Connection Information'),
|
|
|
|
modal: true,
|
|
resizable: false,
|
|
width: 600,
|
|
layout: 'anchor',
|
|
bodyPadding: 10,
|
|
|
|
cbindData: function() {
|
|
let me = this;
|
|
let host = window.location.hostname;
|
|
let hostname = host;
|
|
if (window.location.port.toString() !== "8007") {
|
|
host += `:${window.location.port}`;
|
|
}
|
|
let datastore = me.datastore;
|
|
let user = Proxmox.UserName;
|
|
let repository = `${host}:${datastore}`;
|
|
let repositoryWithUser = `${user}@${host}:${datastore}`;
|
|
|
|
return {
|
|
datastore,
|
|
hostname,
|
|
repository,
|
|
repositoryWithUser,
|
|
};
|
|
},
|
|
|
|
defaults: {
|
|
xtype: 'pbsCopyField',
|
|
labelWidth: 120,
|
|
},
|
|
|
|
items: [
|
|
{
|
|
fieldLabel: gettext('Datastore'),
|
|
cbind: {
|
|
value: '{datastore}',
|
|
},
|
|
},
|
|
{
|
|
fieldLabel: gettext('Hostname/IP'),
|
|
cbind: {
|
|
value: '{hostname}',
|
|
},
|
|
},
|
|
{
|
|
xtype: 'displayfield',
|
|
value: '',
|
|
labelWidth: 500,
|
|
fieldLabel: gettext('Repository for CLI and API'),
|
|
padding: '10 0 0 0',
|
|
},
|
|
{
|
|
fieldLabel: gettext('Repository'),
|
|
cbind: {
|
|
value: '{repository}',
|
|
},
|
|
},
|
|
{
|
|
fieldLabel: gettext('With Current User'),
|
|
cbind: {
|
|
value: '{repositoryWithUser}',
|
|
},
|
|
},
|
|
],
|
|
buttons: [
|
|
{
|
|
xtype: 'proxmoxHelpButton',
|
|
onlineHelp: 'client_repository',
|
|
hidden: false,
|
|
},
|
|
'->',
|
|
{
|
|
text: gettext('Ok'),
|
|
handler: function() {
|
|
this.up('window').close();
|
|
},
|
|
},
|
|
],
|
|
});
|
|
|
|
Ext.define('PBS.form.CopyField', {
|
|
extend: 'Ext.form.FieldContainer',
|
|
alias: 'widget.pbsCopyField',
|
|
|
|
layout: 'hbox',
|
|
|
|
items: [
|
|
{
|
|
xtype: 'textfield',
|
|
itemId: 'inputField',
|
|
editable: false,
|
|
flex: 1,
|
|
},
|
|
{
|
|
xtype: 'button',
|
|
margin: '0 0 0 10',
|
|
iconCls: 'fa fa-clipboard x-btn-icon-el-default-toolbar-small',
|
|
baseCls: 'x-btn',
|
|
cls: 'x-btn-default-toolbar-small proxmox-inline-button',
|
|
handler: function() {
|
|
let me = this;
|
|
let field = me.up('pbsCopyField');
|
|
let el = field.getComponent('inputField')?.inputEl;
|
|
if (!el?.dom) {
|
|
return;
|
|
}
|
|
el.dom.select();
|
|
document.execCommand("copy");
|
|
},
|
|
text: gettext('Copy'),
|
|
},
|
|
],
|
|
|
|
initComponent: function() {
|
|
let me = this;
|
|
me.callParent();
|
|
me.getComponent('inputField').setValue(me.value);
|
|
},
|
|
});
|