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 { _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel