diff --git a/www/css/ext-pve.css b/www/css/ext-pve.css index ce829a33..dd16b175 100644 --- a/www/css/ext-pve.css +++ b/www/css/ext-pve.css @@ -15,6 +15,22 @@ background-image:url(../images/display.png); } +.x-grid-checkheader { + height: 14px; + background-image: url(../images/unchecked.png); + background-position: 50% -2px; + background-repeat: no-repeat; + background-color: transparent; +} + +.x-grid-checkheader-checked { + background-image: url(../images/checked.png); +} + +.x-grid-checkheader-editor .x-form-cb-wrap { + text-align: center; +} + .x-selectable, .x-selectable * { -moz-user-select: text!important; -khtml-user-select: text!important; diff --git a/www/images/Makefile b/www/images/Makefile index 7363d50a..a9b7c478 100644 --- a/www/images/Makefile +++ b/www/images/Makefile @@ -10,7 +10,12 @@ all: # tigervnc.png converted from tigervnc sources # (tigervnc.org/media/tigervnc_16.svg) +# checked.png converted from extjs examples/ux/css/images/checked.gif +# unchecked.png converted from extjs examples/ux/css/images/unchecked.gif + GNOME_IMAGES = \ + checked.png \ + unchecked.png \ start.png \ stop.png \ gtk-stop.png \ diff --git a/www/images/checked.png b/www/images/checked.png new file mode 100644 index 00000000..0dc1ee7d Binary files /dev/null and b/www/images/checked.png differ diff --git a/www/images/unchecked.png b/www/images/unchecked.png new file mode 100644 index 00000000..32a497ad Binary files /dev/null and b/www/images/unchecked.png differ diff --git a/www/manager/Makefile b/www/manager/Makefile index 7b872470..48749396 100644 --- a/www/manager/Makefile +++ b/www/manager/Makefile @@ -43,6 +43,8 @@ JSSRC= \ form/FileSelector.js \ form/StorageSelector.js \ form/BridgeSelector.js \ + form/SecurityGroupSelector.js \ + form/IPSetSelector.js \ form/CPUModelSelector.js \ form/VNCKeyboardSelector.js \ form/LanguageSelector.js \ @@ -53,6 +55,7 @@ JSSRC= \ form/DayOfWeekSelector.js \ form/BackupModeSelector.js \ form/ScsiHwSelector.js \ + form/FirewallPolicySelector.js \ dc/Tasks.js \ dc/Log.js \ panel/StatusPanel.js \ @@ -66,14 +69,21 @@ JSSRC= \ window/Backup.js \ window/Restore.js \ panel/NotesView.js \ + grid/CheckColumn.js \ grid/SelectFeature.js \ grid/ObjectGrid.js \ grid/ResourceGrid.js \ grid/PoolMembers.js \ + grid/FirewallRules.js \ + grid/FirewallAliases.js \ + grid/FirewallOptions.js \ tree/ResourceTree.js \ + panel/IPSet.js \ panel/ConfigPanel.js \ + panel/SubConfigPanel.js \ grid/BackupView.js \ panel/LogView.js \ + panel/Firewall.js \ ceph/Pool.js \ ceph/OSD.js \ ceph/Disks.js \ @@ -161,6 +171,7 @@ JSSRC= \ dc/Backup.js \ dc/HAConfig.js \ dc/Support.js \ + dc/SecurityGroups.js \ dc/Config.js \ Workspace.js diff --git a/www/manager/grid/CheckColumn.js b/www/manager/grid/CheckColumn.js new file mode 100644 index 00000000..b57aca7c --- /dev/null +++ b/www/manager/grid/CheckColumn.js @@ -0,0 +1,38 @@ + +// partly copied from extjs/examples/ux/CheckColumn.js + +Ext.define('PVE.CheckColumn', { + extend: 'Ext.grid.column.Column', + alias: 'widget.checkcolumn', + + constructor: function(cfg) { + this.renderer = function(value){ + var cssPrefix = Ext.baseCSSPrefix, + cls = [cssPrefix + 'grid-checkheader']; + + if (value) { + cls.push(cssPrefix + 'grid-checkheader-checked'); + } + return '