/* overwrite folder icons of theme */
.x-tree-icon-parent,
-.x-tree-icon-parent-expanded {
+.x-tree-icon-parent-expanded,
+.x-tree-icon-leaf {
background: none;
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
/* tree icons */
/* big symbols */
-.x-fa-tree,
-.x-fa-tree-running,
-.x-fa-tree-stopped,
-.x-fa-tree-paused,
-.x-fa-tree-online,
-.x-fa-tree-offline,
-.x-fa-tree-template-lxc,
-.x-fa-tree-template-qemu,
-.x-fa-tree-datacenter {
+.x-tree-icon-custom {
font-size: 1.25em;
line-height: 1.6em;
color: #555;
}
/* grid icons (resources, etc) */
-.x-fa-grid,
-.x-fa-grid-running,
-.x-fa-grid-stopped,
-.x-fa-grid-paused,
-.x-fa-grid-online,
-.x-fa-grid-offline,
-.x-fa-grid-template-lxc,
-.x-fa-grid-template-qemu {
+.x-grid-icon-custom {
font-size: 1.25em;
color: #555;
margin-right: 5px;
}
/* the running vms are darker */
-.x-fa-tree-running,
-.x-fa-grid-running {
+.x-tree-icon-custom.running,
+.x-grid-icon-custom.running {
color: #000;
}
+/* stopped and offline items are greyed out */
+.x-tree-icon-custom.stopped,
+.x-grid-icon-custom.stopped,
+.x-tree-icon-custom.offline,
+.x-grid-icon-custom.offline {
+ color: #cfcfcf;
+}
+
/* the small icons */
-.x-fa-tree-running:after,
-.x-fa-tree-stopped:after,
-.x-fa-tree-paused:after,
-.x-fa-tree-template-lxc:after,
-.x-fa-tree-template-qemu:after,
-.x-fa-tree-online:after,
-.x-fa-tree-offline:after,
-.x-fa-grid:after,
-.x-fa-grid-running:after,
-.x-fa-grid-stopped:after,
-.x-fa-grid-paused:after,
-.x-fa-grid-online:after,
-.x-fa-grid-offline:after,
-.x-fa-grid-template-lxc:after,
-.x-fa-grid-template-qemu:after {
+.x-tree-icon-custom:after,
+.x-grid-icon-custom:after {
position: relative;
left: -5px;
top: 1px;
content: "\ ";
}
-.x-fa-tree-online:after,
-.x-fa-grid-online:after {
+/* the green check */
+.x-tree-icon-custom.online:after,
+.x-grid-icon-custom.online:after {
content: "\f058";
- color: #009828;
+ color: #21BF4B;
}
-.x-fa-tree-offline:after,
-.x-fa-grid-offline:after {
- content: "\f057";
- color: #CC1800;
+/* the grey '?' */
+.x-tree-icon-custom.unknown:after,
+.x-grid-icon-custom.unknown:after {
+ content: "\f059";
+ color: #888;
}
-.x-fa-tree-running:after,
-.x-fa-grid-running:after {
+/* the play symbol */
+.x-tree-icon-custom.running:after,
+.x-grid-icon-custom.running:after {
content: "\f04b";
- color: #009828;
+ color: #21BF4B;
}
-.x-fa-tree-paused:after,
-.x-fa-grid-paused:after {
+/* the pause symbol */
+.x-tree-icon-custom.paused:after,
+.x-grid-icon-custom.paused:after {
content: "\f04c";
color: #CC8E00;
font-size: 0.6em;
}
-.x-fa-tree-stopped,
-.x-fa-grid-stopped,
-.x-fa-tree-offline,
-.x-fa-grid-offline {
- color: #cfcfcf;
+/* the suspend symbol */
+.x-tree-icon-custom.suspended:after,
+.x-grid-icon-custom.suspended:after {
+ content: "\f04c";
+ color: #CC8E00;
+ font-size: 0.6em;
}
-/*
-.x-fa-tree-stopped:after {
- content: "\f04d";
- color: #f5c5c5;
- font-size: 0.5em;
+/* lock icons */
+.x-tree-icon-custom.locked:after,
+.x-grid-icon-custom.locked:after {
+ content: "\f023";
+ color: #000000;
+}
+
+.x-tree-icon-custom.lock-backup:after,
+.x-grid-icon-custom.lock-backup:after {
+ content: "\f0c7";
+ color: #000000;
}
-*/
-.x-fa-tree-template-lxc:after,
-.x-fa-grid-template-lxc:after {
+.x-tree-icon-custom.lock-migrate:after,
+.x-grid-icon-custom.lock-migrate:after {
+ content: "\f1d9";
+ /* color: #21BF4B; */
+ color: #000000;
+ font-size: 0.75em;
+}
+
+
+.x-tree-icon-custom.lock-suspending:after,
+.x-grid-icon-custom.lock-suspending:after {
+ content: "\f019";
+ color: #CC8E00;
+ font-size: 0.75em;
+}
+
+.x-tree-icon-custom.lock-suspended:after,
+.x-grid-icon-custom.lock-suspended:after {
+ content: "\f019";
+ color: #000000;
+ font-size: 0.75em;
+}
+
+/* yellow ! triangle */
+.x-tree-icon-custom.pending:after,
+.x-grid-icon-custom.pending:after,
+.x-tree-icon-custom.io-error:after,
+.x-grid-icon-custom.io-error:after,
+.x-tree-icon-custom.internal-error:after,
+.x-grid-icon-custom.internal-error:after,
+.x-tree-icon-custom.guest-panicked:after,
+.x-grid-icon-custom.guest-panicked:after {
+ content: "\f071";
+ color: #FFCC00;
+}
+
+/* the red x */
+.x-tree-icon-custom.error:after,
+.x-grid-icon-custom.error:after,
+.x-tree-icon-custom.offline:after,
+.x-grid-icon-custom.offline:after,
+.x-tree-icon-custom.ha-error:after,
+.x-grid-icon-custom.ha-error:after {
+ content: "\f057";
+ color: #CC1800;
+}
+
+/*
+ * using background-image doesn't work for treelist-items, so use content. See:
+ * https://forum.sencha.com/forum/showthread.php?339656-extjs-6-treelist-custom-iconcls-can-not-working
+ */
+.pve-itype-treelist-item-icon-cdrom {
+ top: 50%;
+ transform: translateY(-50%);
+ content: url(../images/icon-cd.png);
+}
+
+/* the lxc template */
+.x-tree-icon-custom.lxc:after,
+.x-grid-icon-custom.lxc:after {
content: "\f1b2";
background: #fff;
}
+.x-treelist-item-icon.lxc:after {
+ content: "\f1b2";
+ background: #fff;
+ font-size: 0.75em;
+ margin-left: -25%;
+}
-.x-fa-tree-template-qemu:after,
-.x-fa-grid-template-qemu:after {
+/* the qemu template */
+.x-tree-icon-custom.qemu:after,
+.x-grid-icon-custom.qemu:after {
content : "\f108";
background: #fff;
}
-.x-grid-item-over
-.x-fa-tree-template-qemu:after,
-.x-grid-item-over
-.x-fa-tree-template-lxc:after,
-.x-grid-item-over
-.x-fa-grid-template-qemu:after,
-.x-grid-item-over
-.x-fa-grid-template-lxc:after {
+/* fixes background on mouseover and selected items */
+.x-treelist-item-over .lxc:after,
+.x-grid-item-over .qemu:after,
+.x-grid-item-over .lxc:after {
background-color: #e2eff9;
text-shadow: -1px 0px 2px #e2eff9;
}
-.x-grid-item-selected
-.x-fa-tree-template-qemu:after,
-.x-grid-item-selected
-.x-fa-tree-template-lxc:after,
-.x-grid-item-selected
-.x-fa-grid-template-qemu:after,
-.x-grid-item-selected
-.x-fa-grid-template-lxc:after {
+.x-treelist-item-selected .lxc:after,
+.x-grid-item-selected .qemu:after,
+.x-grid-item-selected .lxc:after {
background-color: #c2ddf2;
text-shadow: -1px 0px 2px #c2ddf2;
}
.pve-itype-icon-virt-viewer,
.pve-itype-icon-tigervnc,
.pve-itype-icon-novnc,
+.pve-itype-icon-xtermjs,
.pve-itype-icon-display,
-.pve-itype-icon-memory,
-.pve-itype-icon-processor,
.pve-itype-icon-network,
.pve-itype-icon-network-server,
.pve-itype-icon-keyboard,
.pve-itype-icon-node-running,
.pve-itype-icon-storage,
.pve-itype-icon-pool,
-.pve-itype-icon-itype
+.pve-itype-icon-itype,
+.pve-itype-icon-usb,
+.pve-itype-icon-serial,
+.pve-itype-icon-cloud,
+.pve-itype-icon-pci,
+.pve-itype-icon-die
{
background-repeat: no-repeat;
background-position:3px center;
padding-left: 20px;
}
+/* fix alignment for VM hardware add menu */
+.pve-add-hw-menu .x-menu-item-icon:not(.fa) {
+ left: 1px;
+}
+
+.pve-itype-fa > .x-grid-cell-inner{
+ padding-left: 3px;
+}
+
+.pve-grid-fa {
+ margin-right: 10px;
+}
+
.pve-itype-icon-qemu,
.x-tree-node-computer,
.x-grid-tree-node-expanded .x-tree-node-computer
background-image:url(../images/icon-cd.png);
}
-.pve-itype-icon-memory
-{
- background-image:url(../images/icon-ram.png);
-}
-
-.pve-itype-icon-processor
-{
- background-image:url(../images/icon-cpu.png);
-}
-
.pve-itype-icon-display
{
background-image:url(../images/icon-display.png);
background-image:url(../images/virt-viewer.png);
}
+.pve-itype-icon-xtermjs
+{
+ background-image:url(../images/xtermjs.png);
+}
+
+.pve-itype-icon-usb
+{
+ background-image:url(../images/icon-usb.png);
+}
+
+.pve-itype-icon-pci
+{
+ background-image:url(../images/icon-pci.png);
+}
+
+.pve-itype-icon-serial
+{
+ background-size: 16px;
+ background-image:url(../images/icon-serial.svg);
+}
+
+.pve-itype-icon-cloud
+{
+ background-size: 16px;
+ background-image:url(../images/icon-cloud.svg);
+}
+
+.pve-itype-icon-die
+{
+ background-size: 16px;
+ background-image:url(../images/icon-die.svg);
+}
+
+.pve-icon {
+ height: 16px;
+ background-position: bottom;
+ vertical-align: bottom;
+ padding: 0;
+}
/* displayfield minheight is wrong */
.x-form-display-field-default {
top: 2px;
}
-.pve-help-button .x-btn-inner {
+.proxmox-inline-button .x-btn-inner {
color: black;
}
background-color: #FFCC00;
}
-.x-treelist-nav {
+.x-treelist-pve-nav {
background-color: #f5f5f5;
}
content: ' ';
}
+.fa-sdn:before {
+ width: 14px;
+ height: 14px;
+ position: absolute;
+ left: 1px;
+ top: 4px;
+ background-image:url(../images/icon-sdn.svg);
+ background-size: 14px 14px;
+ content: ' ';
+}
+
+.fa-network-wired:before {
+ width: 14px;
+ height: 14px;
+ position: absolute;
+ left: 1px;
+ top: 4px;
+ background-image:url(../images/icon-fa-network-wired.svg);
+ background-size: 14px 14px;
+ content: ' ';
+}
+
.x-treelist-row-over > * > .x-treelist-item-icon,
.x-treelist-row-over > * > .x-treelist-item-text{
color: #000;
}
+
+/* for the ceph monitor widgets */
+div.monitor {
+ text-align:left;
+ border:#cfcfcf solid 1px;
+ border-radius:2px;
+ margin: 2px;
+ padding: 5px 8px;
+}
+
+/* for auto layout */
+div.inline-block {
+ display: inline-block;
+ vertical-align: top;
+}
+
+/* ceph dashboard osd table styling */
+table.osds {
+ border-collapse: collapse;
+ margin: auto;
+}
+
+table.osds td {
+ padding: 4px;
+ text-align: right;
+ border-right: 1px solid #cfcfcf;
+}
+
+table.osds td:last-of-type {
+ border-right: 0;
+}
+
+table.osds tr {
+ border-bottom: 1px solid #cfcfcf;
+}
+
+table.osds tr:last-of-type {
+ border-bottom: 0;
+}
+
+table.osds td:first-of-type {
+ text-align: left;
+}
+
+.pointer {
+ cursor: pointer;
+}
+
+.cursor-move {
+ cursor: move;
+}
+
+.x-grid-filters-filtered-column {
+ font-style: italic;
+ font-weight: bold;
+}
+
+.x-grid-filters-filtered-column .x-column-header-text:after {
+ font: normal normal normal 14px/1 FontAwesome;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ content: " \f0b0 ";
+ color: #555;
+ float: right;
+ padding-right: 1em;
+}
+
+.proxmox-invalid-row {
+ background-color: #f3d6d7;
+}
+
+.pve-static-mask div.x-mask-msg-text {
+ padding: 10px;
+ background-image: none;
+}
+
+.pve-toolbar-bg {
+ background-color: #f5f5f5;
+}
+
+.x-fa {
+ diplay: inline-block;
+ font: normal normal normal 14px/1 FontAwesome;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.usage-wrapper {
+ margin-left: -7px;
+ vertical-align: text-bottom;
+ display: inline-block;
+ width: 8px;
+ height: 1.2em;
+ border: 1px solid #555;
+ border-radius: 1px;
+ padding: 1px;
+}
+
+.usage-negative {
+ left: 0px;
+ right:0px;
+}
+
+.usage {
+ left: 0px;
+ right: 0px;
+ background-color: #555;
+}
+
+.install-mask {
+ background-color: rgb(245, 245, 245);
+ color: #000;
+}