2016-02-15 15:27:41 +01:00
|
|
|
// Global values
|
|
|
|
|
// --------------------------------------------------
|
|
|
|
|
|
2017-10-18 07:49:52 +02:00
|
|
|
$theme-name: dark;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
|
|
|
|
// Grays
|
|
|
|
|
// -------------------------
|
|
|
|
|
$black: #000;
|
2016-02-18 17:25:11 +01:00
|
|
|
|
2016-02-19 12:26:39 +01:00
|
|
|
// -------------------------
|
|
|
|
|
$black: #000;
|
2016-02-20 16:09:31 +01:00
|
|
|
$dark-1: #141414;
|
2017-11-20 13:31:04 -05:00
|
|
|
$dark-2: #1f1f20;
|
2017-11-20 13:27:20 -05:00
|
|
|
$dark-3: #262628;
|
2016-02-21 08:18:49 +01:00
|
|
|
$dark-4: #333333;
|
2016-02-19 12:26:39 +01:00
|
|
|
$dark-5: #444444;
|
|
|
|
|
$gray-1: #555555;
|
2017-12-01 20:11:55 +01:00
|
|
|
$gray-2: #8e8e8e;
|
2016-02-19 12:26:39 +01:00
|
|
|
$gray-3: #b3b3b3;
|
2016-02-20 14:21:39 +01:00
|
|
|
$gray-4: #D8D9DA;
|
|
|
|
|
$gray-5: #ECECEC;
|
|
|
|
|
$gray-6: #f4f5f8;
|
2016-02-19 12:26:39 +01:00
|
|
|
$gray-7: #fbfbfb;
|
2017-12-09 21:42:48 +01:00
|
|
|
|
|
|
|
|
$gray-blue: #212327;
|
|
|
|
|
$input-black: #09090B;
|
2016-02-19 12:26:39 +01:00
|
|
|
|
|
|
|
|
$white: #fff;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
|
|
|
|
// Accent colors
|
|
|
|
|
// -------------------------
|
|
|
|
|
$blue: #33B5E5;
|
2016-02-16 08:30:37 +01:00
|
|
|
$blue-dark: #005f81;
|
2017-10-14 21:51:36 +02:00
|
|
|
$green: #299c46;
|
|
|
|
|
$red: #d44a3a;
|
2016-02-15 15:27:41 +01:00
|
|
|
$yellow: #ECBB13;
|
|
|
|
|
$pink: #FF4444;
|
|
|
|
|
$purple: #9933CC;
|
|
|
|
|
$variable: #32D1DF;
|
2017-01-26 08:54:34 +01:00
|
|
|
$orange: #eb7b18;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-18 20:41:23 +01:00
|
|
|
$brand-primary: $orange;
|
2016-02-16 12:15:09 +01:00
|
|
|
$brand-success: $green;
|
2016-02-18 20:41:23 +01:00
|
|
|
$brand-warning: $brand-primary;
|
2016-02-16 12:15:09 +01:00
|
|
|
$brand-danger: $red;
|
|
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
// Status colors
|
|
|
|
|
// -------------------------
|
|
|
|
|
$online: #10a345;
|
2016-06-11 22:33:02 +02:00
|
|
|
$warn: #F79520;
|
2016-02-15 15:27:41 +01:00
|
|
|
$critical: #ed2e18;
|
|
|
|
|
|
2016-02-16 09:42:46 +01:00
|
|
|
// Scaffolding
|
2016-02-15 15:27:41 +01:00
|
|
|
// -------------------------
|
2017-11-20 13:27:20 -05:00
|
|
|
$body-bg: rgb(23,24,25);
|
2017-11-29 13:21:42 +01:00
|
|
|
$page-bg: rgb(22, 23, 25);
|
2017-11-30 15:37:03 +01:00
|
|
|
|
2016-03-28 13:10:42 +02:00
|
|
|
$body-color: $gray-4;
|
|
|
|
|
$text-color: $gray-4;
|
|
|
|
|
$text-color-strong: $white;
|
|
|
|
|
$text-color-weak: $gray-2;
|
2016-11-03 22:14:29 +01:00
|
|
|
$text-color-faint: $dark-5;
|
2016-03-24 22:01:33 -04:00
|
|
|
$text-color-emphasis: $gray-5;
|
|
|
|
|
|
2016-03-28 13:10:42 +02:00
|
|
|
$text-shadow-strong: 1px 1px 4px $black;
|
|
|
|
|
$text-shadow-faint: 1px 1px 4px rgb(45, 45, 45);
|
2016-02-16 08:30:37 +01:00
|
|
|
|
2016-02-24 10:32:22 +01:00
|
|
|
// gradients
|
|
|
|
|
$brand-gradient: linear-gradient(to right, rgba(255,213,0,0.7) 0%, rgba(255,68,0,0.7) 99%, rgba(255,68,0,0.7) 100%);
|
2017-11-29 13:21:42 +01:00
|
|
|
$page-gradient: linear-gradient(180deg, #222426 10px, rgb(22, 23, 25) 100px);
|
2016-02-24 10:32:22 +01:00
|
|
|
|
2016-02-16 09:42:46 +01:00
|
|
|
// Links
|
|
|
|
|
// -------------------------
|
2016-04-26 09:58:55 +02:00
|
|
|
$link-color: darken($white, 11%);
|
|
|
|
|
$link-color-disabled: darken($link-color, 30%);
|
2016-02-16 10:42:06 +01:00
|
|
|
$link-hover-color: $white;
|
2016-04-11 19:01:18 -04:00
|
|
|
$external-link-color: $blue;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-16 09:42:46 +01:00
|
|
|
// Typography
|
|
|
|
|
// -------------------------
|
2016-03-15 09:15:24 +01:00
|
|
|
$headings-color: darken($white,11%);
|
|
|
|
|
$abbr-border-color: $gray-3 !default;
|
2016-04-25 15:11:40 +02:00
|
|
|
$text-muted: $text-color-weak;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-19 12:26:39 +01:00
|
|
|
$blockquote-small-color: $gray-3 !default;
|
|
|
|
|
$blockquote-border-color: $gray-4 !default;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-16 10:42:06 +01:00
|
|
|
$hr-border-color: rgba(0,0,0,.1) !default;
|
2016-02-16 09:42:46 +01:00
|
|
|
|
2016-02-16 12:15:09 +01:00
|
|
|
// Components
|
|
|
|
|
$component-active-color: #fff !default;
|
|
|
|
|
$component-active-bg: $brand-primary !default;
|
|
|
|
|
|
2016-02-16 09:42:46 +01:00
|
|
|
// Panel
|
|
|
|
|
// -------------------------
|
2017-11-22 17:18:04 +01:00
|
|
|
$panel-bg: #212124;
|
|
|
|
|
$panel-border-color: $dark-1;
|
2017-04-11 07:43:40 +02:00
|
|
|
$panel-border: solid 1px $panel-border-color;
|
2016-11-01 16:06:49 +01:00
|
|
|
$panel-drop-zone-bg: repeating-linear-gradient(-128deg, #111, #111 10px, #191919 10px, #222 20px);
|
2017-11-22 17:18:04 +01:00
|
|
|
$panel-header-hover-bg: $dark-4;
|
2017-06-08 16:22:51 +02:00
|
|
|
$panel-header-menu-hover-bg: $dark-5;
|
2017-12-09 22:45:33 +01:00
|
|
|
$panel-edit-shadow: 0 -30px 30px -30px $black;
|
2016-02-16 09:42:46 +01:00
|
|
|
|
2017-12-03 08:11:07 +01:00
|
|
|
// page header
|
|
|
|
|
$page-header-bg: linear-gradient(90deg, #292a2d, black);
|
|
|
|
|
$page-header-shadow: inset 0px -4px 14px $dark-2;
|
|
|
|
|
$page-header-border-color: $dark-4;
|
|
|
|
|
|
2016-08-11 18:25:41 +02:00
|
|
|
$divider-border-color: #555;
|
2016-02-16 09:42:46 +01:00
|
|
|
|
|
|
|
|
// Graphite Target Editor
|
2016-02-19 12:26:39 +01:00
|
|
|
$tight-form-bg: $dark-3;
|
2016-02-16 12:15:09 +01:00
|
|
|
|
2017-11-20 13:27:20 -05:00
|
|
|
$tight-form-func-bg: #333334;
|
|
|
|
|
$tight-form-func-highlight-bg: #444445;
|
2016-02-16 09:42:46 +01:00
|
|
|
|
2017-11-20 13:27:20 -05:00
|
|
|
$modal-backdrop-bg: #353c42 ;
|
2017-10-10 17:57:53 +02:00
|
|
|
$code-tag-bg: $gray-1;
|
|
|
|
|
$code-tag-border: lighten($code-tag-bg, 2%);
|
2016-04-14 11:38:07 -04:00
|
|
|
|
2017-11-23 12:54:12 +01:00
|
|
|
// cards
|
|
|
|
|
$card-background: linear-gradient(135deg, #2f2f32, #262628);
|
|
|
|
|
$card-background-hover: linear-gradient(135deg, #343436, #262628);
|
|
|
|
|
$card-shadow: -1px -1px 0 0 hsla(0, 0%, 100%, .1), 1px 1px 0 0 rgba(0, 0, 0, .3);
|
2016-02-16 09:42:46 +01:00
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
// Lists
|
2017-11-23 12:54:12 +01:00
|
|
|
$list-item-bg: $card-background;
|
2017-11-23 16:49:52 +01:00
|
|
|
$list-item-hover-bg: lighten($gray-blue, 2%);
|
2017-11-23 12:54:12 +01:00
|
|
|
$list-item-link-color: $text-color;
|
|
|
|
|
$list-item-shadow: $card-shadow;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
|
|
|
|
// Scrollbars
|
2017-12-01 15:56:08 +01:00
|
|
|
$scrollbarBackground: #404357;
|
2016-02-15 15:27:41 +01:00
|
|
|
$scrollbarBackground2: #3a3a3a;
|
2017-12-01 15:56:08 +01:00
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
$scrollbarBorder: black;
|
|
|
|
|
|
|
|
|
|
// Tables
|
|
|
|
|
// -------------------------
|
2016-02-16 10:42:06 +01:00
|
|
|
$table-bg: transparent; // overall background-color
|
2016-03-13 19:21:44 +01:00
|
|
|
$table-bg-accent: $dark-3; // for striping
|
|
|
|
|
$table-bg-hover: $dark-4; // for hover
|
2016-02-19 12:26:39 +01:00
|
|
|
$table-border: $dark-3; // table and cell border
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2017-12-05 12:48:16 +01:00
|
|
|
$table-bg-odd: $dark-2;
|
|
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
// Buttons
|
|
|
|
|
// -------------------------
|
|
|
|
|
|
2017-08-20 21:16:40 +02:00
|
|
|
$btn-primary-bg: #ff6600;
|
|
|
|
|
$btn-primary-bg-hl: #bc3e06;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-20 11:05:06 +01:00
|
|
|
$btn-secondary-bg: $blue-dark;
|
2016-03-21 13:37:56 +01:00
|
|
|
$btn-secondary-bg-hl: lighten($blue-dark, 5%);
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2017-10-14 21:17:16 +02:00
|
|
|
$btn-success-bg: $green;
|
2017-10-14 21:51:36 +02:00
|
|
|
$btn-success-bg-hl: darken($green, 6%);
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-19 14:21:57 +01:00
|
|
|
$btn-warning-bg: $brand-warning;
|
2016-02-20 11:05:06 +01:00
|
|
|
$btn-warning-bg-hl: lighten($brand-warning, 8%);
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-03-20 10:31:50 +01:00
|
|
|
$btn-danger-bg: $red;
|
2017-10-14 21:51:36 +02:00
|
|
|
$btn-danger-bg-hl: darken($red, 8%);
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-19 14:21:57 +01:00
|
|
|
$btn-inverse-bg: $dark-3;
|
2016-03-20 10:31:50 +01:00
|
|
|
$btn-inverse-bg-hl: lighten($dark-3, 4%);
|
2016-02-19 14:21:57 +01:00
|
|
|
$btn-inverse-text-color: $link-color;
|
2017-12-05 12:48:16 +01:00
|
|
|
$btn-inverse-text-shadow: 0px 1px 0 rgba(0,0,0,.1);
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-19 14:21:57 +01:00
|
|
|
$btn-link-color: $gray-3;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-03-20 10:31:50 +01:00
|
|
|
$iconContainerBackground: $black;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-08-11 21:22:40 +02:00
|
|
|
$btn-divider-left: $dark-4;
|
|
|
|
|
$btn-divider-right: $dark-2;
|
|
|
|
|
|
|
|
|
|
$btn-drag-image: '../img/grab_dark.svg';
|
2016-08-11 18:25:41 +02:00
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
// Forms
|
|
|
|
|
// -------------------------
|
2017-12-09 21:42:48 +01:00
|
|
|
$input-bg: $input-black;
|
2016-02-20 16:09:31 +01:00
|
|
|
$input-bg-disabled: $dark-3;
|
2016-02-16 12:15:09 +01:00
|
|
|
|
2016-02-19 12:26:39 +01:00
|
|
|
$input-color: $gray-4;
|
2017-08-15 09:48:31 +02:00
|
|
|
$input-border-color: $dark-3;
|
2016-03-16 16:08:18 -04:00
|
|
|
$input-box-shadow: inset 1px 0px 0.3rem 0px rgba(150, 150, 150, 0.10);
|
2016-02-16 12:15:09 +01:00
|
|
|
$input-border-focus: $input-border-color !default;
|
|
|
|
|
$input-box-shadow-focus: rgba(102,175,233,.6) !default;
|
2016-02-20 16:09:31 +01:00
|
|
|
$input-color-placeholder: $gray-1 !default;
|
2017-11-23 12:54:12 +01:00
|
|
|
$input-label-bg: $gray-blue;
|
2017-12-09 21:42:48 +01:00
|
|
|
$input-label-border-color: $dark-3;
|
2016-05-16 11:32:08 +02:00
|
|
|
$input-invalid-border-color: lighten($red, 5%);
|
2016-02-15 15:27:41 +01:00
|
|
|
|
|
|
|
|
// Search
|
2017-12-08 18:15:24 +01:00
|
|
|
$search-shadow: 0 0 30px 0 $black;
|
2017-11-29 17:13:50 +01:00
|
|
|
$search-filter-box-bg: $gray-blue;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
|
|
|
|
// Dropdowns
|
|
|
|
|
// -------------------------
|
2016-02-19 12:26:39 +01:00
|
|
|
$dropdownBackground: $dark-3;
|
2016-02-15 15:27:41 +01:00
|
|
|
$dropdownBorder: rgba(0,0,0,.2);
|
|
|
|
|
$dropdownDividerTop: transparent;
|
|
|
|
|
$dropdownDividerBottom: #444;
|
|
|
|
|
$dropdownDivider: $dropdownDividerBottom;
|
2016-02-16 09:42:46 +01:00
|
|
|
$dropdownTitle: $link-color-disabled;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-16 09:42:46 +01:00
|
|
|
$dropdownLinkColor: $text-color;
|
2016-02-15 15:27:41 +01:00
|
|
|
$dropdownLinkColorHover: $white;
|
|
|
|
|
$dropdownLinkColorActive: $white;
|
|
|
|
|
|
2016-02-21 12:47:57 +01:00
|
|
|
$dropdownLinkBackgroundActive: $dark-4;
|
|
|
|
|
$dropdownLinkBackgroundHover: $dark-4;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2017-04-11 10:05:30 +02:00
|
|
|
$dropdown-link-color: $gray-3;
|
|
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
// COMPONENT VARIABLES
|
|
|
|
|
// --------------------------------------------------
|
|
|
|
|
|
|
|
|
|
// -------------------------
|
2016-02-16 09:42:46 +01:00
|
|
|
$placeholderText: darken($text-color, 25%);
|
2016-02-15 15:27:41 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
// Horizontal forms & lists
|
|
|
|
|
// -------------------------
|
|
|
|
|
$horizontalComponentOffset: 180px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Wells
|
|
|
|
|
// -------------------------
|
|
|
|
|
$wellBackground: #131517;
|
|
|
|
|
|
2017-12-08 18:15:24 +01:00
|
|
|
$navbarHeight: 55px;
|
2016-02-19 12:26:39 +01:00
|
|
|
$navbarBackgroundHighlight: $dark-3;
|
2017-06-12 16:46:02 +02:00
|
|
|
$navbarBackground: $panel-bg;
|
2017-12-08 18:15:24 +01:00
|
|
|
$navbarBorder: 1px solid $dark-3;
|
2017-10-18 07:49:52 +02:00
|
|
|
$navbarShadow: 0 0 20px black;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-19 12:26:39 +01:00
|
|
|
$navbarText: $gray-4;
|
|
|
|
|
$navbarLinkColor: $gray-4;
|
2016-02-15 15:27:41 +01:00
|
|
|
$navbarLinkColorHover: $white;
|
|
|
|
|
$navbarLinkColorActive: $navbarLinkColorHover;
|
|
|
|
|
$navbarLinkBackgroundHover: transparent;
|
|
|
|
|
$navbarLinkBackgroundActive: $navbarBackground;
|
2016-02-16 09:42:46 +01:00
|
|
|
$navbarBrandColor: $link-color;
|
|
|
|
|
$navbarDropdownShadow: inset 0px 4px 10px -4px $body-bg;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2017-06-12 16:46:02 +02:00
|
|
|
$navbarButtonBackground: $navbarBackground;
|
2017-06-12 21:11:22 +02:00
|
|
|
$navbarButtonBackgroundHighlight: $body-bg;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2017-12-05 12:48:16 +01:00
|
|
|
$navbar-button-border: #151515;
|
|
|
|
|
|
2016-02-15 16:02:58 +01:00
|
|
|
// Sidemenu
|
|
|
|
|
// -------------------------
|
2017-08-14 21:43:24 +02:00
|
|
|
$side-menu-bg: $black;
|
2017-06-08 22:17:43 +02:00
|
|
|
$side-menu-item-hover-bg: $dark-2;
|
2017-10-18 07:49:52 +02:00
|
|
|
$side-menu-shadow: 0 0 20px black;
|
2017-12-04 13:12:32 +01:00
|
|
|
$side-menu-link-color: $link-color;
|
2017-10-18 07:49:52 +02:00
|
|
|
$breadcrumb-hover-hl: #111;
|
2016-02-15 16:02:58 +01:00
|
|
|
|
2017-06-12 16:46:02 +02:00
|
|
|
// Menu dropdowns
|
|
|
|
|
// -------------------------
|
|
|
|
|
$menu-dropdown-bg: $body-bg;
|
|
|
|
|
$menu-dropdown-hover-bg: $dark-2;
|
2017-06-12 21:11:22 +02:00
|
|
|
$menu-dropdown-border-color: $dark-3;
|
|
|
|
|
$menu-dropdown-shadow: 5px 5px 20px -5px $black;
|
2017-06-12 16:46:02 +02:00
|
|
|
|
2017-08-15 11:04:26 +02:00
|
|
|
// Breadcrumb
|
|
|
|
|
// -------------------------
|
|
|
|
|
$page-nav-bg: $black;
|
|
|
|
|
$page-nav-shadow: 5px 5px 20px -5px $black;
|
2017-08-25 14:47:57 +02:00
|
|
|
$page-nav-breadcrumb-color: $gray-3;
|
2017-08-15 11:04:26 +02:00
|
|
|
|
2017-12-05 12:48:16 +01:00
|
|
|
// Tabs
|
|
|
|
|
// -------------------------
|
|
|
|
|
$tab-border-color: $dark-4;
|
2016-02-15 16:02:58 +01:00
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
// Pagination
|
|
|
|
|
// -------------------------
|
2016-02-16 09:42:46 +01:00
|
|
|
$paginationBackground: $body-bg;
|
2016-02-15 15:27:41 +01:00
|
|
|
$paginationBorder: transparent;
|
|
|
|
|
$paginationActiveBackground: $blue;
|
|
|
|
|
|
|
|
|
|
// Form states and alerts
|
|
|
|
|
// -------------------------
|
2017-09-12 09:05:32 +02:00
|
|
|
$warning-text-color: $warn;
|
|
|
|
|
$error-text-color: #E84D4D;
|
|
|
|
|
$success-text-color: #12D95A;
|
|
|
|
|
$info-text-color: $blue-dark;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2017-09-12 08:01:44 +02:00
|
|
|
$alert-error-bg: linear-gradient(90deg, #d44939, #e0603d);
|
|
|
|
|
$alert-success-bg: linear-gradient(90deg, #3aa655, #47b274);
|
2017-09-12 09:05:32 +02:00
|
|
|
$alert-warning-bg: linear-gradient(90deg, #d44939, #e0603d);
|
|
|
|
|
$alert-info-bg: linear-gradient(100deg, #1a4552, #00374a);
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-02-22 11:41:50 +01:00
|
|
|
// popover
|
2017-12-03 08:11:07 +01:00
|
|
|
$popover-bg: $page-bg;
|
2017-04-13 20:28:13 +02:00
|
|
|
$popover-color: $text-color;
|
2017-10-07 10:31:39 +02:00
|
|
|
$popover-border-color: $dark-4;
|
|
|
|
|
$popover-shadow: 0 0 20px black;
|
2016-02-22 18:46:58 +01:00
|
|
|
|
2016-02-22 11:41:50 +01:00
|
|
|
$popover-help-bg: $btn-secondary-bg;
|
|
|
|
|
$popover-help-color: $text-color;
|
|
|
|
|
|
2017-09-12 08:01:44 +02:00
|
|
|
$popover-error-bg: $btn-danger-bg;
|
|
|
|
|
|
2016-04-11 20:33:58 -04:00
|
|
|
// Tooltips and popovers
|
|
|
|
|
// -------------------------
|
2016-04-12 13:00:33 -04:00
|
|
|
$tooltipColor: $popover-help-color;
|
|
|
|
|
$tooltipBackground: $popover-help-bg;
|
2016-04-11 20:33:58 -04:00
|
|
|
$tooltipArrowWidth: 5px;
|
|
|
|
|
$tooltipArrowColor: $tooltipBackground;
|
|
|
|
|
$tooltipLinkColor: $link-color;
|
2016-11-02 12:55:58 +01:00
|
|
|
$graph-tooltip-bg: $dark-1;
|
2016-04-11 20:33:58 -04:00
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
// images
|
|
|
|
|
$checkboxImageUrl: '../img/checkbox.png';
|
2016-03-15 09:15:24 +01:00
|
|
|
|
2017-07-31 14:39:33 +02:00
|
|
|
// info box
|
2017-09-12 09:05:32 +02:00
|
|
|
$info-box-background: linear-gradient(100deg, #1a4552, #00374a);
|
2017-07-31 14:39:33 +02:00
|
|
|
|
2016-05-24 08:11:28 +02:00
|
|
|
// footer
|
2017-11-28 14:16:29 +01:00
|
|
|
$footer-link-color: $gray-2;
|
2016-05-24 08:11:28 +02:00
|
|
|
$footer-link-hover: $gray-4;
|
2016-11-01 16:06:49 +01:00
|
|
|
|
2017-05-20 18:21:41 +02:00
|
|
|
// collapse box
|
|
|
|
|
$collapse-box-body-border: $dark-5;
|
|
|
|
|
$collapse-box-body-error-border: $red;
|
|
|
|
|
|
|
|
|
|
// json-explorer
|
2017-05-20 23:43:59 +02:00
|
|
|
$json-explorer-default-color: $text-color;
|
2017-05-20 22:55:36 +02:00
|
|
|
$json-explorer-string-color: #23d662;
|
|
|
|
|
$json-explorer-number-color: $variable;
|
|
|
|
|
$json-explorer-boolean-color: $variable;
|
2017-05-20 18:21:41 +02:00
|
|
|
$json-explorer-null-color: #EEC97D;
|
|
|
|
|
$json-explorer-undefined-color: rgb(239, 143, 190);
|
|
|
|
|
$json-explorer-function-color: #FD48CB;
|
|
|
|
|
$json-explorer-rotate-time: 100ms;
|
|
|
|
|
$json-explorer-toggler-opacity: 0.6;
|
|
|
|
|
$json-explorer-toggler-color: #45376F;
|
|
|
|
|
$json-explorer-bracket-color: #9494FF;
|
|
|
|
|
$json-explorer-key-color: #23A0DB;
|
|
|
|
|
$json-explorer-url-color: #027BFF;
|
History and Version Control for Dashboard Updates
A simple version control system for dashboards. Closes #1504.
Goals
1. To create a new dashboard version every time a dashboard is saved.
2. To allow users to view all versions of a given dashboard.
3. To allow users to rollback to a previous version of a dashboard.
4. To allow users to compare two versions of a dashboard.
Usage
Navigate to a dashboard, and click the settings cog. From there, click
the "Changelog" button to be brought to the Changelog view. In this
view, a table containing each version of a dashboard can be seen. Each
entry in the table represents a dashboard version. A selectable
checkbox, the version number, date created, name of the user who created
that version, and commit message is shown in the table, along with a
button that allows a user to restore to a previous version of that
dashboard. If a user wants to restore to a previous version of their
dashboard, they can do so by clicking the previously mentioned button.
If a user wants to compare two different versions of a dashboard, they
can do so by clicking the checkbox of two different dashboard versions,
then clicking the "Compare versions" button located below the dashboard.
From there, the user is brought to a view showing a summary of the
dashboard differences. Each summarized change contains a link that can
be clicked to take the user a JSON diff highlighting the changes line by
line.
Overview of Changes
Backend Changes
- A `dashboard_version` table was created to store each dashboard
version, along with a dashboard version model and structs to represent
the queries and commands necessary for the dashboard version API
methods.
- API endpoints were created to support working with dashboard
versions.
- Methods were added to create, update, read, and destroy dashboard
versions in the database.
- Logic was added to compute the diff between two versions, and
display it to the user.
- The dashboard migration logic was updated to save a "Version
1" of each existing dashboard in the database.
Frontend Changes
- New views
- Methods to pull JSON and HTML from endpoints
New API Endpoints
Each endpoint requires the authorization header to be sent in
the format,
```
Authorization: Bearer <jwt>
```
where `<jwt>` is a JSON web token obtained from the Grafana
admin panel.
`GET "/api/dashboards/db/:dashboardId/versions?orderBy=<string>&limit=<int>&start=<int>"`
Get all dashboard versions for the given dashboard ID. Accepts
three URL parameters:
- `orderBy` String to order the results by. Possible values
are `version`, `created`, `created_by`, `message`. Default
is `versions`. Ordering is always in descending order.
- `limit` Maximum number of results to return
- `start` Position in results to start from
`GET "/api/dashboards/db/:dashboardId/versions/:id"`
Get an individual dashboard version by ID, for the given
dashboard ID.
`POST "/api/dashboards/db/:dashboardId/restore"`
Restore to the given dashboard version. Post body is of
content-type `application/json`, and must contain.
```json
{
"dashboardId": <int>,
"version": <int>
}
```
`GET "/api/dashboards/db/:dashboardId/compare/:versionA...:versionB"`
Compare two dashboard versions by ID for the given
dashboard ID, returning a JSON delta formatted
representation of the diff. The URL format follows
what GitHub does. For example, visiting
[/api/dashboards/db/18/compare/22...33](http://ec2-54-80-139-44.compute-1.amazonaws.com:3000/api/dashboards/db/18/compare/22...33)
will return the diff between versions 22 and 33 for
the dashboard ID 18.
Dependencies Added
- The Go package [gojsondiff](https://github.com/yudai/gojsondiff)
was added and vendored.
2017-05-24 19:14:39 -04:00
|
|
|
|
|
|
|
|
// Changelog and diff
|
|
|
|
|
// -------------------------
|
|
|
|
|
$diff-label-bg: $dark-2;
|
|
|
|
|
$diff-label-fg: $white;
|
|
|
|
|
|
|
|
|
|
$diff-group-bg: $dark-4;
|
|
|
|
|
$diff-arrow-color: $white;
|
|
|
|
|
|
|
|
|
|
$diff-json-bg: $dark-4;
|
|
|
|
|
$diff-json-fg: $gray-5;
|
|
|
|
|
|
2017-06-07 12:39:06 +02:00
|
|
|
$diff-json-added: #457740;
|
|
|
|
|
$diff-json-deleted: #a04338;
|
History and Version Control for Dashboard Updates
A simple version control system for dashboards. Closes #1504.
Goals
1. To create a new dashboard version every time a dashboard is saved.
2. To allow users to view all versions of a given dashboard.
3. To allow users to rollback to a previous version of a dashboard.
4. To allow users to compare two versions of a dashboard.
Usage
Navigate to a dashboard, and click the settings cog. From there, click
the "Changelog" button to be brought to the Changelog view. In this
view, a table containing each version of a dashboard can be seen. Each
entry in the table represents a dashboard version. A selectable
checkbox, the version number, date created, name of the user who created
that version, and commit message is shown in the table, along with a
button that allows a user to restore to a previous version of that
dashboard. If a user wants to restore to a previous version of their
dashboard, they can do so by clicking the previously mentioned button.
If a user wants to compare two different versions of a dashboard, they
can do so by clicking the checkbox of two different dashboard versions,
then clicking the "Compare versions" button located below the dashboard.
From there, the user is brought to a view showing a summary of the
dashboard differences. Each summarized change contains a link that can
be clicked to take the user a JSON diff highlighting the changes line by
line.
Overview of Changes
Backend Changes
- A `dashboard_version` table was created to store each dashboard
version, along with a dashboard version model and structs to represent
the queries and commands necessary for the dashboard version API
methods.
- API endpoints were created to support working with dashboard
versions.
- Methods were added to create, update, read, and destroy dashboard
versions in the database.
- Logic was added to compute the diff between two versions, and
display it to the user.
- The dashboard migration logic was updated to save a "Version
1" of each existing dashboard in the database.
Frontend Changes
- New views
- Methods to pull JSON and HTML from endpoints
New API Endpoints
Each endpoint requires the authorization header to be sent in
the format,
```
Authorization: Bearer <jwt>
```
where `<jwt>` is a JSON web token obtained from the Grafana
admin panel.
`GET "/api/dashboards/db/:dashboardId/versions?orderBy=<string>&limit=<int>&start=<int>"`
Get all dashboard versions for the given dashboard ID. Accepts
three URL parameters:
- `orderBy` String to order the results by. Possible values
are `version`, `created`, `created_by`, `message`. Default
is `versions`. Ordering is always in descending order.
- `limit` Maximum number of results to return
- `start` Position in results to start from
`GET "/api/dashboards/db/:dashboardId/versions/:id"`
Get an individual dashboard version by ID, for the given
dashboard ID.
`POST "/api/dashboards/db/:dashboardId/restore"`
Restore to the given dashboard version. Post body is of
content-type `application/json`, and must contain.
```json
{
"dashboardId": <int>,
"version": <int>
}
```
`GET "/api/dashboards/db/:dashboardId/compare/:versionA...:versionB"`
Compare two dashboard versions by ID for the given
dashboard ID, returning a JSON delta formatted
representation of the diff. The URL format follows
what GitHub does. For example, visiting
[/api/dashboards/db/18/compare/22...33](http://ec2-54-80-139-44.compute-1.amazonaws.com:3000/api/dashboards/db/18/compare/22...33)
will return the diff between versions 22 and 33 for
the dashboard ID 18.
Dependencies Added
- The Go package [gojsondiff](https://github.com/yudai/gojsondiff)
was added and vendored.
2017-05-24 19:14:39 -04:00
|
|
|
|
2017-06-07 12:39:06 +02:00
|
|
|
$diff-json-old: #a04338;
|
|
|
|
|
$diff-json-new: #457740;
|
History and Version Control for Dashboard Updates
A simple version control system for dashboards. Closes #1504.
Goals
1. To create a new dashboard version every time a dashboard is saved.
2. To allow users to view all versions of a given dashboard.
3. To allow users to rollback to a previous version of a dashboard.
4. To allow users to compare two versions of a dashboard.
Usage
Navigate to a dashboard, and click the settings cog. From there, click
the "Changelog" button to be brought to the Changelog view. In this
view, a table containing each version of a dashboard can be seen. Each
entry in the table represents a dashboard version. A selectable
checkbox, the version number, date created, name of the user who created
that version, and commit message is shown in the table, along with a
button that allows a user to restore to a previous version of that
dashboard. If a user wants to restore to a previous version of their
dashboard, they can do so by clicking the previously mentioned button.
If a user wants to compare two different versions of a dashboard, they
can do so by clicking the checkbox of two different dashboard versions,
then clicking the "Compare versions" button located below the dashboard.
From there, the user is brought to a view showing a summary of the
dashboard differences. Each summarized change contains a link that can
be clicked to take the user a JSON diff highlighting the changes line by
line.
Overview of Changes
Backend Changes
- A `dashboard_version` table was created to store each dashboard
version, along with a dashboard version model and structs to represent
the queries and commands necessary for the dashboard version API
methods.
- API endpoints were created to support working with dashboard
versions.
- Methods were added to create, update, read, and destroy dashboard
versions in the database.
- Logic was added to compute the diff between two versions, and
display it to the user.
- The dashboard migration logic was updated to save a "Version
1" of each existing dashboard in the database.
Frontend Changes
- New views
- Methods to pull JSON and HTML from endpoints
New API Endpoints
Each endpoint requires the authorization header to be sent in
the format,
```
Authorization: Bearer <jwt>
```
where `<jwt>` is a JSON web token obtained from the Grafana
admin panel.
`GET "/api/dashboards/db/:dashboardId/versions?orderBy=<string>&limit=<int>&start=<int>"`
Get all dashboard versions for the given dashboard ID. Accepts
three URL parameters:
- `orderBy` String to order the results by. Possible values
are `version`, `created`, `created_by`, `message`. Default
is `versions`. Ordering is always in descending order.
- `limit` Maximum number of results to return
- `start` Position in results to start from
`GET "/api/dashboards/db/:dashboardId/versions/:id"`
Get an individual dashboard version by ID, for the given
dashboard ID.
`POST "/api/dashboards/db/:dashboardId/restore"`
Restore to the given dashboard version. Post body is of
content-type `application/json`, and must contain.
```json
{
"dashboardId": <int>,
"version": <int>
}
```
`GET "/api/dashboards/db/:dashboardId/compare/:versionA...:versionB"`
Compare two dashboard versions by ID for the given
dashboard ID, returning a JSON delta formatted
representation of the diff. The URL format follows
what GitHub does. For example, visiting
[/api/dashboards/db/18/compare/22...33](http://ec2-54-80-139-44.compute-1.amazonaws.com:3000/api/dashboards/db/18/compare/22...33)
will return the diff between versions 22 and 33 for
the dashboard ID 18.
Dependencies Added
- The Go package [gojsondiff](https://github.com/yudai/gojsondiff)
was added and vendored.
2017-05-24 19:14:39 -04:00
|
|
|
|
|
|
|
|
$diff-json-changed-fg: $gray-5;
|
2017-06-07 12:39:06 +02:00
|
|
|
$diff-json-changed-num: $text-color;
|
History and Version Control for Dashboard Updates
A simple version control system for dashboards. Closes #1504.
Goals
1. To create a new dashboard version every time a dashboard is saved.
2. To allow users to view all versions of a given dashboard.
3. To allow users to rollback to a previous version of a dashboard.
4. To allow users to compare two versions of a dashboard.
Usage
Navigate to a dashboard, and click the settings cog. From there, click
the "Changelog" button to be brought to the Changelog view. In this
view, a table containing each version of a dashboard can be seen. Each
entry in the table represents a dashboard version. A selectable
checkbox, the version number, date created, name of the user who created
that version, and commit message is shown in the table, along with a
button that allows a user to restore to a previous version of that
dashboard. If a user wants to restore to a previous version of their
dashboard, they can do so by clicking the previously mentioned button.
If a user wants to compare two different versions of a dashboard, they
can do so by clicking the checkbox of two different dashboard versions,
then clicking the "Compare versions" button located below the dashboard.
From there, the user is brought to a view showing a summary of the
dashboard differences. Each summarized change contains a link that can
be clicked to take the user a JSON diff highlighting the changes line by
line.
Overview of Changes
Backend Changes
- A `dashboard_version` table was created to store each dashboard
version, along with a dashboard version model and structs to represent
the queries and commands necessary for the dashboard version API
methods.
- API endpoints were created to support working with dashboard
versions.
- Methods were added to create, update, read, and destroy dashboard
versions in the database.
- Logic was added to compute the diff between two versions, and
display it to the user.
- The dashboard migration logic was updated to save a "Version
1" of each existing dashboard in the database.
Frontend Changes
- New views
- Methods to pull JSON and HTML from endpoints
New API Endpoints
Each endpoint requires the authorization header to be sent in
the format,
```
Authorization: Bearer <jwt>
```
where `<jwt>` is a JSON web token obtained from the Grafana
admin panel.
`GET "/api/dashboards/db/:dashboardId/versions?orderBy=<string>&limit=<int>&start=<int>"`
Get all dashboard versions for the given dashboard ID. Accepts
three URL parameters:
- `orderBy` String to order the results by. Possible values
are `version`, `created`, `created_by`, `message`. Default
is `versions`. Ordering is always in descending order.
- `limit` Maximum number of results to return
- `start` Position in results to start from
`GET "/api/dashboards/db/:dashboardId/versions/:id"`
Get an individual dashboard version by ID, for the given
dashboard ID.
`POST "/api/dashboards/db/:dashboardId/restore"`
Restore to the given dashboard version. Post body is of
content-type `application/json`, and must contain.
```json
{
"dashboardId": <int>,
"version": <int>
}
```
`GET "/api/dashboards/db/:dashboardId/compare/:versionA...:versionB"`
Compare two dashboard versions by ID for the given
dashboard ID, returning a JSON delta formatted
representation of the diff. The URL format follows
what GitHub does. For example, visiting
[/api/dashboards/db/18/compare/22...33](http://ec2-54-80-139-44.compute-1.amazonaws.com:3000/api/dashboards/db/18/compare/22...33)
will return the diff between versions 22 and 33 for
the dashboard ID 18.
Dependencies Added
- The Go package [gojsondiff](https://github.com/yudai/gojsondiff)
was added and vendored.
2017-05-24 19:14:39 -04:00
|
|
|
|
|
|
|
|
$diff-json-icon: $gray-7;
|