Dominik Csapak [Wed, 16 Mar 2016 14:58:14 +0000 (15:58 +0100)]
ext6migrate: make some (sub)tabs lazy
make following (sub)tabs lazy:
* ceph
* firewall
* ha
* search
* lxc/Resources
we have to add layout: 'fit', whereever we make a whole tab lazy
and we have to move the title of the search tab to the instantiaton
instead of the class definition, because the search grid is now a
sub component instead of a tab
Dominik Csapak [Wed, 16 Mar 2016 14:58:13 +0000 (15:58 +0100)]
ext6migrate: prepare panels for lazyitems
since we want to make some tabpanels lazyitems,
we have to change the behaviour of the configpanel
and the subconfigpanel
in the configpanel, we have to manually fire the hide event
for the tabs which are lazyitems, because they will not
be direct children of our tabpanel and thus their
hide event will not fire
in the subconfigpanel we have to manually save the to
be active tab, since at this point, the subtabs are not there
yet (and cannot be activated)
also in the afterrender event, we only want to set the
activetab when we have none, and we only set the first,
if we have none saved
Dominik Csapak [Wed, 16 Mar 2016 14:58:09 +0000 (15:58 +0100)]
ext6migrate: fix Console butten text (again)
since sometimes, we set the text of the console button
('shell' or 'upgrade')
we do not want to override this everytime, but only
when me.text === null
we cannot use applyIf either, because this overwrites only
if the field is undefined, not null
Emmanuel Kasper [Tue, 15 Mar 2016 13:12:58 +0000 (14:12 +0100)]
Enlarge Wizard window vertically to accomodate all our LXC settings
Without this, the summary grid in the end of the LXC creation
wizard needs to be scrolled to see some settings.
Note that we still want to use a fixed height, so that all wizard
panels have the same height and next/previous buttons
are always displayed at the same place.
Dominik Csapak [Tue, 15 Mar 2016 12:43:38 +0000 (13:43 +0100)]
ext6migrate: change VM selector in pool to grid
this changes the vm add window in a pool
from a VMIDSelector (a numberfield)
to a grid of vms which are currently in no pool
where you can select more than one
Thomas Lamprecht [Tue, 15 Mar 2016 09:55:47 +0000 (10:55 +0100)]
ext6: datepicker workaround
Witouth this we can get into issues where only the picker is visible
and the rest of the GUI is completely grey when selecting a date
with the date picker, generally this happens when a scroll field is
involved (e.g., syslog).
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Same code as there.
A issue with the date picker which can be triggered by scrolling up
and then selecting a date will be fixed in ExtJS 6.0.2 (not yet
released), a workaround is in the next patch.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Emmanuel Kasper [Mon, 14 Mar 2016 12:35:09 +0000 (13:35 +0100)]
css improvements for crisp theme
* usability improvement for enabled buttons:
in the default theme, ExtJS uses two different nuances of grey to
distinguish enabled or disabled buttons
the problem is that compared to the full black of the panels titles, it gives
the impression that everything is disabled (the contrast is not strong
enough between the two grey nuances)
the fix is to replace the dark grey of an 'enabled' button with black, similar with
what we had in ExtJS and the Classic theme
* re add menu header
this was lost when moving to crisp theme
Dominik Csapak [Mon, 14 Mar 2016 12:41:22 +0000 (13:41 +0100)]
ext6migrate: fix store load race condition
when we click on a node/container/vm and quickly
click on something else, there might be a race condition,
where the store finished loading and we try to change
dom elements, which are not there anymore
so we change the store.on to me.mon, which
deletes the handler when the component is gone
in the logview panel we use API2Request, where
we cannot do this, so we check if the component
is destroyed manually
also we change this whenever we change a dom element
in a callback
Emmanuel Kasper [Mon, 14 Mar 2016 12:35:11 +0000 (13:35 +0100)]
Fix LXC summary view:
* replace scrollable with autoScroll and move to prototype body
* use 'activate' to load store on F5
* do not set a height on the StatusView component: it hides some rows,
and the framework sets a good working default height
Emmanuel Kasper [Mon, 14 Mar 2016 09:31:43 +0000 (10:31 +0100)]
update leaf nodes instead of removing / readding them
if the selected node has its status changed between stop &
running, the node was removed and then readded
during the remove / add process the 'selected' status of the node
was lost if it has one
instead of deleting / readding the node, we update now its content
this was the default behaviour for server nodes, but not for leaf nodes
this fixes a graphical bug where starting/stopping a VM/container would lose
the current selection in the ressource tree
Dominik Csapak [Fri, 11 Mar 2016 14:57:33 +0000 (15:57 +0100)]
ext6migrate: change setContent behaviour of workspace
instead of removing the current content and setting the new
we add the new content to the next card of the content container
(which now has the card layout, same as in the wizard)
then seamlessly change the active card, and then destroy the old card
with a delay
this has three reasons:
on a change, the panel does not flicker anymore
we give the old content time to finish ajax request (avoid race
conditions)
and we (hopefully) load the new content faster as the destroy
process can take some time
Dominik Csapak [Thu, 10 Mar 2016 10:46:57 +0000 (11:46 +0100)]
ext6migrate: fix ContentView
we move the static configuration to the class definition
we change the deprecated autoScroll to scrollable
we change applyIf to apply (when appropriate)
we change "new Ext..." to Ext.create
we change the event from show to activate
also we change the button height of the upload to 32
so that it matches the textfield (looks weird otherwise)
Allow non-self-signed override certificate for API
if the files pveproxy-ssl.pem and pveproxy-ssl.key are
available for a node (i.e., in /etc/pve/<node>/), they will
be used as TLS certificate and private key for the web
interface and API of this node.
Note: the Spice and non-websocket VNC connections are still
using the self-signed certificate and key in pve-ssl.pem
and pve-ssl.key.