Commit Graph

260 Commits

Author SHA1 Message Date
Patrick O'Carroll
5e0d0c5816 changed var to const (#13061) 2018-08-29 14:26:50 +02:00
Torkel Ödegaard
9b978b7203
tslint: autofix of let -> const (#13033) 2018-08-26 17:14:40 +02:00
Torkel Ödegaard
4424bdd1b1 fix: going from fullscreen fix 2018-08-25 07:37:37 -07:00
Torkel Ödegaard
91b343403c wip: minor fixes 2018-08-25 07:21:00 -07:00
Torkel Ödegaard
1c97816275 wip: trying to align react & angular edit modes 2018-08-24 18:46:17 +02:00
Torkel Ödegaard
4fd2107071 Merge branch 'master' of github.com:grafana/grafana into react-panels 2018-07-09 15:35:16 +02:00
Tobias Skarhed
443ff5deb4 Karma to Jest: value_select_dropdown (#12435)
* Begin Karma 2 Jest: value_select_dropdown

* Add return for Promise

* Remove Karma test
2018-06-28 03:10:36 -07:00
Torkel Ödegaard
db52ea66bd react panels minor progress 2018-06-19 16:57:55 +02:00
Torkel Ödegaard
35403c1875 wip: react panel makeover mini progress 2018-06-19 08:42:41 +02:00
Torkel Ödegaard
542da8dc45 Merge branch 'master' into react-panels 2018-06-18 15:08:06 +02:00
Daniel Lee
e7bcd8c3c3 variable: fix binding bug after ts conversion 2018-04-16 19:59:47 +02:00
Daniel Lee
7d165068df fix merge conflict 2018-04-16 19:19:48 +02:00
Patrick O'Carroll
7ef6106197 migrated dropdown-typeahead to ts (#11499)
* migrated dropdown-typeahead to ts

* removed console.logs

* added @ngInject
2018-04-16 17:40:29 +02:00
Daniel Lee
67daa9b058
Merge pull request #11588 from mjtrangoni/fix-codespell-issues
Fix codespell issues
2018-04-16 09:12:49 +02:00
Daniel Lee
af91238d14
Merge pull request #11547 from grafana/value-select-dropdown-to-ts
Value select dropdown to ts
2018-04-14 16:53:08 +02:00
Mario Trangoni
e5e6bc56c8 public: fix codespell issues 2018-04-13 20:31:29 +02:00
Patrick O'Carroll
82aa6cf46b converted functions to arrow functions 2018-04-11 10:26:05 +02:00
Patrick O'Carroll
5f67d4268d added @ngInject 2018-04-10 15:48:51 +02:00
Daniel Lee
9e1a1ed572
Merge pull request #11501 from grafana/metric-segment-to-ts
migrated metric_segment to ts
2018-04-10 12:41:58 +02:00
Patrick O'Carroll
6719bdf9bd added @ngInject 2018-04-10 09:24:54 +02:00
Patrick O'Carroll
c7cd754a94 migrating to ts 2018-04-06 15:02:32 +02:00
Patrick O'Carroll
35bc4e4632 migrated metric_segment to ts 2018-04-05 17:10:32 +02:00
Patrick O'Carroll
714d555e36 migrated dash_class to ts 2018-04-05 14:33:27 +02:00
Alexander Zobnin
111b32290a Fixes for graphite tags editor (#10861)
* graphite: don't fetch tags on editor init

* add debounce option to query editor directives

* graphite: debounce tag queries
2018-02-09 16:20:30 +01:00
Torkel Ödegaard
40c9d5f2a3 ux: hide sidemenu in kiosk mode, and while playlist is playing, fixes #107402 2018-02-04 17:32:27 +01:00
Torkel Ödegaard
5aeded8cf3 Merge branch 'master' into react-panels 2018-02-02 15:47:13 +01:00
Daniel Lee
50b20a0e5a dashfolders: use react component for dashboard permissions
Switch out the angular component for the new react component on the
dashboard permissions editview on the settings page.
2018-01-27 17:26:40 +01:00
Dan Cech
ebad19b232
work on tag dropdown behavior 2018-01-16 17:02:03 -05:00
Torkel Ödegaard
11ba8070b8
Tag filters in search (#10521)
* tag filter: initial react component

* dashboard: move tag filter to filterbox

* tag filter: customize value rendering

* tag filter: get color from name

* tag filter:  custom option renderer

* tag filter: mode with tags in different container

* tag filter: refactor

* refactoring PR #10519

* tag filter: refactor of PR #10521
2018-01-16 12:52:13 +01:00
Torkel Ödegaard
27835f373e cleanup: removed unused typescript typings import 2018-01-04 10:12:02 +01:00
Torkel Ödegaard
456b4d2a66 poc: began react panel experiments, step2 2018-01-03 13:33:54 +01:00
Marcus Efraimsson
39eb8f9eba Dashboard: View JSON improvements (#10327)
* dashboard: enable copy to clipboard for view json and panel json

* dashboard: use code editor for view json under settings
2017-12-26 13:52:19 +01:00
Torkel Ödegaard
3a1f52d8a2 prettier: ran on all files again, sorry. now settings are defined in package.json 2017-12-21 08:39:31 +01:00
Torkel Ödegaard
85879a7014 prettier: change to single quoting 2017-12-20 12:33:33 +01:00
Torkel Ödegaard
fadfc665e4 tech: ran pretttier on all typescript files 2017-12-19 16:06:54 +01:00
Torkel Ödegaard
511fa7dec1 ux: dashboard settings progress 2017-12-10 12:41:11 +01:00
Torkel Ödegaard
1c27df97d6 ux: dashboard setings progres 2017-12-02 07:05:58 +01:00
Torkel Ödegaard
c8ead22722 started on dashboard settings refactor 2017-12-01 21:04:48 +01:00
Torkel Ödegaard
93d21bec75 Merge branch 'master' into develop 2017-11-24 09:25:14 +01:00
Patrick O'Carroll
b7956ef499 More js to ts (#9966)
* four files js to ts, fixed ng_model_on_blur

* added /** @ngInject */
2017-11-23 14:53:23 +01:00
Torkel Ödegaard
9fc22e5a66 Merge branch 'master' of github.com:grafana/grafana into develop 2017-11-21 16:05:18 +01:00
Torkel Ödegaard
43a6a65f8b fix: fixed issue with metric segment introduced in graphite tags query editor PR 2017-11-21 14:39:09 +01:00
Torkel Ödegaard
0e44fe082b Merge branch 'master' into develop 2017-11-17 15:49:17 +01:00
Torkel Ödegaard
b5b93a68fc Merge branch 'master' into graphite-series-by-tags 2017-11-15 11:12:11 +01:00
Torkel Ödegaard
a534ac4948 build: fixed jshint error 2017-11-14 12:42:45 +01:00
Torkel Ödegaard
012b72cdbf fix: Html escaping caused issue in InfluxDB query editor, could not pick greater than or less then operators, fixes #9871 2017-11-14 11:27:36 +01:00
Torkel Ödegaard
10fcf2f5be Merge branch 'master' into develop 2017-11-02 15:56:09 +01:00
Torkel Ödegaard
fec37f22b8 fix: fixed compiler error from #9676 2017-11-01 08:08:16 +01:00
Patrick O'Carroll
c8f7361e3f converted ng_model_on_blur.js to ts, deletedkeyboard_manager.js (#9676) 2017-11-01 07:51:40 +01:00
Patrick O'Carroll
c3a9a04dad converted confirm_click.js to .ts (#9674)
* converted confirm_click.js to .ts

* deleted confirm_click.ts

* removed import of confirm_click
2017-10-31 13:58:38 +01:00
Torkel Ödegaard
9605ab4475 Merge branch 'master' into develop 2017-10-26 15:59:50 +02:00
Torkel Ödegaard
74fcb2494a prometheus: fixed unsaved changes warning when changing time range due to step option on query model was changed in datasource.query code, fixes #9675 2017-10-26 11:46:33 +02:00
Torkel Ödegaard
68562a2077 Merge branch 'master' into develop 2017-10-24 11:02:48 +02:00
Torkel Ödegaard
7861c27557 fix: another fix for playlist view state, #9639 2017-10-24 10:58:14 +02:00
Patrick O'Carroll
8afb84a5e5 fix: fixed playlist controls and view state, fixes #9639 2017-10-24 10:43:48 +02:00
Torkel Ödegaard
fff0fa2aee Merge branch 'master' into develop 2017-10-22 11:51:14 +02:00
Torkel Ödegaard
4aa227dd84 [Tech]: Start migrating to Jest for tests (#9610)
* tech: investigating karma + jest mix

* tech: migrating tests to jest

* tech: moved anoter test file to jest

* test: migrated two more test files to jest

* test: updated readme and made test fail to verify that it causes CI build failure

* tech: added code coverage for jest tests

* tech: testing codecov coverage

* tech: migrated more tests

* tech: migrated template srv to typescript and the tests to jest

* tech: minor build fix

* tech: build fixes

* build: another attempt at fixing go test with coverage
2017-10-22 07:03:26 +02:00
Alexander Zobnin
968ce15e7f graphite: add tags to dropdown and switch to tag editor if selected 2017-10-20 12:07:31 +03:00
Torkel Ödegaard
087b55aece newgrid: progress on fullscreen/edit view modes 2017-10-11 11:42:49 +02:00
Torkel Ödegaard
2e77bd0cb1 grid: progress on react grid 2017-10-10 17:57:53 +02:00
Torkel Ödegaard
647a3cc5ae Merge branch 'master' into develop 2017-10-09 16:01:54 +02:00
Alexander Zobnin
a174ad4c9a Unified Color picker fixes (#9466)
* colorpicker: fix opening error when color is undefined

* colorpicker: replace spectrum picker by new color picker

* colorpicker: remove old spectrum picker directive

* annotations: use tinycolor for working with region colors
2017-10-09 13:54:14 +02:00
Torkel Ödegaard
ec802dbc1f fix: escape metric segment auto complete, fixes #9423 2017-10-09 07:24:09 +02:00
Torkel Ödegaard
25aa9df270 Create annotations (#8197)
* annotations: add 25px space for events section

* annotations: restored create annotation action

* annotations: able to use fa icons as event markers

* annotations: initial emoji support from twemoji lib

* annotations: adjust fa icon position

* annotations: initial emoji picker

* annotation: include user info into annotation requests

* annotation: add icon info

* annotation: display user info in tooltip

* annotation: fix region saving

* annotation: initial region markers

* annotation: fix region clearing (add flot-temp-elem class)

* annotation: adjust styles a bit

* annotations: minor fixes

* annoations: removed userId look in loop, need a sql join or a user cache for this

* annotation: fix invisible events

* lib: changed twitter emoij lib to be npm dependency

* annotation: add icon picker to Add Annotation dialog

* annotation: save icon to annotation table

* annotation: able to set custom icon for annotation added by user

* annotations: fix emoji after library upgrade (switch to 72px)

* emoji: temporary remove bad code points

* annotations: improve icon picker

* annotations: icon show icon picker at the top

* annotations: use svg for emoji

* annotations: fix region drawing when add annotation editor opened

* annotations: use flot lib for drawing region fill

* annotations: move regions building into event_manager

* annotations: don't draw additional space if no events are got

* annotations: deduplicate events

* annotations: properly render cut regions

* annotations: fix cut region building

* annotations: refactor

* annotations: adjust event section size

* add-annotations: fix undefined default icon

* create-annotations:  edit event (frontend part)

* fixed bug causes error when hover event marker

* create-annotations:  update event (backend)

* ignore grafana-server debug binary in git (created VS Code)

* create-annotations: use PUT request for updating annotation.

* create-annotations: fixed time format when editing existing event

* create-annotations: support for region update

* create-annotations: fix bug with limit and event type

* create-annotations: delete annotation

* create-annotations: show only selected icon in edit mode

* create-annotations: show event editor only for users with at least Editor role

* create-annotations: handle double-sized emoji codepoints

* create-annotations: refactor

use CP_SEPARATOR from emojiDef

* create-annotations: update emoji list, add categories.

* create-annotations: copy SVG emoji into public/vendor/npm and use it as a base path

* create-annotations: initial tabs for emoji picker

* emoji-picker: adjust styles

* emoji-picker: minor refactor

* emoji-picker: refactor - rename and move into one directory

* emoji-picker: build emoji elements on app load, not on picker open

* emoji-picker: fix emoji searching

* emoji-picker: refactor

* emoji-picker: capitalize category name

* emoji-picker: refactor

move buildEmojiElem() into emoji_converter.ts for future reuse.

* jquery.flot.events: refactor

use buildEmojiElem() for making emojis, remove unused code for font awesome based icons.

* emoji_converter: handle converting error

* tech: updated

* merged with master

* shore: clean up some stuff

* annotation: wip tags

* annotation: filtering by tags

* tags: parse out spaces etc. from a tags string

* annotations: use tagsinput component for tag filtering

* annotation: wip work on how we query alert & panel annotations

* annotations: support for updating tags in an annotation

* linting

* annotations: work on unifying how alert history annotations and manual panel annotations are created

* tslint: fixes

* tags: create tag on blur as well

Currently, the tags directive only creates the tag when the
user presses enter. This change means the tag is created on
blur as well (when the user clicks outside the input field).

* annotations: fix update after refactoring

* annotations: progress on how alert annotations are fetched

* annotations: minor progress

* annotations: progress

* annotation: minor progress

* annotations: move tag parsing from tooltip to ds

Instead of parsing a tag string into an array in the annotation_tooltip
class, this moves the parsing to the datasources. InfluxDB ds already
does that parsing. Graphite now has it.

* annotations: more work on querying

* annotations: change from tags as string to array

when saving in the db and in the api.

* annotations: delete tag link if removed on edit

* annotation: more work on depricating annotation title

* annotations: delete tag links on delete

* annotations: fix for find

* annotation: added user to annotation tooltip and added alertName to annoation dto

* annotations: use id from route instead from cmd for updating

* annotations: http api docs

* create annotation: last edits

* annotations: minor fix for querying annotations before dashboard saved

* annotations: fix for popover placement when legend is on the side (and doubel render pass is causing original marker to be removed)

* annotations: changing how the built in query gets added

* annotation: added time to header in edit mode

* tests: fixed jshint built issue
2017-10-07 10:31:39 +02:00
Torkel Ödegaard
d38c891fac merge with master 2017-10-02 14:14:45 +02:00
Torkel Ödegaard
0c86241c5b Webpack (#9391)
* webpack poc, this is not going to work for plugins, dam

* tech: webpack and systemjs for plugins starting to work

* tech: webpack and systemjs combo starting to work

* tech: webpack + karma tests progress

* tech: webpack + karma progress

* tech: working on tests

* tech: webpack

* tech: webpack + karma, all tests pass

* tech: webpack + karma, all tests pass

* tech: webpack all tests pass

* webpack: getting closer

* tech: webpack progress

* webpack: further build refinements

* webpack: ng annotate fixes

* webpack: optimized build fix

* tech: minor fix for elasticsearch

* tech: webpack + ace editor

* tech: restored lodash move mixin compatability

* tech: added enzyme react test and upgraded to react v16

* tech: package version fix

* tech: added testdata to built in bundle

* webpack: sass progress

* tech: prod & dev build is working for the sass

* tech: clean up unused grunt stuff and moved to scripts folder

* tech: added vendor and manifest chunks, updated readme and docs

* tech: webpack finishing touches
2017-10-01 20:02:25 +02:00
Torkel Ödegaard
5849fbf04e Merge branch 'master' of github.com:grafana/grafana into develop 2017-09-28 10:37:57 +02:00
Torkel Ödegaard
c0c86c1138 tech: remove bower and moved remaining bower dependencies to npm 2017-09-22 09:47:25 +02:00
Torkel Ödegaard
18337f610d Merge branch 'master' into develop 2017-09-22 08:42:07 +02:00
Torkel Ödegaard
6aad2a5b2d tech: cleanup and fixed build issue 2017-09-21 21:12:49 +02:00
Torkel Ödegaard
b8d9722b4f tech: removing unused variables from typescript files, and making tslint rules more strict 2017-09-21 16:40:18 +02:00
Torkel Ödegaard
fed35909cc tech: progress on react poc 2017-09-21 13:32:57 +02:00
Torkel Ödegaard
da9c8c814f progress on rows as panelsW 2017-08-18 16:33:36 +02:00
Torkel Ödegaard
55c6b4b99c started on rows as panels in single grid 2017-08-18 13:25:51 +02:00
Torkel Ödegaard
7ed2ed71f0 ux: dashboard stuff 2017-08-17 18:50:46 +02:00
Torkel Ödegaard
1dab313ca3 Merge branch 'master' into develop 2017-08-14 10:30:36 +02:00
Daniel Lee
59513ff963 tempvar: bug fix for duplicate template var
and a fix for when selecting the same value twice in
a template variable if it is not multi select. It threw an
exception on the second selection
2017-08-09 14:28:23 +02:00
Torkel Ödegaard
9fb60c2fc8 Merge branch 'develop' into panel-title-menu-ux 2017-08-02 09:56:08 +02:00
Torkel Ödegaard
2d2800e710 fix: url did not update correctly when closing settings view by using ESC key, fixes #8869 2017-07-24 12:21:30 +02:00
Torkel Ödegaard
5360303ad4 ux: nav changes 2017-06-22 19:05:33 -04:00
Torkel Ödegaard
43ffe826fa dashboard acl work 2017-06-20 17:18:20 -04:00
Torkel Ödegaard
3edd209736 dashboard acl modal 2017-06-20 12:36:07 -04:00
Torkel Ödegaard
6a95df403a refacoring: more work on metric segment replacement 2017-06-14 19:42:45 -04:00
Torkel Ödegaard
380e7e7f04 Merge branch 'master' into metric-segment-remake 2017-06-14 16:17:13 -04:00
Torkel Ödegaard
9ff4ab1236 Merge branch 'master' into query_troubleshooting 2017-06-13 16:47:04 -04:00
Martin Molnar
d10d897d65 fix: component name of plugin page contains 'undefined' (#8590) 2017-06-12 15:11:00 +02:00
Torkel Ödegaard
217c746445 ux: close edit views when opening panel in edit mode 2017-06-08 14:23:51 +02:00
Torkel Ödegaard
8f6c9c5946 dasboard_history: some polish around styles & diff colors, and minor fixes 2017-06-07 12:39:06 +02:00
Torkel Ödegaard
f3980504e2 Merge branch 'master' into walmartlabs-master 2017-06-05 13:43:00 +02:00
Torkel Ödegaard
d47c47853a ux: added css annimations for dash edit views 2017-06-02 15:29:25 +02:00
sanchitraizada
77c046aac6 Implement review feedback 2017-06-01 17:57:09 -04:00
sanchitraizada
e6616cc551 Merge pull request #10 from walmartlabs/version-control
History and Version Control for Dashboard Updates
2017-05-25 14:50:47 -07:00
Ben Tranter
b6e46c9eb8 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
Torkel Ödegaard
a0b9dcad4d alert: alerting annotation improvements, fixes #8421 2017-05-22 13:02:49 +02:00
Torkel Ödegaard
5e090b84ec feat: Copy to clipboard now works in query troubleshooter 2017-05-20 14:52:33 +02:00
Torkel Ödegaard
b8aa6a8e47 query: more work on metrics tab changes 2017-05-20 10:48:47 +02:00
Torkel Ödegaard
5909f9ef92 feat: more work on metrics tab reworkings 2017-05-19 21:32:23 +02:00
Torkel Ödegaard
25a267a7ab fix: segment used influxdb naming for variable in options callback, should be more generic 2017-05-08 16:08:53 +02:00
lpavlovi
c323d2fc4c Removed panelElemName - appears to not be used anywhere (#8313) 2017-05-07 08:19:08 +02:00
Torkel Ödegaard
f1276774a0 typescript: updated tslint and fixed new warnings 2017-04-20 11:16:37 +02:00