Łukasz Mierzwa
41cca9e501
feat(ui): deduplicate silences
...
If all alerts in a group are silenced and the same silence ID is used for all of them then there's no point in rendering silence object for each of the alerts, since they are all identical. Move the silence rendering to the footer if that happens so we save screen space
2019-03-08 17:41:22 +00:00
Łukasz Mierzwa
e3596dfbf4
feat(ui): truncate silences with long comments
...
Only show first 2 lines of a silence comment by default, the rest should be visible only when silence details are visible
2019-03-07 23:01:11 +00:00
Łukasz Mierzwa
f099ccc0ea
feat(ui): render an indicator icon when alert is inhibited
...
Right now we don't mark inhibted alerts in any way, so they look like silenced alerts with no silence details. Add an icon with tooltip so inhibited alerts can be easily distinguished from silenced onces
2019-03-05 11:02:08 +00:00
Łukasz Mierzwa
a41c07bcee
fix(ui): pass credentials when sending silences to alertmanager
...
Fixes #484
2019-03-01 20:47:36 +00:00
Łukasz Mierzwa
1093b38164
feat(ui): use not-equal operator when user alt+clicks on a label
...
When user clicks on a label we apply a foo=bar filter, this change allows to add a foo!=bar filter by holding Alt key when clicking.
Fixes #485
2019-03-01 19:44:08 +00:00
Łukasz Mierzwa
6ac1d17c18
refactor(ui): use bootstrap utilities for word breaks
...
Using bootstrap means that we don't need to worry about browser compatibility, which in this case means Edge where this wasn't enough
2019-02-24 22:35:39 +00:00
Łukasz Mierzwa
e20f75e09c
fix(ui): use current number of alerts in the count label
...
alertsToRender can be higher than the number of alerts in a group if the number keeps changing. This means we might end up with 'Showing 30/10', so ensuring that we don't show a number higher than the actual group size will make it more accurate
2019-02-23 11:18:44 +00:00
Łukasz Mierzwa
3bd6ebbf3a
feat(ui): use grid sorting settings from the API as defaults
2019-02-20 22:24:54 +00:00
Łukasz Mierzwa
397bbe5783
feat(config): allow configuring label value mapping for sorting
...
This feature solves the problem of sorting by label when values have special meaning and alphabetic sort doesn't make sense for it.
2019-02-18 23:17:47 +00:00
Łukasz Mierzwa
15f8af9a4a
fix(tests): update snapshot after upgrading enzyme
...
Those extra lines are 2 buttons that should be present: Back and Submit. Not sure why those were missing before, but looks like new enzyme fixes this snapshot test as those are expected.
2019-02-17 09:50:40 +00:00
Łukasz Mierzwa
da6368288a
feat(ui): allow sorting alert grid
...
This adds the ability for user to sort the grid of alerts via selected attribute.
UI configuration is provided to setup if timestamps or labels should be used to sort alerts.
2019-02-15 17:23:37 +00:00
Łukasz Mierzwa
4100486127
fix(tests): add css classes to react-select components
...
react-select 2.4 drops role['option'] from Option components, which makes it harder to find those in the DOM while testing. Set classNamePrefix so that all components get extra react-select-* css classes, which allows to easily reference them in tests via enzyme selectors.
2019-02-15 09:51:19 +00:00
Łukasz Mierzwa
f013ec321a
fix(tests): trigger click on the right element
2019-02-06 08:07:10 +00:00
Łukasz Mierzwa
675ec52cac
fix(tests): remove async from tests that don't need it
2019-02-06 07:51:04 +00:00
Łukasz Mierzwa
b8f15819b8
chore(tests): update snapshots after fontawesome upgrade
2019-01-29 09:03:51 +00:00
Łukasz Mierzwa
e0ddf15d0e
fix(ui): align autocomplete dropdown with the input
2019-01-18 20:08:51 +00:00
Łukasz Mierzwa
168638ae72
chore(tests): update snapshots after upgrading react-select
2019-01-18 08:55:23 +00:00
Łukasz Mierzwa
bab4c20a27
chore(tests): update snapshots for react-json-pretty 2.0
2019-01-03 18:44:25 +00:00
Łukasz Mierzwa
fd7ece5364
fix(ui): use new import path for react-json-pretty theme
...
react-json-pretty 2.0 requires a different import path for themes
2019-01-03 18:41:51 +00:00
Łukasz Mierzwa
abd14bb079
fix(test): use correct alertmanager option format in tests
2019-01-01 23:02:29 +00:00
Łukasz Mierzwa
8c80f74487
fix(ui): prevent duplicated Alertmanager input options
...
Select value is an array, turn it into a string before checking if it's already selected
2019-01-01 23:02:29 +00:00
Łukasz Mierzwa
62db6859ea
fix(ui): use new style alertmanager input values
2019-01-01 23:02:29 +00:00
Łukasz Mierzwa
09d1196df0
fix(ui): user alertmanager label as argument for @alertmanager filter
2019-01-01 23:02:29 +00:00
Łukasz Mierzwa
05cefe8177
feat(ui): use bootstrap custom control for checkboxes
...
This will use bootstrap styled controls instead of native.
https://getbootstrap.com/docs/4.2/components/forms/#switches
2018-12-31 09:06:13 +00:00
Łukasz Mierzwa
82108866b2
chore(tests): update failing snapshots after react-select upgrade to 2.2
2018-12-29 21:26:59 +00:00
Łukasz Mierzwa
6aed0de5df
fix(tests): force using UTC so tests don't fail on a non-UTC timezone
2018-12-27 20:24:44 +01:00
Łukasz Mierzwa
7d52626489
fix(ui): send silences only to a single cluster node
...
Silences are shared by HA cluster members, when submitting a silence to a cluster try each each member but stop after first successful fetch
2018-12-01 17:58:40 +00:00
Łukasz Mierzwa
9f4ee09a56
fix(ui): only show one silence per Alertmanager cluster
...
HA clusters share silences which means that they are currently duplicated for each alertmanager instance in that cluster
2018-12-01 10:47:24 +00:00
Łukasz Mierzwa
3a905b748e
feat(api): consume Alertmanager cluster id in the UI
2018-12-01 09:57:59 +00:00
Łukasz Mierzwa
ffa446e8f6
chore(ui): update UI to consume cluster list as a dict
2018-11-30 23:59:58 +00:00
Łukasz Mierzwa
4babccbf0e
fix(tests): add clusters to tests
2018-11-30 19:41:13 +00:00
Łukasz Mierzwa
0ec81e8427
fix(ui): don't show @alertmanager labels on HA setup
...
Only show @alertmanager labels when we have more than one cluster present
2018-11-30 19:27:12 +00:00
Łukasz Mierzwa
fd2e852050
feat(ui): consumer Alertmanager version and cluster members
2018-11-30 18:35:34 +00:00
Łukasz Mierzwa
bfb509c0e7
chore(ui): use modal reference instead of class query
2018-11-21 21:54:49 +00:00
Łukasz Mierzwa
44e4d90651
chore(ui): react-datepicker 2.0 uses Date instead of moment
...
Latest react-datepicker no longer accepts moment instances, it uses plain js Date objects instead.
Migrate code to pass props as Date.
2018-11-19 21:40:05 +00:00
Łukasz Mierzwa
406c2c19bf
fix(ui): only break long words in annotations
2018-10-27 10:38:33 +01:00
Łukasz Mierzwa
87540017a4
chore(ui): drop margin between annotations and labels
2018-10-26 22:56:40 +01:00
Łukasz Mierzwa
21bc57bc24
fix(ui): use correct classes for not yet applied filters
2018-10-26 22:55:26 +01:00
Łukasz Mierzwa
6b4fce05e5
refactor(ui): cleanup label color/style selection
...
Merge into a single function since both className & style are tied together and as such are better of if selected using a single logic. Fixes some minor UI glitches like ellipsis color on truncated labels with custom color
2018-10-26 19:13:37 +01:00
Łukasz Mierzwa
fa6f4b270a
chore(ui): update snapshots for react-select 2.1.1
2018-10-24 18:05:14 +01:00
Łukasz Mierzwa
a85f3810aa
fix(ui): move ul to a dedicated div to prevent bottom border
...
The way list-group-flush is styled any extra element on the ul level seems to be causing top/bottom borders to show up, move it under a dedicated div to prevent that from happening, with list-group-flush we want borders only between label set elements
2018-10-16 18:43:16 +01:00
Łukasz Mierzwa
cd29ae431e
refactor(ui): use flex instead of float in alert group header
2018-10-15 19:05:49 +01:00
Łukasz Mierzwa
8bc2c83de3
refactor(ui): change label style to make the value more visible
...
Fixes #18
2018-10-15 19:05:49 +01:00
Łukasz Mierzwa
ba3a572604
feat(ui): add tooltips to silence matcher counters
2018-10-11 12:23:22 +01:00
Łukasz Mierzwa
a0cca7f049
chore(ui): tweak affected alerts preview
2018-10-11 11:50:16 +01:00
Łukasz Mierzwa
96acb5bbfe
fix(ui): fix silence form reset callbacks
...
resetProgress() should only be called *after* form is hidden, doing it before will cause it to re-render with UserInput stage which will trigger autocomplete requests
2018-10-11 10:25:31 +01:00
Łukasz Mierzwa
3fb4feb731
feat(ui): allow passing extra props down to modal transition
2018-10-11 10:24:35 +01:00
Łukasz Mierzwa
8d7561cee6
feat(ui): paginate long preview lists
2018-10-10 22:41:05 +01:00
Łukasz Mierzwa
909d5a13b3
fix(ui): don't try to enable scrolling on unmounted modal
...
when we call enableBodyScroll() .modal instance is already gone, which causes crashes on touch enabled devices
2018-10-09 19:44:20 +01:00
Łukasz Mierzwa
7a9168a606
fix(tests): drop broken test
...
Throwing errors in CI, not very useful, drop it for now
2018-10-08 23:32:50 +01:00