Michael Lange
a74e6648b9
Styleguide entry for the line chart component
2018-09-13 16:45:13 -07:00
Michael Lange
d516daf83e
New line chart component
2018-09-13 16:45:08 -07:00
Michael Lange
f15e3ba0c2
Test coverage for NodeStatsTracker
2018-09-11 16:27:06 -07:00
Michael Lange
a97e0bcc5e
Add support for non-list tooltips in charts
2018-09-07 09:57:54 -07:00
Michael Lange
2711abc3ce
Add chart color swatches based on css colors
2018-09-07 09:57:33 -07:00
Michael Lange
1530eed9f7
Bring in new d3 dependencies
2018-09-07 09:55:39 -07:00
Michael Lange
fbfc5ecb16
Example usage of the NodeStatsTracker
2018-08-31 14:39:23 -07:00
Michael Lange
680ac6c9b0
A StatsTracker for client-level statistics
2018-08-31 14:39:23 -07:00
Michael Lange
3d761b7347
Unit Tests for AllocationStatsTracker
2018-08-31 14:39:22 -07:00
Michael Lange
416de6c32a
Unit tests for RollingArray
2018-08-31 14:39:22 -07:00
Michael Lange
f5fa5101b4
Example of usage of the AllocationsStatsTracker
2018-08-31 14:39:22 -07:00
Michael Lange
da4852a6cd
An implementation of StatsTracker for allocations
...
It accumulates CPU and Memory usage for the allocation as a whole as well
as by task.
2018-08-31 14:39:22 -07:00
Michael Lange
e1e89ce92f
An abstract class for capturing nomad stats
...
It follows the form of poll -> json parse -> append,
Where append is defined in subclasses to add data from the new frame
to long-lived rolling arrays of data.
2018-08-31 14:39:22 -07:00
Michael Lange
0c35f189e9
An array subclass that enforces a maxLength
...
The maxLength is enforced by removing elements from the head of the
list.
2018-08-31 14:39:22 -07:00
Michael Lange
33da5ed14f
Merge pull request #4600 from hashicorp/f-ui-job-writes
...
UI: Job Writes
2018-08-30 10:41:14 -07:00
Michael Lange
ebe0e97b1a
Merge pull request #4615 from hashicorp/f-ui-restart-stopped-job
...
UI: Restart stopped job
2018-08-30 09:49:14 -07:00
Michael Lange
3c2e7b7dd3
Merge pull request #4616 from hashicorp/f-ui-promote-canary
...
UI: Promote canary
2018-08-30 09:48:31 -07:00
Michael Lange
62e9cf268b
Test coverage for the promote canary feature
2018-08-30 09:38:29 -07:00
Michael Lange
182e020835
Fix the flickering issue with start/stop job
...
When the server doesn't respond immediately, there is a visible window
of time between the action being submitted and the blocking query coming
back with the new job status.
2018-08-28 11:27:00 -07:00
Michael Lange
37acc77c9c
Add a confirmation loading state to the two-step-button component
2018-08-28 11:27:00 -07:00
Michael Lange
c8492682e1
Switch stop/run job actions to EC tasks
2018-08-28 11:27:00 -07:00
Michael Lange
18d5efce1e
Test coverage for the Start Job behavior
2018-08-28 11:27:00 -07:00
Michael Lange
a4d951a757
Add Start Job action on the job overview page for when a job is dead
2018-08-28 11:27:00 -07:00
Michael Lange
0142f97069
Update the info message about token storage
2018-08-28 10:05:36 -07:00
Michael Lange
0eb5e61e36
Switch token storage to localStorage from sessionStorage
2018-08-28 10:05:15 -07:00
Michael Lange
bcbeac7f35
Change the latest deployment component to include a Promote Canary button
...
Before it would say the deployment required promotion, now it has a
button that triggers the promotion.
2018-08-24 16:41:47 -07:00
Michael Lange
c4cb0229d6
Support the promote deployment api action
2018-08-24 16:41:47 -07:00
Michael Lange
715e2ac82a
Simplify the data control flow around job.plan()
2018-08-23 15:40:42 -07:00
Michael Lange
0fb7fea825
Acceptance tests for the edit behaviors on the job definition page
2018-08-23 10:26:20 -07:00
Michael Lange
4484c28e07
Rewrite the job run acceptance tests to be about routing
2018-08-23 09:00:47 -07:00
Michael Lange
b5b4a979f9
Test coverage for the job-editor component
...
Most of this was ported over from the existing job run acceptance tests
2018-08-23 09:00:14 -07:00
Michael Lange
e60b16a7e0
Since registerHelper doesn't work in integration tests a new way is needed
...
This exports a function that returns the pertinent function when given a
container. This way it works in registerHelper and in integration tests
beforeEach hooks
2018-08-22 17:34:25 -07:00
Michael Lange
1f40ab5da5
Introduce job editing to the job definition page
2018-08-21 16:46:24 -07:00
Michael Lange
3ca2237b29
Support cancellation of editing in the job-editor
2018-08-21 16:45:53 -07:00
Michael Lange
772731ccd4
Fix bug where scrolling wasn't using the document
...
Instead it was using the page-layout is-right div
2018-08-21 16:44:59 -07:00
Michael Lange
ed763ad14f
Handle update job in the model
2018-08-21 16:44:31 -07:00
Michael Lange
a7cd7b39d6
fixup-job-editor
2018-08-21 16:43:46 -07:00
Michael Lange
902ec3e734
fixup-adapter
2018-08-21 16:43:30 -07:00
Michael Lange
527b5d5e97
Support different contexts for the job editor
2018-08-21 16:41:05 -07:00
Michael Lange
05a3238c37
Support job update in the adapter
2018-08-21 16:39:47 -07:00
Michael Lange
33499658a4
Use the same urlForFindRecord logic for urlForUpdateRecord
2018-08-21 16:38:35 -07:00
Michael Lange
cd6d4e41e5
Fix multiple highlight bug in the distribution-bar component
...
Caused by the re-indexing that occurs to remove zero-value bars.
2018-08-21 16:37:36 -07:00
Michael Lange
c81ba192dc
Fix a blocking queries bug
...
The lowest valid blocking query index is 1, but the API will return 0 if
there has yet to be an index set (no response). This in conjunction with
that 0 being stored as a string made the "fallback to 1" guard not work.
2018-08-21 13:47:01 -07:00
Michael Lange
b3c2538c68
Move the bulk of the new job page into a new job editor component
2018-08-21 12:07:45 -07:00
Michael Lange
55fca36bea
New job edit page
2018-08-21 12:06:43 -07:00
Michael Lange
3cee992a97
Test coverage for scheduler dry-run addition to the plan page
2018-08-20 16:44:37 -07:00
Michael Lange
063021081d
Fixed bug that prevented non verbose job diffs from printing changed leaf nodes
2018-08-20 16:44:37 -07:00
Michael Lange
9cab82146c
Show the scheduler dry-run output on the plan page
2018-08-20 16:44:37 -07:00
Michael Lange
8ed04e64fe
Specialized No Leader error page
2018-08-20 14:11:50 -07:00
Michael Lange
ee074e9ef5
Don't use the verbose diff for job run plan
2018-08-17 18:32:59 -07:00
Michael Lange
74248bc3f6
Spiff up the form buttons with type and disabled attributes
2018-08-17 18:20:15 -07:00
Michael Lange
2e35687a1d
Acceptance tests for job run page
2018-08-16 17:22:58 -07:00
Michael Lange
f53fb08144
Rework job parse mirage request to get the job ID out of the payload
2018-08-16 17:22:22 -07:00
Michael Lange
1d3bf6bdea
New Page Object component for common error formatting
2018-08-16 10:57:56 -07:00
Michael Lange
e634a98102
New PageObject helper for getting and setting CodeMirror values
2018-08-16 10:57:13 -07:00
Michael Lange
9fb8964c00
New test helper for getting the underlying CodeMirror instance from a dom selector
2018-08-16 10:56:37 -07:00
Michael Lange
a96c4508d6
Acceptance test for the jobs list page
2018-08-15 17:12:18 -07:00
Michael Lange
75124fdc9e
Use the job name as the job id
...
This has bit me more than once. It's best just to make Mirage consistent
with the API even if it currently means indeterminate job ids
2018-08-15 17:00:08 -07:00
Michael Lange
2239e3c8d7
Support parse, plan, and run endpoints in mirage
2018-08-15 16:59:42 -07:00
Michael Lange
f06da96c90
Move the Diff property read out of the template
2018-08-15 16:58:54 -07:00
Michael Lange
da46817289
Error messages for job submit
2018-08-15 15:18:38 -07:00
Michael Lange
e1e3d2c34d
Run job UI and API workflows
2018-08-14 18:26:26 -07:00
Michael Lange
87cbf1ddbe
Remove unused solarized theme configuration
2018-08-14 17:37:44 -07:00
Michael Lange
de4caacb6d
Fix no allocations error message layout for the recent allocations component
2018-08-14 17:37:15 -07:00
Michael Lange
4d656c7a31
Parse and Plan API and UI workflows
2018-08-14 17:29:51 -07:00
Michael Lange
b0939bde07
Add breadcrumb to the run job page
2018-08-14 13:06:26 -07:00
Michael Lange
c85c2a2932
New job run page and navigation to get there.
2018-08-14 12:54:54 -07:00
Michael Lange
fe9d0b8704
New layout helper for associating two elements vertically
...
By default, blocks have a margin of 1.5em to create a consistent
vertical rhythm. However, sometimes elements need to be associated with
the element above them. In this cases, the gap between elements needs to
be tighter. There are many ways to do this, but this approach asks the
latter content to be marked as associative. The implication is that the
association is with the previous block.
2018-08-14 12:47:28 -07:00
Michael Lange
1cc7aba5d2
Enforce a min-height for the code editor component
2018-08-14 12:46:55 -07:00
Michael Lange
f41f814b49
Remove the old json viewer
2018-08-13 17:04:15 -07:00
Michael Lange
dd9202769a
Delete the removed "depth" aspect of json viewer from the styleguide
2018-08-13 17:04:14 -07:00
Michael Lange
c5b54393d0
Theme CodeMirror
...
Borrowed heavily from Vault
2018-08-13 17:04:14 -07:00
Michael Lange
0746501bc8
Use ivy-codemirror in the JSON Viewer component
2018-08-13 17:04:14 -07:00
Michael Lange
2b4bab875d
Introduce ivy-codemirror
2018-08-13 17:03:20 -07:00
Michael Lange
5ccf21fc5d
List the new region mirage env var in the environment file
2018-08-13 16:18:53 -07:00
Michael Lange
8ca806f8f8
Use the model hook and setupController hook instead of afterModel
...
This is a more idiomatic way to handle the QP resetting in the
application controller.
2018-08-13 16:18:06 -07:00
Michael Lange
104e5196a6
Acceptance tests for the region switcher
2018-08-10 12:52:05 -07:00
Michael Lange
3d89cb503b
Unit test coverage for adding the region param to requests
2018-08-09 20:27:54 -07:00
Michael Lange
94d321ef4f
Properly model regions in Mirage
2018-08-09 19:57:21 -07:00
Michael Lange
68142b3a82
Specify the request type for token self
...
Without this, the data (query params) get json stringified
2018-08-09 18:22:39 -07:00
Michael Lange
9f3a37f1c2
Simplify the control flow around changing namespaces and regions
...
The UI will no longer try to redirect to the appropriate namespace or
region if one is found in localStorage. Instead, it will assume that
the lack of query param means the default namespaces or region is
desired.
2018-08-09 18:22:39 -07:00
Michael Lange
8631fecc37
Update tests to handle region switching
2018-08-09 18:22:39 -07:00
Michael Lange
6e2bb48fd5
Handle errors when getting regions or the default regions
...
This protects against volatility in the server and, more commonly, ACLs
returning forbidden responses.
2018-08-09 18:22:39 -07:00
Michael Lange
3534b09977
Address an issue with certain dependent keys
2018-08-09 18:22:39 -07:00
Michael Lange
3180e57138
Only deal with the region param (in the app and in api calls) when necessary
2018-08-09 18:22:39 -07:00
Michael Lange
c4c79c7a1f
Get the server's region (aka default region) from the API
...
The default region shouldn't be used as a qp since no qp means the same
thing.
2018-08-09 18:22:38 -07:00
Michael Lange
0cfeba49d7
Add the region qp to all requests made through the token service
2018-08-09 18:22:38 -07:00
Michael Lange
d61fd9ef48
The application route doesn't need to fetch namespaces
2018-08-09 18:22:38 -07:00
Michael Lange
786811b84a
Sidestep a transpilation bug.
...
Default params don't make it into arguments which were being splatted
into the call to super.
2018-08-09 18:22:38 -07:00
Michael Lange
ad70fb9cc3
Repeat the new namespace pattern for region
2018-08-09 18:22:38 -07:00
Michael Lange
93f41278b1
Clear up the data flow for namespaces
...
This is incredibly tricky with query params, since there is a bundle of
timing issues, lifecycle issues, missing features, and all around
gotchas with query params.
This solution has no observers and no instances of the system service
being set from the jobs controller.
The upside to this is no observers, much easier to follow logic, no more
dependent key chain reactions.
2018-08-09 18:22:38 -07:00
Michael Lange
35250117cf
Account for the service:system dependency due to region
2018-08-09 18:22:38 -07:00
Michael Lange
85fe4459d0
Remove the gutter menu from the allocations page
2018-08-09 18:22:38 -07:00
Michael Lange
a9aa730d2c
Never show the menu divider for the first menu item
2018-08-09 18:22:38 -07:00
Michael Lange
2b93a76fa7
Line breadcrumbs up flush with section content
2018-08-09 18:22:38 -07:00
Michael Lange
04b9d80dc0
Make the dropdown ever so slightly off-white
2018-08-09 18:22:38 -07:00
Michael Lange
32d05509ca
Move the region switcher out of the secondary nav and into the gutter when the gutter is collapsed
2018-08-09 18:22:37 -07:00
Michael Lange
148495e853
Add region switcher to the global header
2018-08-09 18:22:37 -07:00
Michael Lange
2877b6b351
Only show the region switcher when there are multiple regions
2018-08-09 18:22:37 -07:00
Michael Lange
b889c8091e
Fetch regions and namespaces in the application route
2018-08-09 18:22:37 -07:00
Michael Lange
a430baba4f
Harden up the system service for the event of store unloading
2018-08-09 18:22:37 -07:00
Michael Lange
fd0d889a38
Reset the system service when unloading the store
2018-08-09 18:22:37 -07:00
Michael Lange
0a3a83fe1d
Add the region qp to every api request
2018-08-09 18:22:37 -07:00
Michael Lange
9a9cc35bd0
Styles for the region switcher
2018-08-09 18:22:37 -07:00
Michael Lange
2bb770361b
Add three-way region property (query param, service, localStorage)
2018-08-09 18:22:37 -07:00
Michael Lange
ebd5123b77
Bare minimum Mirage support for regions
2018-08-09 18:22:37 -07:00
Michael Lange
85ab69cf4e
Align the hamburger menu and ensure that it's full area is clickable
2018-08-06 11:21:54 -07:00
Michael Lange
805147947b
Remove extra whitespace
2018-08-06 11:21:54 -07:00
Michael Lange
86bafe66cf
Make the hamburger menu look more traditional
2018-08-06 11:21:54 -07:00
Michael Lange
b9fa9a98bc
Test coverage for gutter menu interactions
2018-08-06 11:21:54 -07:00
Michael Lange
aec990e41d
Make it "feel" mobile with a backdrop that closes the gutter menu on tap
2018-08-06 11:21:54 -07:00
Michael Lange
97220ae5fb
Visual treatment for the collapsed gutter menu
2018-08-06 11:21:54 -07:00
Michael Lange
cada7d3f70
Treat the nomad logo and the hamburger menu as their own css components
2018-08-06 11:21:53 -07:00
Michael Lange
ed4dcbe061
Refactor navbar markup
2018-08-06 11:21:53 -07:00
Michael Lange
f2f8c28a91
Style the hamburber menu icon
2018-08-06 11:21:53 -07:00
Michael Lange
737805272a
Add open/close functionality to the gutter-menu when it's collapsed
2018-08-06 11:21:53 -07:00
Michael Lange
3f75208f6b
Hide the gutter menu at low width resolutions
2018-08-06 11:21:53 -07:00
Michael Lange
3671350fe0
Undo the responsive styles that come with bulma
2018-08-06 11:21:53 -07:00
Michael Lange
54b838d934
Keep the search box around when a search yields no results
2018-08-06 11:02:22 -07:00
Michael Lange
5042896fab
Test coverage for the jobs/:job/allocations page
2018-08-06 11:02:22 -07:00
Michael Lange
e774163360
Tests for the recent allocations table
2018-08-06 11:02:21 -07:00
Michael Lange
9dcaafa0de
Refactor allocations page as a component
2018-08-06 11:02:21 -07:00
Michael Lange
4cc17c7292
Add object spread
2018-08-06 11:02:21 -07:00
Michael Lange
50794a7626
Treat filtering on an async relationship as async
2018-08-06 11:02:21 -07:00
Michael Lange
40826b2b88
Watch allocations on the job index page
...
Since there are no recent allocations, those alloc need to be watched
2018-08-06 11:02:21 -07:00
Michael Lange
6889a7305d
Don't use the boxed-section pattern on pages with one section
2018-08-06 11:01:27 -07:00
Michael Lange
e377de0356
Add search to the allocations page
2018-08-06 11:00:24 -07:00
Michael Lange
8eca16774e
Link to the allocations page from the recent allocations table
2018-08-06 11:00:23 -07:00
Michael Lange
30b0c9b262
Use the correct allocation row context in various places
2018-08-06 11:00:23 -07:00
Michael Lange
15da9f8250
Use the new taskGroup context for allocation row
2018-08-06 10:59:35 -07:00
Michael Lange
f6a3008d08
New dedicated allocations page for jobs
2018-08-06 10:59:35 -07:00
Michael Lange
0ac91ff15b
Add recent allocations to relevant job overview pages
2018-08-06 10:59:35 -07:00
Michael Lange
1f639260ad
Make sure memory and cpu bars have a consistent size
2018-08-06 10:59:35 -07:00
Michael Lange
de80f65efe
Remove the name column and add a created column to allocation rows
2018-08-06 10:59:35 -07:00
Michael Lange
578403b193
Add createTime to the allocation model
2018-08-06 10:53:13 -07:00
Michael Lange
f0ab8a231f
Merge pull request #4533 from hashicorp/f-ui-refactor-page-chrome
...
UI: Refactor page chrome
2018-08-06 10:50:03 -07:00
Michael Lange
dad24eef86
Test coverage for the expanded feature set of the latest-deployment component
2018-07-30 15:31:31 -07:00
Michael Lange
c0966f7cc1
Give the running-deployment component a more appropriate name
2018-07-30 15:31:31 -07:00
Michael Lange
4a2b2fd4f5
Make running-deployment always show the latest deployment
2018-07-30 15:31:31 -07:00
Michael Lange
feebea1167
Correctly model the latestDeployment relationship and the inverse
2018-07-30 15:24:31 -07:00
Michael Lange
60a4e3de7a
Support the /job/:id/deployment endpoint in mirage
2018-07-30 15:24:31 -07:00
Michael Lange
0e7b8dc7d2
Get the latest deployment for a job by using the appropriate API
2018-07-30 15:24:31 -07:00
Michael Lange
9c9bedf53d
Use page-layout for job routes
2018-07-30 13:13:52 -07:00
Michael Lange
c5388d69cf
Use page-layout for allocations routes
2018-07-30 13:13:52 -07:00
Michael Lange
548ec2cf54
Use page-layout for clients routes
2018-07-30 13:13:52 -07:00
Michael Lange
653947d012
Use page-layout for servers routes
2018-07-30 13:13:52 -07:00
Michael Lange
6d189e48e1
Use page-layout for the settings routes
2018-07-30 13:13:52 -07:00
Michael Lange
6da20ef717
New page-layout component that contains both the header and the gutter menu
2018-07-30 13:13:52 -07:00
Michael Lange
393b39d259
Remove all references to onNamespaceChange
2018-07-30 13:13:52 -07:00
Michael Lange
4e22c1018f
Redo onNamespaceChange to use the router
2018-07-30 13:13:52 -07:00