[pve-devel] [PATCH manager v4 00/49] use proxmox widget toolkit and i18n package
Thomas Lamprecht
t.lamprecht at proxmox.com
Thu Jan 25 11:02:36 CET 2018
This is the joint effort from Dominiks and me to move the PVE WebUI
code base over to the split out 'Proxmox Widget Toolkit'.
The following changes since commit 6c3ea03d963cd20f5f15c5ed04d198c6a38fdd41:
correct the upgradecmd for xtermjs (2018-01-18 10:05:54 +0100)
are available in the git repository at:
git pull --ff-only https://github.com/GamerSource/pve-manager.git full-wtk-migration-merge-v4
for you to fetch changes up to 6d81549a4e45792eab368c688eb0f968664f8da6:
remove now unused translations (2018-01-25 10:11:45 +0100)
The changes in this version are not big and thus I refrain from
sending the whole series to not spam the list completely.
Changes v3 -> v4:
* Dominik did some additional testing (thanks) and found some small
regressions, so fix those - I added the code difference between the
last version at the end, it's not much.
Previous changes and rest from cover letter for reference:
> Thomas part:
> * The Toolkit does not gets deleted entirely, we keep very PVE
> specific VTypes and setting the toolkit environment 'extjs' vs
> 'touch'
> * The "TimeEdit: use schematic declaration" was moved to the widget
> toolkit
> * Add R-b from Dominik where applicable
> * Add patch which removes the whole po/ directory and its references
> at the end
>
> Dominik's part:
> * fix trailing whitespace introduced in the Utils patch.
> * include the 'use pve-i18n package'
> * Add R-b from Thomas where applicable
>
> Note: I depend already on proxmox-widget-toolkit in version 1.0-10,
> as it includes all the fixes since the fork from pve-manager in
> spring last year. The latest bumped version, at time of writing, is
> '1.0-9', thus you may bump it yourself, else apt may complain.
>
> Obviously, nothing should break and we cross tested things, but this
> warrants, nonetheless, quite a bit of testing, maybe some longer time
> on pvetest, IMO.
>
> It would be really great if this gets a little more priority when
> considering applying, as the WebUI is currently frozen, more or less,
> until this gets through. Gives us also more time for testing between
> now and the next point release.
cheers,
Thomas
----------------------------------------------------------------
Dominik Csapak (23):
add proxmox-widget-toolkit to pve gui
use pve-i18n package
use ComboGrid from proxmox-widget-toolkit
use TextField from proxmox-widget-toolkit
use IntegerField from widget toolkit
use TimeView and TimeEdit from widget toolkit
use NetworkView/NetworkEdit from widget toolkit
use NodeAPT grid from widget toolkit
remove unused MigrateAll window
add rrd models
use RRDChart and RRDStore from widget toolkit
use JsonObject from widget toolkit
use UpdateStore from widget toolkit
change pve-invalid-row class to proxmox-invalid-row
use Tasks from widget toolkit
use ServiceView from widget toolkit
add 'service' parameter to syslog api call
use DNSView/DNSEdit from widget toolkit
create some models
use Proxmox.button.StdRemoveButton where possible
use Button from widget toolkit
use Proxmox.Utils instead of PVE.Utils
remove unneeded SendKeyMenu
Thomas Lamprecht (26):
use LanguageSelector from widget toolkit
use BondModeSelector & BondPolicySelector from widget toolkit
use Checkbox from widget toolkit
use RRDTypeSelector from widget toolkit
use KVCombobox from widget toolkit
use ObjectGrid from widget toolkit
dc/OptionView: cleanup & use new features from ObjectGrid
lxc/Resources: cleanup & use new features from ObjectGrid
lxc/Options: cleanup & use a few new features from ObjectGrid
grid/FireWallOptions: cleanup & use new features from ObjectGrid
qemu/Options: cleanup & use new features from ObjectGrid
use PendingObjectGrid from widget toolkit
use windowEdit from widget toolkit
use TaskViewer & TaskProgress window from widget toolkit
use window.PasswordEdit from widget toolkit
use HelpButton from widget toolkit
use DiffStore from widget toolkit
use TimezoneStore from widget toolkit
use ObjectStore from widget toolkit
use RestProxy from widget toolkit
use GaugeWidget from widget toolkit
use LogView from widget toolkit
use InputPanel from widget toolkit
RealmComboBox: use schematic declaration and ViewController
reuse Toolkit from widget toolkit
remove now unused translations
Makefile | 6 +-
PVE/API2/Nodes.pm | 17 +-
PVE/Service/pveproxy.pm | 14 +-
debian/control | 2 +
defines.mk | 1 -
po/Makefile | 27 -
po/ca.po | 2925 -----------------
po/da.po | 3372 -------------------
po/de.po | 3048 -----------------
po/es.po | 3350 -------------------
po/eu.po | 3378 -------------------
po/fa.po | 3341 -------------------
po/fr.po | 3342 -------------------
po/gl.po | 3336 -------------------
po/hu.po | 3299 -------------------
po/it.po | 3262 ------------------
po/ja.po | 4182 ------------------------
po/jsgettext.pl | 91 -
po/messages.pot | 2282 -------------
po/nb.po | 3326 -------------------
po/nn.po | 3324 -------------------
po/pl.po | 3372 -------------------
po/po2js.pl | 99 -
po/pt_BR.po | 3373 -------------------
po/ru.po | 3370 -------------------
po/sl.po | 3355 -------------------
po/sv.po | 3379 -------------------
po/tr.po | 3372 -------------------
po/zh_CN.po | 3383 -------------------
www/css/ext6-pve.css | 4 +-
www/index.html.tpl | 8 +
www/manager6/Makefile | 39 +-
www/manager6/Toolkit.js | 498 +--
www/manager6/Utils.js | 600 +---
www/manager6/Workspace.js | 14 +-
www/manager6/button/Button.js | 96 -
www/manager6/button/HelpButton.js | 78 -
www/manager6/ceph/Config.js | 2 +-
www/manager6/ceph/Crush.js | 2 +-
www/manager6/ceph/Monitor.js | 26 +-
www/manager6/ceph/OSD.js | 28 +-
www/manager6/ceph/Pool.js | 22 +-
www/manager6/ceph/Status.js | 8 +-
www/manager6/data/DiffStore.js | 114 -
www/manager6/data/ObjectStore.js | 35 -
www/manager6/data/PVEProxy.js | 102 -
www/manager6/data/RRDStore.js | 119 -
www/manager6/data/ResourceStore.js | 16 +-
www/manager6/data/TimezoneStore.js | 418 ---
www/manager6/data/UpdateQueue.js | 67 -
www/manager6/data/UpdateStore.js | 68 -
www/manager6/data/model/RRDModels.js | 62 +
www/manager6/data/model/Realm.js | 29 +
www/manager6/data/reader/JsonObject.js | 127 -
www/manager6/dc/ACLView.js | 14 +-
www/manager6/dc/AuthEdit.js | 26 +-
www/manager6/dc/AuthView.js | 27 +-
www/manager6/dc/Backup.js | 42 +-
www/manager6/dc/GroupEdit.js | 4 +-
www/manager6/dc/GroupView.js | 27 +-
www/manager6/dc/Health.js | 6 +-
www/manager6/dc/Log.js | 12 +-
www/manager6/dc/NodeView.js | 2 +-
www/manager6/dc/OptionView.js | 259 +-
www/manager6/dc/PoolEdit.js | 4 +-
www/manager6/dc/PoolView.js | 27 +-
www/manager6/dc/RoleView.js | 2 +-
www/manager6/dc/SecurityGroups.js | 44 +-
www/manager6/dc/StorageView.js | 31 +-
www/manager6/dc/Summary.js | 8 +-
www/manager6/dc/Support.js | 2 +-
www/manager6/dc/Tasks.js | 16 +-
www/manager6/dc/UserEdit.js | 8 +-
www/manager6/dc/UserView.js | 88 +-
www/manager6/form/BackupModeSelector.js | 2 +-
www/manager6/form/BondModeSelector.js | 42 -
www/manager6/form/Boolean.js | 2 +-
www/manager6/form/BridgeSelector.js | 6 +-
www/manager6/form/BusTypeSelector.js | 2 +-
www/manager6/form/CPUModelSelector.js | 4 +-
www/manager6/form/CacheTypeSelector.js | 4 +-
www/manager6/form/CephPoolSelector.js | 2 +-
www/manager6/form/Checkbox.js | 44 -
www/manager6/form/ComboGrid.js | 353 --
www/manager6/form/CompressionSelector.js | 4 +-
www/manager6/form/ContentTypeSelector.js | 2 +-
www/manager6/form/ControllerSelector.js | 3 +-
www/manager6/form/DayOfWeekSelector.js | 2 +-
www/manager6/form/DiskFormatSelector.js | 2 +-
www/manager6/form/DisplaySelector.js | 2 +-
www/manager6/form/EmailNotificationSelector.js | 2 +-
www/manager6/form/FileSelector.js | 6 +-
www/manager6/form/FirewallPolicySelector.js | 2 +-
www/manager6/form/GlobalSearchField.js | 4 +-
www/manager6/form/GroupSelector.js | 4 +-
www/manager6/form/GuestIDSelector.js | 4 +-
www/manager6/form/IPProtocolSelector.js | 2 +-
www/manager6/form/IPRefSelector.js | 4 +-
www/manager6/form/IntegerField.js | 8 -
www/manager6/form/KVComboBox.js | 72 -
www/manager6/form/LanguageSelector.js | 5 -
www/manager6/form/NetworkCardSelector.js | 2 +-
www/manager6/form/NodeSelector.js | 4 +-
www/manager6/form/PoolSelector.js | 4 +-
www/manager6/form/QemuBiosSelector.js | 2 +-
www/manager6/form/RRDTypeSelector.js | 49 -
www/manager6/form/RealmComboBox.js | 56 +-
www/manager6/form/RoleSelector.js | 4 +-
www/manager6/form/ScsiHwSelector.js | 2 +-
www/manager6/form/SecurityGroupSelector.js | 4 +-
www/manager6/form/SnapshotSelector.js | 4 +-
www/manager6/form/StorageSelector.js | 8 +-
www/manager6/form/TextField.js | 36 -
www/manager6/form/USBSelector.js | 4 +-
www/manager6/form/UserSelector.js | 4 +-
www/manager6/form/VMSelector.js | 2 +-
www/manager6/form/VNCKeyboardSelector.js | 2 +-
www/manager6/form/iScsiProviderSelector.js | 2 +-
www/manager6/grid/BackupView.js | 39 +-
www/manager6/grid/FirewallAliases.js | 39 +-
www/manager6/grid/FirewallOptions.js | 135 +-
www/manager6/grid/FirewallRules.js | 76 +-
www/manager6/grid/ObjectGrid.js | 132 -
www/manager6/grid/PendingObjectGrid.js | 95 -
www/manager6/grid/PoolMembers.js | 14 +-
www/manager6/grid/Replication.js | 53 +-
www/manager6/ha/GroupEdit.js | 10 +-
www/manager6/ha/GroupSelector.js | 4 +-
www/manager6/ha/Groups.js | 27 +-
www/manager6/ha/ResourceEdit.js | 12 +-
www/manager6/ha/Resources.js | 33 +-
www/manager6/ha/Status.js | 4 +-
www/manager6/ha/StatusView.js | 4 +-
www/manager6/lxc/CmdMenu.js | 12 +-
www/manager6/lxc/Config.js | 15 +-
www/manager6/lxc/CreateWizard.js | 10 +-
www/manager6/lxc/DNS.js | 18 +-
www/manager6/lxc/MPEdit.js | 20 +-
www/manager6/lxc/MPResize.js | 4 +-
www/manager6/lxc/Network.js | 22 +-
www/manager6/lxc/Options.js | 103 +-
www/manager6/lxc/ResourceEdit.js | 17 +-
www/manager6/lxc/Resources.js | 94 +-
www/manager6/lxc/Snapshot.js | 8 +-
www/manager6/lxc/SnapshotTree.js | 26 +-
www/manager6/lxc/Summary.js | 15 +-
www/manager6/node/APT.js | 210 --
www/manager6/node/Config.js | 46 +-
www/manager6/node/DNSEdit.js | 55 -
www/manager6/node/DNSView.js | 48 -
www/manager6/node/Disks.js | 26 +-
www/manager6/node/NetworkEdit.js | 325 --
www/manager6/node/NetworkView.js | 351 --
www/manager6/node/ServiceView.js | 164 -
www/manager6/node/StatusView.js | 2 +-
www/manager6/node/Subscription.js | 12 +-
www/manager6/node/Summary.js | 19 +-
www/manager6/node/Tasks.js | 175 -
www/manager6/node/TimeEdit.js | 39 -
www/manager6/node/TimeView.js | 57 -
www/manager6/panel/ConfigPanel.js | 2 +-
www/manager6/panel/GaugeWidget.js | 96 -
www/manager6/panel/GuestStatusView.js | 2 +-
www/manager6/panel/IPSet.js | 77 +-
www/manager6/panel/InputPanel.js | 124 -
www/manager6/panel/LogView.js | 274 --
www/manager6/panel/NotesView.js | 2 +-
www/manager6/panel/RRDChart.js | 187 --
www/manager6/panel/RRDView.js | 112 -
www/manager6/panel/StatusView.js | 2 +-
www/manager6/pool/StatusView.js | 2 +-
www/manager6/qemu/BootOrderEdit.js | 12 +-
www/manager6/qemu/CDEdit.js | 4 +-
www/manager6/qemu/CPUOptions.js | 11 +-
www/manager6/qemu/Clone.js | 10 +-
www/manager6/qemu/CmdMenu.js | 14 +-
www/manager6/qemu/Config.js | 21 +-
www/manager6/qemu/CreateWizard.js | 2 +-
www/manager6/qemu/DisplayEdit.js | 2 +-
www/manager6/qemu/HDEdit.js | 14 +-
www/manager6/qemu/HDEfi.js | 4 +-
www/manager6/qemu/HDMove.js | 6 +-
www/manager6/qemu/HDResize.js | 2 +-
www/manager6/qemu/HDThrottle.js | 12 +-
www/manager6/qemu/HardwareView.js | 24 +-
www/manager6/qemu/KeyboardEdit.js | 2 +-
www/manager6/qemu/MemoryEdit.js | 12 +-
www/manager6/qemu/Monitor.js | 2 +-
www/manager6/qemu/NetworkEdit.js | 10 +-
www/manager6/qemu/OSTypeEdit.js | 4 +-
www/manager6/qemu/Options.js | 113 +-
www/manager6/qemu/ProcessorEdit.js | 12 +-
www/manager6/qemu/QemuBiosEdit.js | 4 +-
www/manager6/qemu/ScsiHwEdit.js | 2 +-
www/manager6/qemu/SendKeyMenu.js | 114 -
www/manager6/qemu/Smbios1Edit.js | 4 +-
www/manager6/qemu/Snapshot.js | 10 +-
www/manager6/qemu/SnapshotTree.js | 26 +-
www/manager6/qemu/Summary.js | 15 +-
www/manager6/qemu/TemplateMenu.js | 2 +-
www/manager6/qemu/USBEdit.js | 4 +-
www/manager6/storage/ContentView.js | 55 +-
www/manager6/storage/DirEdit.js | 10 +-
www/manager6/storage/GlusterFsEdit.js | 12 +-
www/manager6/storage/IScsiEdit.js | 8 +-
www/manager6/storage/LVMEdit.js | 12 +-
www/manager6/storage/LvmThinEdit.js | 10 +-
www/manager6/storage/NFSEdit.js | 10 +-
www/manager6/storage/RBDEdit.js | 8 +-
www/manager6/storage/SheepdogEdit.js | 6 +-
www/manager6/storage/StatusView.js | 4 +-
www/manager6/storage/Summary.js | 11 +-
www/manager6/storage/ZFSEdit.js | 10 +-
www/manager6/storage/ZFSPoolEdit.js | 10 +-
www/manager6/window/Backup.js | 8 +-
www/manager6/window/BackupConfig.js | 2 +-
www/manager6/window/BulkAction.js | 6 +-
www/manager6/window/Edit.js | 308 --
www/manager6/window/LoginWindow.js | 2 +-
www/manager6/window/Migrate.js | 10 +-
www/manager6/window/MigrateAll.js | 85 -
www/manager6/window/NotesEdit.js | 2 +-
www/manager6/window/Restore.js | 12 +-
www/manager6/window/SafeDestroy.js | 10 +-
www/manager6/window/Settings.js | 8 +-
www/manager6/window/StartupEdit.js | 4 +-
www/manager6/window/TaskViewer.js | 223 --
www/manager6/window/Wizard.js | 8 +-
www/mobile/Datacenter.js | 4 +-
www/mobile/NodeSummary.js | 6 +-
www/mobile/TaskList.js | 2 +-
www/mobile/TaskViewer.js | 4 +-
www/mobile/Toolkit.js | 2 +-
www/mobile/VMSummaryBase.js | 6 +-
www/mobile/Workspace.js | 4 +-
www/touch/index.html.tpl | 12 +-
236 files changed, 1163 insertions(+), 77292 deletions(-)
delete mode 100644 po/Makefile
delete mode 100644 po/ca.po
delete mode 100644 po/da.po
delete mode 100644 po/de.po
delete mode 100644 po/es.po
delete mode 100644 po/eu.po
delete mode 100644 po/fa.po
delete mode 100644 po/fr.po
delete mode 100644 po/gl.po
delete mode 100644 po/hu.po
delete mode 100644 po/it.po
delete mode 100644 po/ja.po
delete mode 100755 po/jsgettext.pl
delete mode 100644 po/messages.pot
delete mode 100644 po/nb.po
delete mode 100644 po/nn.po
delete mode 100644 po/pl.po
delete mode 100755 po/po2js.pl
delete mode 100644 po/pt_BR.po
delete mode 100644 po/ru.po
delete mode 100644 po/sl.po
delete mode 100644 po/sv.po
delete mode 100644 po/tr.po
delete mode 100644 po/zh_CN.po
delete mode 100644 www/manager6/button/Button.js
delete mode 100644 www/manager6/button/HelpButton.js
delete mode 100644 www/manager6/data/DiffStore.js
delete mode 100644 www/manager6/data/ObjectStore.js
delete mode 100644 www/manager6/data/PVEProxy.js
delete mode 100644 www/manager6/data/RRDStore.js
delete mode 100644 www/manager6/data/TimezoneStore.js
delete mode 100644 www/manager6/data/UpdateQueue.js
delete mode 100644 www/manager6/data/UpdateStore.js
create mode 100644 www/manager6/data/model/RRDModels.js
create mode 100644 www/manager6/data/model/Realm.js
delete mode 100644 www/manager6/data/reader/JsonObject.js
delete mode 100644 www/manager6/form/BondModeSelector.js
delete mode 100644 www/manager6/form/Checkbox.js
delete mode 100644 www/manager6/form/ComboGrid.js
delete mode 100644 www/manager6/form/IntegerField.js
delete mode 100644 www/manager6/form/KVComboBox.js
delete mode 100644 www/manager6/form/LanguageSelector.js
delete mode 100644 www/manager6/form/RRDTypeSelector.js
delete mode 100644 www/manager6/form/TextField.js
delete mode 100644 www/manager6/grid/ObjectGrid.js
delete mode 100644 www/manager6/grid/PendingObjectGrid.js
delete mode 100644 www/manager6/node/APT.js
delete mode 100644 www/manager6/node/DNSEdit.js
delete mode 100644 www/manager6/node/DNSView.js
delete mode 100644 www/manager6/node/NetworkEdit.js
delete mode 100644 www/manager6/node/NetworkView.js
delete mode 100644 www/manager6/node/ServiceView.js
delete mode 100644 www/manager6/node/Tasks.js
delete mode 100644 www/manager6/node/TimeEdit.js
delete mode 100644 www/manager6/node/TimeView.js
delete mode 100644 www/manager6/panel/GaugeWidget.js
delete mode 100644 www/manager6/panel/InputPanel.js
delete mode 100644 www/manager6/panel/LogView.js
delete mode 100644 www/manager6/panel/RRDChart.js
delete mode 100644 www/manager6/panel/RRDView.js
delete mode 100644 www/manager6/qemu/SendKeyMenu.js
delete mode 100644 www/manager6/window/Edit.js
delete mode 100644 www/manager6/window/MigrateAll.js
delete mode 100644 www/manager6/window/TaskViewer.js
# git diff full-wtk-migration-merge-v3 full-wtk-migration-merge-v4
----8<----
diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
index 1150bf05..1d67238e 100644
--- a/www/manager6/Utils.js
+++ b/www/manager6/Utils.js
@@ -269,7 +269,7 @@ Ext.define('PVE.Utils', { utilities: {
},
render_kvm_language: function (value) {
- if (!value) {
+ if (!value || value === '__default__') {
return Proxmox.Utils.defaultText;
}
var text = PVE.Utils.kvm_keymaps[value];
diff --git a/www/manager6/dc/OptionView.js b/www/manager6/dc/OptionView.js
index 8e2c13da..6b976be6 100644
--- a/www/manager6/dc/OptionView.js
+++ b/www/manager6/dc/OptionView.js
@@ -11,7 +11,9 @@ Ext.define('PVE.dc.OptionView', {
me.add_combobox_row('keyboard', gettext('Keyboard Layout'), {
renderer: PVE.Utils.render_kvm_language,
- comboItems: PVE.Utils.kvm_keymap_array()
+ comboItems: PVE.Utils.kvm_keymap_array(),
+ defaultValue: '__default__',
+ deleteEmpty: true
});
me.add_text_row('http_proxy', gettext('HTTP proxy'), {
defaultValue: Proxmox.Utils.noneText,
diff --git a/www/manager6/lxc/Resources.js b/www/manager6/lxc/Resources.js
index 0d867892..55514cdd 100644
--- a/www/manager6/lxc/Resources.js
+++ b/www/manager6/lxc/Resources.js
@@ -5,6 +5,17 @@ Ext.define('PVE.lxc.RessourceView', {
onlineHelp: 'pct_configuration',
+ renderKey: function(key, metaData, rec, rowIndex, colIndex, store) {
+ var me = this;
+ var rowdef = me.rows[key] || {};
+
+ metaData.tdAttr = "valign=middle";
+ if (rowdef.tdCls) {
+ metaData.tdCls = rowdef.tdCls;
+ }
+ return rowdef.header || key;
+ },
+
initComponent : function() {
var me = this;
var i, confid;
diff --git a/www/manager6/lxc/Snapshot.js b/www/manager6/lxc/Snapshot.js
index 5a0b00c2..bdb99018 100644
--- a/www/manager6/lxc/Snapshot.js
+++ b/www/manager6/lxc/Snapshot.js
@@ -86,7 +86,7 @@ Ext.define('PVE.window.LxcSnapshot', {
items.push({
xtype: 'displayfield',
name: 'snaptime',
- renderer: Proxmox.Utils.render_timestamp_human_readable,
+ renderer: PVE.Utils.render_timestamp_human_readable,
fieldLabel: gettext('Timestamp')
});
}
diff --git a/www/manager6/qemu/Snapshot.js b/www/manager6/qemu/Snapshot.js
index 1dffcb65..59fae1a2 100644
--- a/www/manager6/qemu/Snapshot.js
+++ b/www/manager6/qemu/Snapshot.js
@@ -86,7 +86,7 @@ Ext.define('PVE.window.Snapshot', {
items.push({
xtype: 'displayfield',
name: 'snaptime',
- renderer: Proxmox.Utils.render_timestamp_human_readable,
+ renderer: PVE.Utils.render_timestamp_human_readable,
fieldLabel: gettext('Timestamp')
});
} else {
More information about the pve-devel
mailing list