2019-02-18 04:03:52 -06:00
|
|
|
/***
|
|
|
|
* !!! THIS FILE WAS GENERATED AUTOMATICALLY !!!
|
|
|
|
*
|
2019-02-18 04:05:02 -06:00
|
|
|
* Do not modify this file!
|
2019-02-18 04:03:52 -06:00
|
|
|
* - Edit grafana-ui/src/themes/light.ts to regenerate
|
|
|
|
* - Edit grafana-ui/src/themes/_variable.light.scss.tmpl.ts to update template
|
|
|
|
*
|
|
|
|
* !!! THIS FILE WAS GENERATED AUTOMATICALLY !!!
|
|
|
|
*/
|
|
|
|
|
2023-07-19 10:05:06 -05:00
|
|
|
@use 'sass:color';
|
2016-02-15 08:27:41 -06:00
|
|
|
// Global values
|
|
|
|
// --------------------------------------------------
|
|
|
|
|
2017-10-18 00:49:52 -05:00
|
|
|
$theme-name: light;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2022-01-31 00:57:14 -06:00
|
|
|
$colors-action-hover: rgba(36, 41, 46, 0.12);
|
|
|
|
$colors-action-selected: rgba(36, 41, 46, 0.08);
|
|
|
|
|
2019-02-19 06:57:56 -06:00
|
|
|
// New Colors
|
|
|
|
// -------------------------
|
2021-08-24 06:23:01 -05:00
|
|
|
$blue-light: #1F62E0;
|
2021-04-21 07:25:43 -05:00
|
|
|
$blue-base: #3871DC;
|
|
|
|
$blue-shade: rgb(44, 90, 176);
|
|
|
|
$red-base: #E0226E;
|
|
|
|
$red-shade: rgb(179, 27, 88);
|
2021-08-24 06:23:01 -05:00
|
|
|
$green-base: #1B855E;
|
|
|
|
$green-shade: rgb(21, 106, 75);
|
2021-04-21 07:25:43 -05:00
|
|
|
$orange-dark: #ff780a;
|
2019-02-19 06:57:56 -06:00
|
|
|
|
2020-03-24 04:30:53 -05:00
|
|
|
$gray98: #f7f8fa;
|
|
|
|
$gray95: #e9edf2;
|
|
|
|
$gray85: #c7d0d9;
|
|
|
|
$gray70: #9fa7b3;
|
|
|
|
$gray60: #7b8087;
|
|
|
|
$gray33: #464c54;
|
2020-04-14 04:32:14 -05:00
|
|
|
$gray25: #2c3235;
|
2020-03-24 04:30:53 -05:00
|
|
|
$gray15: #202226;
|
|
|
|
$gray10: #141619;
|
|
|
|
$gray05: #0b0c0e;
|
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// Grays
|
|
|
|
// -------------------------
|
2019-02-20 09:11:36 -06:00
|
|
|
$black: #000000;
|
|
|
|
|
2021-04-21 07:25:43 -05:00
|
|
|
$dark-1: #141414;
|
|
|
|
$dark-2: #161719;
|
|
|
|
$dark-4: #212124;
|
2019-06-24 07:39:59 -05:00
|
|
|
$dark-10: #424345;
|
2021-04-21 07:25:43 -05:00
|
|
|
$gray-1: #555555;
|
|
|
|
$gray-2: #8e8e8e;
|
|
|
|
$gray-3: #b3b3b3;
|
|
|
|
$gray-4: #d8d9da;
|
|
|
|
$gray-5: #ececec;
|
|
|
|
$gray-6: #f4f5f8;
|
|
|
|
$gray-7: #fbfbfb;
|
2019-02-19 06:57:56 -06:00
|
|
|
|
2019-02-12 14:54:20 -06:00
|
|
|
$white: #ffffff;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2021-04-12 07:23:00 -05:00
|
|
|
$layer0: #F4F5F5;
|
2021-12-15 10:50:29 -06:00
|
|
|
$layer1: #FFFFFF;
|
2021-04-14 14:49:38 -05:00
|
|
|
$layer2: #F4F5F5;
|
2021-04-12 07:23:00 -05:00
|
|
|
|
2021-04-16 02:48:52 -05:00
|
|
|
$divider: rgba(36, 41, 46, 0.12);
|
2021-04-17 12:17:18 -05:00
|
|
|
$border0: rgba(36, 41, 46, 0.12);
|
2021-04-16 02:48:52 -05:00
|
|
|
$border1: rgba(36, 41, 46, 0.30);
|
2021-04-12 07:23:00 -05:00
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// Accent colors
|
|
|
|
// -------------------------
|
2021-08-24 06:23:01 -05:00
|
|
|
$blue: #1F62E0;
|
2019-02-20 09:11:36 -06:00
|
|
|
$red: $red-base;
|
2021-04-21 07:25:43 -05:00
|
|
|
$yellow: #ecbb13;
|
|
|
|
$orange: #eb7b18;
|
|
|
|
$purple: #9933cc;
|
2021-08-24 06:23:01 -05:00
|
|
|
$variable: #1F62E0;
|
2017-12-19 09:22:41 -06:00
|
|
|
|
2021-04-21 07:25:43 -05:00
|
|
|
$brand-primary: #eb7b18;
|
2021-08-24 06:23:01 -05:00
|
|
|
$brand-success: #1B855E;
|
2023-05-01 12:33:30 -05:00
|
|
|
$brand-warning: #FF9900;
|
2021-05-04 15:28:29 -05:00
|
|
|
$brand-danger: #E0226E;
|
2017-12-19 09:22:41 -06:00
|
|
|
|
2021-05-04 15:28:29 -05:00
|
|
|
$query-red: #CF0E5B;
|
2021-08-24 06:23:01 -05:00
|
|
|
$query-green: #0A764E;
|
2021-04-21 07:25:43 -05:00
|
|
|
$query-purple: #fe85fc;
|
|
|
|
$query-orange: #eb7b18;
|
2017-12-15 04:01:18 -06:00
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// Status colors
|
|
|
|
// -------------------------
|
2021-08-24 06:23:01 -05:00
|
|
|
$online: #0A764E;
|
2023-05-01 12:33:30 -05:00
|
|
|
$warn: #B5510D;
|
2021-05-18 11:00:30 -05:00
|
|
|
$critical: #CF0E5B;
|
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2016-02-15 09:02:58 -06:00
|
|
|
// Scaffolding
|
|
|
|
// -------------------------
|
2021-04-17 12:17:18 -05:00
|
|
|
$body-bg: #F4F5F5;
|
|
|
|
$page-bg: #F4F5F5;
|
2021-04-12 07:23:00 -05:00
|
|
|
$dashboard-bg: #F4F5F5;
|
2019-02-06 08:45:40 -06:00
|
|
|
|
2021-04-16 02:48:52 -05:00
|
|
|
$text-color: rgba(36, 41, 46, 1);
|
2021-12-15 10:50:29 -06:00
|
|
|
$text-color-strong: #000000;
|
2021-04-16 02:48:52 -05:00
|
|
|
$text-color-semi-weak: rgba(36, 41, 46, 0.75);
|
|
|
|
$text-color-weak: rgba(36, 41, 46, 0.75);
|
|
|
|
$text-color-faint: rgba(36, 41, 46, 0.50);
|
2021-12-15 10:50:29 -06:00
|
|
|
$text-color-emphasis: #000000;
|
2021-08-24 06:23:01 -05:00
|
|
|
$text-blue: #1F62E0;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2016-03-28 06:10:42 -05:00
|
|
|
$text-shadow-faint: none;
|
|
|
|
|
2016-02-24 03:32:22 -06:00
|
|
|
// gradients
|
2022-05-05 11:10:06 -05:00
|
|
|
$brand-gradient-horizontal: linear-gradient(90deg, #FF8833 0%, #F53E4C 100%);
|
|
|
|
$brand-gradient-vertical: linear-gradient(0.01deg, #F53E4C -31.2%, #FF8833 113.07%);
|
2016-02-24 03:32:22 -06:00
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// Links
|
|
|
|
// -------------------------
|
2021-04-16 02:48:52 -05:00
|
|
|
$link-color: rgba(36, 41, 46, 1);
|
2021-04-21 07:25:43 -05:00
|
|
|
$link-color-disabled: rgba(36, 41, 46, 0.50);
|
2021-12-15 10:50:29 -06:00
|
|
|
$link-hover-color: #000000;
|
2021-08-24 06:23:01 -05:00
|
|
|
$external-link-color: #1F62E0;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
|
|
|
// Typography
|
|
|
|
// -------------------------
|
2021-04-16 02:48:52 -05:00
|
|
|
$headings-color: rgba(36, 41, 46, 1);
|
2017-12-19 09:22:41 -06:00
|
|
|
$abbr-border-color: $gray-2 !default;
|
|
|
|
$text-muted: $text-color-weak;
|
2016-02-16 03:42:06 -06:00
|
|
|
|
2019-02-19 06:57:56 -06:00
|
|
|
$hr-border-color: $gray-4 !default;
|
2016-02-16 02:42:46 -06:00
|
|
|
|
|
|
|
// Panel
|
|
|
|
// -------------------------
|
2021-12-15 10:50:29 -06:00
|
|
|
$panel-bg: #FFFFFF;
|
2021-04-27 08:13:08 -05:00
|
|
|
$panel-border: 1px solid rgba(36, 41, 46, 0.12);
|
2021-08-25 08:34:19 -05:00
|
|
|
$panel-header-hover-bg: rgba(36, 41, 46, 0.12);
|
2021-04-27 08:13:08 -05:00
|
|
|
$panel-box-shadow: none;
|
2021-04-12 07:23:00 -05:00
|
|
|
$panel-corner: $panel-bg;
|
2016-02-16 02:42:46 -06:00
|
|
|
|
2017-12-03 01:11:07 -06:00
|
|
|
// Page header
|
2021-04-14 14:49:38 -05:00
|
|
|
$page-header-bg: #F4F5F5;
|
2017-12-05 05:48:16 -06:00
|
|
|
$page-header-shadow: inset 0px -3px 10px $gray-6;
|
2021-04-21 07:25:43 -05:00
|
|
|
$page-header-border-color: #F4F5F5;
|
2017-12-03 01:11:07 -06:00
|
|
|
|
2017-12-19 09:22:41 -06:00
|
|
|
$divider-border-color: $gray-2;
|
2016-02-16 02:42:46 -06:00
|
|
|
|
|
|
|
// Graphite Target Editor
|
2021-04-14 14:49:38 -05:00
|
|
|
$tight-form-func-bg: #F4F5F5;
|
|
|
|
$tight-form-func-highlight-bg: #eff0f0;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2021-12-15 10:50:29 -06:00
|
|
|
$modal-backdrop-bg: #FFFFFF;
|
2017-12-19 09:22:41 -06:00
|
|
|
$code-tag-bg: $gray-6;
|
2019-02-19 06:57:56 -06:00
|
|
|
$code-tag-border: $gray-4;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2017-11-23 05:54:12 -06:00
|
|
|
// cards
|
2021-04-14 14:49:38 -05:00
|
|
|
$card-background: #F4F5F5;
|
|
|
|
$card-background-hover: #F4F5F5;
|
2020-04-23 04:52:11 -05:00
|
|
|
$card-shadow: none;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2017-11-23 05:54:12 -06:00
|
|
|
// Lists
|
2020-01-17 02:43:17 -06:00
|
|
|
$list-item-bg: $gray-7;
|
|
|
|
$list-item-hover-bg: $gray-6;
|
2017-12-19 09:22:41 -06:00
|
|
|
$list-item-shadow: $card-shadow;
|
2019-02-06 08:45:40 -06:00
|
|
|
|
2018-01-31 07:14:11 -06:00
|
|
|
$empty-list-cta-bg: $gray-6;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2019-02-06 08:45:40 -06:00
|
|
|
// Scrollbars
|
2019-02-19 06:57:56 -06:00
|
|
|
$scrollbarBackground: $gray-4;
|
|
|
|
$scrollbarBackground2: $gray-4;
|
2019-02-21 02:41:53 -06:00
|
|
|
$scrollbarBorder: $gray-7;
|
2019-02-06 08:45:40 -06:00
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// Tables
|
|
|
|
// -------------------------
|
2021-04-14 14:49:38 -05:00
|
|
|
$table-bg-accent: #F4F5F5;
|
2021-04-16 02:48:52 -05:00
|
|
|
$table-border: rgba(36, 41, 46, 0.30);
|
2021-04-12 07:23:00 -05:00
|
|
|
$table-bg-odd: rgb(249, 249, 249);
|
|
|
|
$table-bg-hover: rgb(242, 242, 242);
|
2017-12-05 05:48:16 -06:00
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// Buttons
|
|
|
|
// -------------------------
|
2020-03-26 05:50:27 -05:00
|
|
|
$btn-secondary-bg: $gray-5;
|
|
|
|
$btn-secondary-bg-hl: $gray-4;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2020-03-26 05:50:27 -05:00
|
|
|
$btn-primary-bg: $blue-base;
|
|
|
|
$btn-primary-bg-hl: $blue-shade;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2019-02-19 06:57:56 -06:00
|
|
|
$btn-success-bg: $green-base;
|
|
|
|
$btn-success-bg-hl: $green-shade;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2019-02-20 09:11:36 -06:00
|
|
|
$btn-danger-bg: $red-base;
|
|
|
|
$btn-danger-bg-hl: $red-shade;
|
2019-02-12 14:54:20 -06:00
|
|
|
|
2019-02-19 06:57:56 -06:00
|
|
|
$btn-inverse-bg: $gray-5;
|
|
|
|
$btn-inverse-bg-hl: $gray-4;
|
2017-12-19 09:22:41 -06:00
|
|
|
$btn-inverse-text-color: $gray-1;
|
|
|
|
$btn-inverse-text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2016-02-19 07:21:57 -06:00
|
|
|
$btn-link-color: $gray-1;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2019-02-06 08:45:40 -06:00
|
|
|
$iconContainerBackground: $white;
|
|
|
|
|
2017-12-19 09:22:41 -06:00
|
|
|
$btn-divider-left: $gray-4;
|
|
|
|
$btn-divider-right: $gray-7;
|
2016-08-11 11:25:41 -05:00
|
|
|
|
2019-02-06 08:45:40 -06:00
|
|
|
$btn-drag-image: '../img/grab_light.svg';
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2019-04-17 08:18:32 -05:00
|
|
|
$navbar-btn-gicon-brightness: brightness(1.5);
|
|
|
|
|
2019-11-22 05:26:14 -06:00
|
|
|
$btn-active-box-shadow: 0px 0px 4px rgba(234, 161, 51, 0.6);
|
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// Forms
|
|
|
|
// -------------------------
|
2021-12-15 10:50:29 -06:00
|
|
|
$input-bg: #FFFFFF;
|
2021-08-25 04:30:32 -05:00
|
|
|
$input-bg-disabled: rgba(36, 41, 46, 0.04);
|
2017-12-19 09:22:41 -06:00
|
|
|
|
2021-04-23 07:40:06 -05:00
|
|
|
$input-color: rgba(36, 41, 46, 1);
|
2021-04-21 07:25:43 -05:00
|
|
|
$input-border-color: rgba(36, 41, 46, 0.30);
|
2017-12-19 09:22:41 -06:00
|
|
|
$input-box-shadow: none;
|
2020-04-05 13:02:52 -05:00
|
|
|
$input-border-focus: #5794f2;
|
|
|
|
$input-box-shadow-focus: #5794f2;
|
2021-04-16 02:48:52 -05:00
|
|
|
$input-color-placeholder: rgba(36, 41, 46, 0.50);
|
2021-04-14 14:49:38 -05:00
|
|
|
$input-label-bg: #F4F5F5;
|
2020-04-05 13:02:52 -05:00
|
|
|
$input-color-select-arrow: #7b8087;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
|
|
|
// search
|
2019-04-22 09:04:35 -05:00
|
|
|
$search-shadow: 0 1px 5px 0 $gray-5;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2018-05-25 05:51:27 -05:00
|
|
|
// Typeahead
|
|
|
|
$typeahead-shadow: 0 5px 10px 0 $gray-5;
|
2018-12-03 10:20:02 -06:00
|
|
|
$typeahead-selected-bg: $gray-6;
|
|
|
|
$typeahead-selected-color: $yellow;
|
2018-05-25 05:51:27 -05:00
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// Dropdowns
|
|
|
|
// -------------------------
|
2021-12-15 10:50:29 -06:00
|
|
|
$dropdownBackground: #FFFFFF;
|
2021-04-17 12:17:18 -05:00
|
|
|
$dropdownBorder: rgba(36, 41, 46, 0.12);
|
2021-04-16 02:48:52 -05:00
|
|
|
$dropdownDividerTop: rgba(36, 41, 46, 0.12);
|
|
|
|
$dropdownDividerBottom: rgba(36, 41, 46, 0.12);
|
2021-04-27 08:13:08 -05:00
|
|
|
$dropdownShadow: 0px 13px 20px 1px rgba(24, 26, 27, 0.18);
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2019-02-20 09:11:36 -06:00
|
|
|
$dropdownLinkColor: $dark-2;
|
2017-12-19 09:22:41 -06:00
|
|
|
$dropdownLinkColorHover: $link-color;
|
|
|
|
$dropdownLinkColorActive: $link-color;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2017-12-19 09:22:41 -06:00
|
|
|
$dropdownLinkBackgroundHover: $gray-6;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
|
|
|
// Horizontal forms & lists
|
|
|
|
// -------------------------
|
2017-12-19 09:22:41 -06:00
|
|
|
$horizontalComponentOffset: 180px;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
|
|
|
// Navbar
|
|
|
|
// -------------------------
|
2017-12-19 09:22:41 -06:00
|
|
|
$navbarHeight: 52px;
|
2019-02-19 06:57:56 -06:00
|
|
|
$navbarBorder: 1px solid $gray-5;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2019-02-06 08:45:40 -06:00
|
|
|
// Sidemenu
|
2016-02-15 08:27:41 -06:00
|
|
|
// -------------------------
|
2020-03-24 04:30:53 -05:00
|
|
|
$side-menu-bg: #202226;
|
2020-04-14 04:32:14 -05:00
|
|
|
$side-menu-border: 1px solid #2c3235;
|
2019-02-06 08:45:40 -06:00
|
|
|
$side-menu-bg-mobile: rgba(0, 0, 0, 0); //$gray-6;
|
2020-04-14 04:32:14 -05:00
|
|
|
$side-menu-item-hover-bg: #2c3235;
|
2019-02-06 08:45:40 -06:00
|
|
|
$side-menu-shadow: 5px 0px 10px -5px $gray-1;
|
2020-04-12 08:05:49 -05:00
|
|
|
$side-menu-link-color: $gray-4;
|
2020-04-13 02:58:40 -05:00
|
|
|
$side-menu-icon-color: #9fa7b3;
|
|
|
|
$side-menu-header-color: #e9edf2;
|
2019-02-06 08:45:40 -06:00
|
|
|
|
|
|
|
// Menu dropdowns
|
|
|
|
// -------------------------
|
2021-12-15 10:50:29 -06:00
|
|
|
$menu-dropdown-bg: #FFFFFF;
|
2021-08-25 08:34:19 -05:00
|
|
|
$menu-dropdown-hover-bg: rgba(36, 41, 46, 0.12);
|
2021-04-22 02:18:32 -05:00
|
|
|
$menu-dropdown-shadow: 0px 13px 20px 1px rgba(24, 26, 27, 0.18);
|
2019-02-06 08:45:40 -06:00
|
|
|
|
|
|
|
// Tabs
|
|
|
|
// -------------------------
|
|
|
|
$tab-border-color: $gray-5;
|
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// Form states and alerts
|
|
|
|
// -------------------------
|
2023-05-01 12:33:30 -05:00
|
|
|
$warning-text-color: #B5510D;
|
2021-04-23 07:06:30 -05:00
|
|
|
$error-text-color: #CF0E5B;
|
2021-08-24 06:23:01 -05:00
|
|
|
$success-text-color: #0A764E;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2021-04-23 07:06:30 -05:00
|
|
|
$alert-error-bg: #E0226E;
|
2021-08-24 06:23:01 -05:00
|
|
|
$alert-success-bg: #1B855E;
|
2023-05-01 12:33:30 -05:00
|
|
|
$alert-warning-bg: #FF9900;
|
|
|
|
$alert-info-bg: #FF9900;
|
2016-02-15 08:27:41 -06:00
|
|
|
|
2020-03-30 09:31:53 -05:00
|
|
|
// Tooltips and popovers
|
2022-05-05 08:28:45 -05:00
|
|
|
$tooltipBackground: #F4F5F5;
|
|
|
|
$tooltipColor: rgba(36, 41, 46, 1);
|
|
|
|
$tooltipArrowColor: #F4F5F5;
|
2021-04-12 07:23:00 -05:00
|
|
|
$tooltipBackgroundError: #E0226E;
|
2021-04-22 02:18:32 -05:00
|
|
|
$tooltipShadow: 0px 4px 8px rgba(24, 26, 27, 0.2);
|
2021-04-12 07:23:00 -05:00
|
|
|
|
2021-12-15 10:50:29 -06:00
|
|
|
$popover-bg: #FFFFFF;
|
2021-04-16 02:48:52 -05:00
|
|
|
$popover-color: rgba(36, 41, 46, 1);
|
2021-04-22 02:18:32 -05:00
|
|
|
$popover-border-color: rgba(36, 41, 46, 0.12);
|
2021-04-14 14:49:38 -05:00
|
|
|
$popover-header-bg: #F4F5F5;
|
2021-04-22 02:18:32 -05:00
|
|
|
$popover-shadow: 0px 13px 20px 1px rgba(24, 26, 27, 0.18);
|
2021-04-12 07:23:00 -05:00
|
|
|
|
2020-03-30 09:31:53 -05:00
|
|
|
$graph-tooltip-bg: $gray-5;
|
|
|
|
|
|
|
|
$tooltipArrowWidth: 5px;
|
2023-07-19 10:05:06 -05:00
|
|
|
$tooltipLinkColor: color.adjust($tooltipColor, $lightness: 5%);
|
2021-11-01 09:14:53 -05:00
|
|
|
$tooltipExternalLinkColor: #6E9FFF;
|
2020-03-30 09:31:53 -05:00
|
|
|
|
2017-12-19 09:22:41 -06:00
|
|
|
$popover-error-bg: $btn-danger-bg;
|
2020-03-30 09:31:53 -05:00
|
|
|
$popover-help-bg: $tooltipBackground;
|
|
|
|
$popover-help-color: $tooltipColor;
|
2019-01-07 06:05:27 -06:00
|
|
|
|
2021-12-15 10:50:29 -06:00
|
|
|
$popover-code-bg: #FFFFFF;
|
2020-07-13 06:52:28 -05:00
|
|
|
$popover-code-boxshadow: 0 0 5px $gray60;
|
|
|
|
|
2016-02-15 08:27:41 -06:00
|
|
|
// images
|
2018-01-25 05:17:16 -06:00
|
|
|
$checkboxImageUrl: '../img/checkbox_white.png';
|
2016-03-15 03:15:24 -05:00
|
|
|
|
2017-07-31 07:39:33 -05:00
|
|
|
// info box
|
2019-02-20 09:11:36 -06:00
|
|
|
$info-box-border-color: $blue-base;
|
2017-07-31 07:39:33 -05:00
|
|
|
|
2016-05-24 01:11:28 -05:00
|
|
|
// footer
|
2021-09-30 09:46:10 -05:00
|
|
|
$footer-link-color: $gray-1;
|
2019-02-20 09:11:36 -06:00
|
|
|
$footer-link-hover: $dark-2;
|
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 18:14:39 -05:00
|
|
|
|
2017-05-20 11:21:41 -05:00
|
|
|
// json explorer
|
|
|
|
$json-explorer-default-color: black;
|
|
|
|
$json-explorer-string-color: green;
|
2019-02-20 09:11:36 -06:00
|
|
|
$json-explorer-number-color: $blue-base;
|
|
|
|
$json-explorer-boolean-color: $red-base;
|
2017-12-19 09:22:41 -06:00
|
|
|
$json-explorer-null-color: #855a00;
|
2017-05-20 11:21:41 -05:00
|
|
|
$json-explorer-undefined-color: rgb(202, 11, 105);
|
2017-12-19 09:22:41 -06:00
|
|
|
$json-explorer-function-color: #ff20ed;
|
2017-05-20 11:21:41 -05:00
|
|
|
$json-explorer-rotate-time: 100ms;
|
|
|
|
$json-explorer-toggler-opacity: 0.6;
|
2019-02-20 09:11:36 -06:00
|
|
|
$json-explorer-bracket-color: $blue-base;
|
2017-12-19 09:22:41 -06:00
|
|
|
$json-explorer-key-color: #00008b;
|
2019-02-20 09:11:36 -06:00
|
|
|
$json-explorer-url-color: $blue-base;
|
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 18:14:39 -05:00
|
|
|
|
|
|
|
// Changelog and diff
|
|
|
|
// -------------------------
|
2021-08-25 08:34:19 -05:00
|
|
|
$diff-label-bg: rgba(36, 41, 46, 0.12);
|
2017-12-19 09:22:41 -06:00
|
|
|
$diff-label-fg: $gray-2;
|
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 18:14:39 -05:00
|
|
|
|
2019-02-20 09:11:36 -06:00
|
|
|
$diff-arrow-color: $dark-2;
|
2021-04-14 14:49:38 -05:00
|
|
|
$diff-group-bg: #F4F5F5;
|
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 18:14:39 -05:00
|
|
|
|
2021-04-14 14:49:38 -05:00
|
|
|
$diff-json-bg: #F4F5F5;
|
2021-04-16 02:48:52 -05:00
|
|
|
$diff-json-fg: rgba(36, 41, 46, 1);
|
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 18:14:39 -05:00
|
|
|
|
2019-02-20 09:11:36 -06:00
|
|
|
$diff-json-added: $blue-shade;
|
|
|
|
$diff-json-deleted: $red-shade;
|
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 18:14:39 -05:00
|
|
|
|
2017-12-19 09:22:41 -06:00
|
|
|
$diff-json-old: #5a372a;
|
|
|
|
$diff-json-new: #664e33;
|
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 18:14:39 -05:00
|
|
|
|
2019-02-19 06:57:56 -06:00
|
|
|
$diff-json-changed-fg: $gray-7;
|
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 18:14:39 -05:00
|
|
|
$diff-json-changed-num: $gray-4;
|
2019-02-06 08:45:40 -06:00
|
|
|
|
2017-12-19 09:22:41 -06:00
|
|
|
$diff-json-icon: $gray-4;
|
2018-07-20 09:02:41 -05:00
|
|
|
|
2018-11-16 06:02:29 -06:00
|
|
|
//Switch Slider
|
|
|
|
// -------------------------
|
|
|
|
$switch-bg: $white;
|
|
|
|
$switch-slider-color: $gray-7;
|
|
|
|
$switch-slider-off-bg: $gray-5;
|
2020-04-13 02:58:40 -05:00
|
|
|
$switch-slider-on-bg: #1f60c4;
|
2019-02-20 09:11:36 -06:00
|
|
|
$switch-slider-shadow: 0 0 3px $dark-2;
|
2018-11-16 09:35:04 -06:00
|
|
|
|
|
|
|
//Checkbox
|
|
|
|
// -------------------------
|
|
|
|
$checkbox-bg: $gray-6;
|
|
|
|
$checkbox-border: 1px solid $gray-3;
|
2019-02-19 06:57:56 -06:00
|
|
|
$checkbox-checked-bg: linear-gradient(0deg, #ff9830, #e55400);
|
2018-11-16 09:35:04 -06:00
|
|
|
$checkbox-color: $gray-7;
|
2018-11-28 08:51:45 -06:00
|
|
|
|
|
|
|
//Panel Edit
|
|
|
|
// -------------------------
|
2018-12-16 12:30:48 -06:00
|
|
|
$panel-editor-shadow: 0px 0px 8px $gray-3;
|
2018-11-28 08:51:45 -06:00
|
|
|
$panel-editor-side-menu-shadow: drop-shadow(0 0 2px $gray-3);
|
|
|
|
$panel-editor-viz-item-shadow: 0 0 4px $gray-3;
|
|
|
|
$panel-editor-viz-item-border: 1px solid $gray-3;
|
2019-02-20 09:11:36 -06:00
|
|
|
$panel-editor-viz-item-shadow-hover: 0 0 4px $blue-light;
|
|
|
|
$panel-editor-viz-item-border-hover: 1px solid $blue-light;
|
2021-04-30 03:04:01 -05:00
|
|
|
$panel-editor-viz-item-bg: $card-background;
|
2019-02-20 09:11:36 -06:00
|
|
|
$panel-editor-tabs-line-color: $dark-2;
|
2019-02-19 06:57:56 -06:00
|
|
|
|
2023-07-19 10:05:06 -05:00
|
|
|
$panel-editor-viz-item-bg-hover: color.adjust($blue-base, $lightness: 45%);
|
2019-02-12 14:54:20 -06:00
|
|
|
|
2023-07-19 10:05:06 -05:00
|
|
|
$panel-grid-placeholder-bg: color.adjust(#5794f2, $lightness: 30%);
|
2020-04-14 04:32:14 -05:00
|
|
|
$panel-grid-placeholder-shadow: 0 0 4px #5794f2;
|
2018-12-07 07:59:38 -06:00
|
|
|
|
2018-12-06 13:55:01 -06:00
|
|
|
// logs
|
2020-06-22 15:03:34 -05:00
|
|
|
$logs-color-unknown: $gray-5;
|
2018-12-07 10:15:46 -06:00
|
|
|
|
|
|
|
// toggle-group
|
2018-12-07 14:13:23 -06:00
|
|
|
$button-toggle-group-btn-active-bg: $brand-primary;
|
|
|
|
$button-toggle-group-btn-active-shadow: inset 0 0 4px $white;
|
2020-06-05 03:53:57 -05:00
|
|
|
$button-toggle-group-btn-separator-border: 1px solid $gray-6;
|
2018-12-18 10:20:09 -06:00
|
|
|
|
|
|
|
$vertical-resize-handle-bg: $gray-4;
|
|
|
|
$vertical-resize-handle-dots: $gray-3;
|
|
|
|
$vertical-resize-handle-dots-hover: $gray-2;
|
2019-06-24 07:39:59 -05:00
|
|
|
|
|
|
|
// Calendar
|
|
|
|
$calendar-bg-days: $white;
|
|
|
|
$calendar-bg-now: $gray-6;
|
2021-04-23 07:06:30 -05:00
|
|
|
|