Commit Graph

357 Commits

Author SHA1 Message Date
Buck Doyle
69605fc3d4 Update loading spinner to be logo-based (#9106)
Thanks to @mikehobi, whose work here this is adapted from:
https://icons8.com/cssload/en/3d-loaders
2020-10-15 16:05:58 -05:00
Michael Lange
214ce4a3d2 Work around Safari's lack of text transform support 2020-10-15 11:45:59 -07:00
Michael Lange
13415df25c Unit and integration tests for TopoViz component 2020-10-15 02:54:16 -07:00
Michael Lange
3a48dbfb40 Test coverage for TopoViz::Datacenter 2020-10-15 02:54:16 -07:00
Michael Lange
9390d24890 Remove temp reloading of nodes in the TopoViz component 2020-10-15 02:54:16 -07:00
Michael Lange
84f88ecf7e Test coverage for TopoViz::Node 2020-10-15 02:54:16 -07:00
Michael Lange
611b0b3e00 FlexMasonry integration tests 2020-10-15 02:54:15 -07:00
Michael Lange
927343f36a Add icons to denote draining or ineligibility of clients 2020-10-15 02:54:15 -07:00
Michael Lange
de9124eea4 Label empty clients in the topo viz chart 2020-10-15 02:54:15 -07:00
Michael Lange
bb68a14cbc Improved curves for allocation associations 2020-10-15 02:54:15 -07:00
Michael Lange
a4c8ce4ee0 Fix a re-render bug with flexmasonry 2020-10-15 02:54:15 -07:00
Michael Lange
f5f964b7bf Make the topo viz denser when there are >50 nodes
By hiding node details and making nodes interactive instead, we can pack
more allocations on a screen.
2020-10-15 02:54:15 -07:00
Michael Lange
4e81ab8d3f Conditionally use the FlexMasonry layout for datacenters within TopoViz 2020-10-15 02:54:15 -07:00
Michael Lange
c5e84749ad Apply FlexMasonry to the TopoViz component 2020-10-15 02:54:15 -07:00
Michael Lange
c152ccb945 New FlexMasonry component implements a masonry layout using flexbox 2020-10-15 02:54:15 -07:00
Michael Lange
a9e29178bb Second attempt at a masonry layout 2020-10-15 02:54:15 -07:00
Michael Lange
be2d0fc201 A better loading screen for the topo viz while nodes load 2020-10-15 02:54:14 -07:00
Michael Lange
d13c065bbd Refactor topo viz to do as much computation upfront & use faster data structures
Now all data loading happens in the TopoViz component as well as
computation of resource proportions.

Allocation selection state is also managed centrally uses a dedicated
structure indexed by group key (job id and task group name). This way
allocations don't need to be scanned at the node level, which is O(n) at
the best (assuming no ember overhead on recomputes).
2020-10-15 02:54:14 -07:00
Michael Lange
9991dc63bb Make the alloc select render path more efficient by not needlessly recomputing data 2020-10-15 02:54:14 -07:00
Michael Lange
2704c3e4b8 CSS Grid based masonry layout
TBH, it's buggy and I don't like it.
2020-10-15 02:54:14 -07:00
Michael Lange
3cd464d03c Updated alloc and cluster details on topo page 2020-10-15 02:54:14 -07:00
Michael Lange
f56f631676 Associate sibling allocations by drawing lines 2020-10-15 02:54:14 -07:00
Michael Lange
0b3a78b9ef Touch up topo viz interactions 2020-10-15 02:54:13 -07:00
Michael Lange
36df145da5 Fleshing out the first prototype of the topology visualization 2020-10-15 02:54:13 -07:00
Michael Lange
b3ddd1f897 Start click interaction for topo viz allocs 2020-10-15 02:54:13 -07:00
Michael Lange
773404a47f Prototype of the topo viz
- Plot all datacenters
- For each datacenter, plot all nodes
- For each node, plot all allocations by memory and cpu
- For empty nodes, highlight the emptiness
- When hovering over allocations, give them visual focus
2020-10-15 02:54:13 -07:00
Michael Lange
6d9f59f87d Scaffold topo viz components 2020-10-15 02:54:13 -07:00
Michael Lange
753bfbf1e7 Scaffold a new topology page 2020-10-15 02:54:12 -07:00
Michael Lange
ccf022ec8b Acceptance test coverage for the submit time sorting on the periodic and parameterized detail pages 2020-09-19 12:37:38 -07:00
Michael Lange
7477e972f8 Update job launches table to use the page size select pattern 2020-09-18 18:27:48 -07:00
Michael Lange
bf1c879447 Add job submit time to the job children list 2020-09-18 17:58:15 -07:00
Michael Lange
f8a505ea2f Temporarily remove poststop from the UI
Since poststart and poststop are shipping separately, we can't ship them
both in the UI at the same time.
2020-08-31 19:32:38 -07:00
Buck Doyle
14bfb9a53c Add poststart and poststop lifecycle phases 2020-08-26 09:55:42 -05:00
Buck Doyle
5eddb14a33 Add component accessibility auditing and fixes (#8679)
This continues #8455 by adding accessibility audits to component integration
tests and fixing associated errors. It adds audits to existing tests rather than
adding separate ones to facilitate auditing the various permutations a
component’s rendering can go through.

It also adds linting to ensure audits happen in component tests. This
necessitated consolidating test files that were scattered.
2020-08-25 10:56:02 -05:00
Nick Ethier
2be03bc0d9 Update UI to use new allocated ports fields (#8631)
* nomad: canonicalize alloc shared resources to populate ports

* ui: network ports

* ui: remove unused task network references and update tests with new shared ports model

* ui: lint

* ui: revert auto formatting

* ui: remove unused page objects

* structs: remove unrelated test from bad conflict resolution

* ui: formatting
2020-08-20 11:07:13 -04:00
Michael Lange
7dde9ab100 Key the annotations each loop by annotationKey for stable dom nodes 2020-08-06 17:58:43 -07:00
Michael Lange
208eb0d808 Compare scale events by their UID instead of reference equality 2020-08-05 12:02:23 -07:00
Michael Lange
73e73229db Use the correct gray for the info details 2020-08-05 12:02:22 -07:00
Michael Lange
8f61830f72 Integration tests for the ScaleEventsChart component 2020-08-05 12:02:22 -07:00
Michael Lange
e343f23360 New ScaleEventsChart component
Displays all scale events in the form of an annotated line chart. When
annotations are clicked, the timestamp, message, and meta propeties for
the event are displayed below the chart.
2020-08-05 12:02:22 -07:00
Michael Lange
c4312187f8 Add activeAnnotation property to line-chart 2020-08-05 12:02:22 -07:00
Michael Lange
4936c3f658 Stagger line chart annotations when they are too close 2020-08-05 12:02:22 -07:00
Michael Lange
f04b646dcb Test coverage for line chart annotations 2020-08-05 12:02:22 -07:00
Michael Lange
9465fc6d9d Add annotations to the line chart component 2020-08-05 12:02:22 -07:00
Michael Lange
1205387f83 Merge pull request #8563 from hashicorp/b-ui/missing-job-distribution-chart-texture
UI: Restore striped texture used in the job distribution bar
2020-07-30 08:20:48 -07:00
Michael Lange
2f1106aca8 Move the svg-patterns template into the component dir 2020-07-29 22:54:30 -07:00
Michael Lange
a45f316b25 Add a tooltip to explain the count change icons 2020-07-29 19:30:00 -07:00
Michael Lange
a5031913b0 Assert that the scale up/down indicator is not shown when the count is null 2020-07-29 19:26:32 -07:00
Michael Lange
b0830f5305 Integration tests for the scale-events-accordion component 2020-07-29 19:26:32 -07:00
Michael Lange
193dc7a697 Refactor scale events into their own component 2020-07-29 19:26:32 -07:00