Commit graph

657 commits

Author SHA1 Message Date
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 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 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 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 a96c4508d6 Acceptance test for the jobs list page 2018-08-15 17:12:18 -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 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 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 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 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 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 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 e774163360 Tests for the recent allocations table 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 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
Michael Lange 56a7e644ec Show deployment deadlines everywhere 2018-07-17 11:07:22 -07:00
Michael Lange 9413c719a6
Merge pull request #4507 from hashicorp/b-ui-dist-bar-corners
UI: Fix the missing pixels issue with distribution-bar
2018-07-13 11:04:29 -07:00
Michael Lange 77a9e844a1 Make job alloc/children summary collapsable (and persist the choice in localStorage) 2018-07-13 10:26:46 -07:00
Michael Lange c1bc54878d Add an option to start expanded and an onToggle action to list-accordion 2018-07-13 10:26:46 -07:00
Michael Lange 72f4f213d9 Compute the correct number of pixels to shave off of bar width 2018-07-13 10:26:01 -07:00
Michael Lange 79725168b8 Create a single-bar example of distribution-bar in the styleguide 2018-07-13 10:26:01 -07:00
Michael Lange e3b020e201 Fix a bug where the wrong index could be used when some bars had no value 2018-07-13 10:26:01 -07:00
Michael Lange 266850b3f8 Use PageObject for job versions tests 2018-07-11 09:49:44 -07:00
Michael Lange 9b8f33013d Fix job subnav 2018-07-11 09:34:22 -07:00
Michael Lange 71287286ef Update breadcrumbs on job evaluations 2018-07-11 09:28:19 -07:00
Michael Lange 538eaad27b Use PageObject for job deployments 2018-07-11 09:14:10 -07:00
Michael Lange 559ddf4b2b Guard against URI encoding 2018-07-10 11:29:00 -07:00
Michael Lange 38b4d30272
Merge pull request #4458 from hashicorp/f-ui-refactor-breadcrumbs
UI: Refactor breadcrumbs
2018-07-10 11:01:28 -07:00
Michael Lange 9e07ba28df Migrate and add test coverage for evaluations page 2018-07-06 17:15:59 -07:00
Michael Lange fa00dc0748 Remove evaluations from the job overview page 2018-07-06 16:53:13 -07:00
Michael Lange ab54187480 Adds sorting to evaluations 2018-07-06 16:50:41 -07:00
Michael Lange bbb923ea89 Initial evaluations page 2018-07-06 16:41:09 -07:00
Michael Lange a526eab044
Merge pull request #4468 from hashicorp/f-ui-styleguide-progress
UI: Fill out the styleguide
2018-07-06 16:03:41 -07:00
Michael Lange 6e00633d77 Update all the awkward browserify imports to plain ol' es6 imports 2018-07-06 13:38:57 -07:00
Michael Lange 2e55afd8ff Integration tests for the breadcrumbs component 2018-07-06 11:12:12 -07:00
Michael Lange dc1d31eec8 Move the global-header up the route hierarchy
Now that breadcrumbs are a zero config component, the corresponding
template can be moved up to parent routes.
2018-07-06 11:12:12 -07:00
Michael Lange a045db8ce4 Update tests to match new test selectors 2018-07-06 11:12:12 -07:00
Michael Lange 43d9a94c96 Remove all references to breadcrumbs outside of routes 2018-07-06 11:12:12 -07:00
Michael Lange b5b632068d Use the new breadcrumb pattern on tasks 2018-07-06 11:12:11 -07:00
Michael Lange de89051438 Use the new breadcrumbs pattern for allocations 2018-07-06 11:12:11 -07:00
Michael Lange 3bda577de7 Apply new breadcrumbs pattern to task groups 2018-07-06 11:12:11 -07:00
Michael Lange a4ff0c1040 Support namespaces in job breadcrumbs 2018-07-06 11:12:11 -07:00
Michael Lange 0cb0e5e78b Use the new breadcrumbs pattern in all job templates 2018-07-06 11:12:11 -07:00
Michael Lange 438d0ce768 Use the new breadcrumbs pattern on the clients loading page 2018-07-06 11:12:11 -07:00
Michael Lange f0ecc7d9c8 Add breadcrumbs to jobs routes 2018-07-06 11:12:11 -07:00
Michael Lange f255b50f25 Recompute breadcrumbs when a model changes but the current route does not
Example: parent job to child job navigation
2018-07-06 11:12:11 -07:00
Michael Lange 1fb26c0b91 Support promise proxies as breadcrumbs 2018-07-06 11:12:11 -07:00
Michael Lange 9bc1d0e4f4 Apply new breadcrumbs pattern to servers and clients 2018-07-06 11:12:11 -07:00
Michael Lange 865105734e New breadcrumb service and component for describing breadcrumbs in routes
Works by segmenting the currentRouteName from the router service
and walking over each route in the current hierarchy to collect crumbs.
2018-07-06 11:12:10 -07:00
Michael Lange 8c1849fafe Don't put namespace logic in the catch-all buildQuery method 2018-07-05 12:29:29 -07:00