Commit Graph

1140 Commits

Author SHA1 Message Date
Michael Lange 8015605041
Implement the dynamic facet lists (datacenters and prefixes) 2019-04-10 10:34:10 -05:00
Michael Lange 46c6a3e4c2
Scaffold the facets and facet options for the jobs list page 2019-04-10 10:34:10 -05:00
Michael Lange b93977f61f
Remove the includes helper in favor of the contains helper 2019-04-10 10:34:10 -05:00
Michael Lange 7a183b40ac
Harden dropdown styles to avoid accidental cascading 2019-04-10 10:34:10 -05:00
Michael Lange 22225b3436
Add the right-alignment case to freestyle 2019-04-10 10:34:10 -05:00
Michael Lange 573f03d8e9
Always left-align the dropdown position to the trigger 2019-04-10 10:34:10 -05:00
Michael Lange fd34f7aa2c
Test coverage for the multi-select-dropdown component 2019-04-10 10:34:10 -05:00
Michael Lange 8a07ef2cc6
Tab and keyboard navigation for multi-select 2019-04-10 10:34:10 -05:00
Michael Lange a2bcc59963
Round out the freestyle entry 2019-04-10 10:34:10 -05:00
Michael Lange fa10e72e2b
Multi-select button-bar support 2019-04-10 10:34:10 -05:00
Michael Lange cf5f77fe4c
Color alias for tags 2019-04-10 10:34:10 -05:00
Michael Lange 6160d8af84
Persistence and onSelect handler for the multi-select-dropdown 2019-04-10 10:34:10 -05:00
Michael Lange 17ab2c22cc
Templating and styling the multi-select-dropdown component 2019-04-10 10:34:10 -05:00
Michael Lange 8166e43e8c
Simple includes helper that works like Array#includes 2019-04-10 10:34:10 -05:00
Michael Lange 22ce6cfe36
Freestyle entry for the new multi-select-dropdown component 2019-04-10 10:34:10 -05:00
Michael Lange 5bfd1d0ddd Reattach resources to stats trackers in the event they were destroyed 2019-03-29 16:09:14 -07:00
Jacek Jagiello 364f7acbb5 5303 make logs view full width to better support large screens 2019-03-06 23:29:24 +01:00
Michael Schurter d74755900e Generate files for 0.9.0-beta3 release 2019-02-26 09:44:49 -08:00
Michael Lange 91d8baa64e Update tests that check time and date formatting 2019-02-01 09:19:28 -08:00
Michael Lange dfd3b097d1 Apply new date and timestamp helpers e'rywhere 2019-02-01 09:19:28 -08:00
Michael Lange 50bf9d392a New helpers to standardize date and timestamp formats 2019-02-01 09:19:28 -08:00
Michael Lange c3eb0b2493 Always show an absolute timestamp tooltip when showing relative dates 2019-01-30 09:59:41 -08:00
Michael Lange fa4333056c
Merge pull request #4981 from hashicorp/b-ui-hide-stats-graphs-for-non-running-resources
UI: Hide stats graphs for non running resources
2018-12-18 11:15:39 -08:00
Michael Lange d83be97d78 Don't use Ember.get in conjunction with dynamic strings in the job-plan serializer 2018-12-13 07:53:37 -08:00
Michael Lange 5902842d6b Don't use Ember.get in conjunction with dynamic strings in the allocation serializer 2018-12-13 07:53:37 -08:00
Michael Lange 7b466f9f60 Don't use Ember.get in conjunction with dynamic strings in the node serializer 2018-12-13 07:53:37 -08:00
Michael Lange 13b7434eca Don't use Ember.get in conjunction with dynamic strings in the deployment serializer 2018-12-13 07:53:37 -08:00
Michael Lange a00544e302 Don't use Ember.get in conjunction with dynamic strings in the job-summary serializer 2018-12-13 07:53:37 -08:00
Michael Lange b5c11b4e43 Don't use Ember.get in conjunction with dynamic strings in the evaluation serializer 2018-12-13 07:53:37 -08:00
Michael Lange 7d76b6a59f Test coverage for resource graph empty states 2018-12-13 07:53:17 -08:00
Michael Lange 6f2e5d49f0 Test coverage for allocation rows 2018-12-13 07:53:17 -08:00
Michael Lange 76a9d7ad7c Conditionally show the utilization graphs on the allocation and task detail pages 2018-12-13 07:53:17 -08:00
Michael Lange 71a06a6b7f Conditionally show utilization metrics on alloc and task rows 2018-12-13 07:53:17 -08:00
Michael Lange 0005b1fca2 Task isRunning is based on both the task state and the allocation state 2018-12-13 07:53:17 -08:00
Michael Lange 076ae5046b Model isRunning based on the client status of the allocation 2018-12-13 07:53:17 -08:00
Michael Lange 3b044816ac Always create a running allocation when testing task state 2018-12-13 07:39:16 -08:00
Michael Lange 795ea7eade Grow the default 0 to 1 bounds to the domain of the data when necessary 2018-12-05 22:07:44 -08:00
Michael Lange fd35d37f43
Merge pull request #4860 from hashicorp/b-ui-allocation-detail-empty-state
UI: Allocation detail empty state
2018-11-19 12:43:39 -08:00
Michael Lange 796967c58d Add an empty state to the allocation detail task list 2018-11-19 12:18:14 -08:00
Michael Lange b252ede5b6
Merge pull request #4850 from hashicorp/f-ui-links-on-error-pages
UI: Escape hatch links on error pages
2018-11-19 12:17:36 -08:00
Michael Lange aa0cbadb30 Improve mirage modeling of allocations
Pending allocations never have tasks
2018-11-09 17:11:47 -08:00
Michael Lange 4e21366714
Merge pull request #4852 from hashicorp/b-ui-dispatched-job-page
UI: Show the correct template for dispatched jobs
2018-11-09 14:36:35 -08:00
Michael Lange ec21bab24d
Merge pull request #4833 from hashicorp/b-ui-gracefully-handle-stat-errors
UI: Gracefully handle stat errors
2018-11-09 14:35:48 -08:00
Michael Lange 7c9c099bf0 Add missing module dependencies to the node adapter tests 2018-11-09 14:25:32 -08:00
Michael Lange cf93e1a40c Get error messages closer to Structure designs 2018-11-09 13:23:44 -08:00
Michael Lange 8e18903996 Show the correct template for parameterized job children 2018-11-07 21:04:27 -08:00
Michael Lange 5057574c69 Correctly mark parameterized children as parameterized: true 2018-11-07 17:07:40 -08:00
Michael Lange f3110f978e Test coverage for error page escape hatch links 2018-11-07 16:19:45 -08:00
Michael Lange 177a998b1d Add escape hatch links to the error page 2018-11-07 16:09:23 -08:00
Michael Lange 738efdfb04 Fix a bug where with-watchers wasn't bubbling the willTransition event
The impact was the application error was no longer being nulled out,
causing the application error to continue to be shown after
transitioning.

This never happened in apps since it's not possible to transition away
from the error screen.
2018-11-07 16:08:26 -08:00
Michael Lange 777d693632 Add support for link in error containers 2018-11-07 16:08:05 -08:00
Michael Lange ab06a22954
Merge pull request #4841 from hashicorp/f-ui-error-handling-on-all-pages
UI: Error handling on all pages
2018-11-07 11:16:06 -08:00
Michael Lange 46fd35c84c
Merge pull request #4801 from hashicorp/b-ui-proper-task-group-breadcrumb
UI: Proper task group breadcrumb on the allocation pages
2018-11-06 16:41:46 -08:00
Michael Lange dbb9662dbe Make your tests orders of magnitude faster with One Neat Trick™ 2018-11-06 16:17:21 -08:00
Michael Lange 80ab0f56cf Test coverage for frame misses 2018-11-06 16:17:21 -08:00
Michael Lange 19abb7b605 Clean up the remaining routes 2018-11-05 16:33:33 -08:00
Michael Lange d4c6a698c3 Handle the job 404 error case on the other job sub pages 2018-11-05 16:06:08 -08:00
Michael Lange af24546644 Handle the job 404 error case in versions 2018-11-05 15:42:04 -08:00
Michael Lange 2925285f00 Handle the job 404 case in the job definition route 2018-11-05 15:20:31 -08:00
Michael Lange 8ef22a06fe Handle the job 404 case in task group routes 2018-11-02 19:25:50 -07:00
Michael Lange 964c93e07f Guard against the element already being destroyed
Since DOM code is in a run.next, it's possible that between the DOM
code being queued and running the element is destroyed. So the DOM
code needs to guard against this using the isDestroyed API.
2018-11-02 17:08:02 -07:00
Michael Lange 174dc02025 Improve client stat simulation and add a chance for requests to error 2018-11-01 22:11:56 -07:00
Michael Lange 3d7d7310a1 Gracefully handle response errors in stat trackers
1. Check if the response is a 4xx/5xx
2. If it is, skip the append step and track a frame miss
3. If enough frame misses occur in a row, treat it as a pause

A "pause" is when a null data frame is added, which shows up as a
gap in line charts.
2018-11-01 22:08:57 -07:00
Michael Lange 36fed0919d Move jsonWithDefault to a util 2018-11-01 22:07:58 -07:00
Michael Lange 00ba1412b8
Merge pull request #4829 from hashicorp/f-ui-build-perf
UI: build time performance improvements
2018-11-01 15:04:30 -07:00
Michael Lange f4813d49ba Remove unused bourbon dependency 2018-11-01 14:37:39 -07:00
Michael Lange be77e3d981 Speed up builds by cutting corners given config and env 2018-11-01 14:19:22 -07:00
Michael Lange 7cd8179637 Test coverage for breadcrumb qp change 2018-10-31 13:27:35 -07:00
Michael Lange 0a4242eb13 Provide the namespace query param to the task group link 2018-10-31 12:50:39 -07:00
Michael Lange b2acd381f9 Test coverage for resetPagination 2018-10-30 14:17:23 -07:00
Michael Lange c6afcb4499 Add the resetPagination hook to search boxes across the app 2018-10-30 10:52:54 -07:00
Michael Lange 571e5c35c3 Add a resetPagination method to the searchable mixin
Searchable can be used without pagination, but reseting pagination
is more a function of search than pagination insofar as if you
add search to a page, you are also going to want automatic pagination
resetting.
2018-10-30 10:51:31 -07:00
Michael Lange a82c9d4d6f Add onChange hook to the search-box component 2018-10-30 10:50:24 -07:00
Michael Lange 42432bbb52
Merge pull request #4727 from hashicorp/f-ui-improved-stats-charts
UI: Improved stats charts
2018-10-17 10:55:54 -07:00
Michael Lange aeea4076b7
Merge pull request #4718 from hashicorp/f-ui-a11y-line-chart
UI: Add some simple accessibility labels for line charts
2018-10-17 09:43:27 -07:00
Michael Lange 340f3f12d4 Add more documentation to the format-duration util 2018-10-17 08:10:16 -07:00
Michael Lange 154dc49205 Be consistent with "time series" instead of "time-series" 2018-10-17 07:37:45 -07:00
Michael Lange 1be400d18e Add role="tooltip" to tooltips throughout the app 2018-10-17 07:17:24 -07:00
Michael Lange ca631ee217 Override the a11y title and description for the stats time series chart
Since this is a use case specific chart, we can use use case specific
language in our labels.
2018-09-27 12:55:52 -07:00
Michael Lange cdb1831ceb Add a11y features to the line-chart component
- Treat it as an image
- Add a title and a description
- Hide the axes, just in case
2018-09-27 12:55:52 -07:00
Michael Lange 866b74be19 Add a longForm option to format-duration 2018-09-27 12:55:17 -07:00
Michael Lange 4a98bf989f Make the global logo link to the jobs page (home page) 2018-09-26 11:19:24 -07:00
Michael Lange ea87417d4f Add utilization stats to the task rows on allocation detail 2018-09-26 10:59:26 -07:00
Michael Lange 5736b71f00 Remove no longer used allocation-stats class 2018-09-26 10:59:26 -07:00
Michael Lange 9b90683e6b Use the StatsTracker method of getting alloc stats in alloc row 2018-09-26 10:59:26 -07:00
Michael Lange c694fcb0ba Update stat tracker unit tests 2018-09-19 19:30:18 -07:00
Michael Lange 09497b20b8 Acceptance test coverage for all the pages with resource utilization graphs 2018-09-19 16:33:51 -07:00
Michael Lange f86347bc62 Always return valid dates for timestamps 2018-09-19 16:33:18 -07:00
Michael Lange da06b48aaf Handle the empty data cases 2018-09-19 16:32:53 -07:00
Michael Lange 46936b6091 Unit tests for the stats trackers service 2018-09-19 15:33:29 -07:00
Michael Lange 18b18da49f Integration tests for the primary-metric component 2018-09-19 14:15:32 -07:00
Michael Lange c93f6506dc Add cancelation support to stats trackers 2018-09-17 16:59:09 -07:00
Michael Lange bc5dbe2fb7 Gap support for line charts 2018-09-17 16:58:56 -07:00
Michael Lange 8900d5c138 Add request throttling to the abstract stats tracker
This is the best of three options

1. Users of stats trackers control polling (old method)
2. Stat tracker is stateful and has start/stop methods (like logging)
3. Stat trackers blindly throttle requests

This is the best option because it means N number of concurrent users of
a stats tracker can request polling without inundating the tracker with
redundant frames (or the network with redundant requests), but they also
don't have to coordinate amongst themselves to determine what state a
tracker should be in.
2018-09-17 15:58:28 -07:00
Michael Lange ae161d75bc Use the new stats tracker service to get stats trackers in primary metric 2018-09-17 15:57:58 -07:00
Michael Lange bc3a76da04 Clean up old controller code 2018-09-17 15:57:23 -07:00
Michael Lange fcf22fdbc4 New LRUMap dep 2018-09-17 15:55:48 -07:00
Michael Lange b7169596c1 New service to manage stats trackers
This solves two problems:

1. redundant trackers making redundant requests
2. trackers being obliterated as soon as the primary metric component
   is destroyed

It introduces a new problem where visiting more and more node and
allocation pages adds to an ever-growing list of trackers that can
assume lots of memory, but it solves the problem by using a
least-recently-used cache to limit the number of trackers tracked.
2018-09-17 15:53:59 -07:00
Michael Lange b675919c76 Add resource utilization graphs to the task index page 2018-09-14 10:21:48 -07:00
Michael Lange dace559442 Add resource utilization graphs to the allocation index page 2018-09-14 10:21:28 -07:00
Michael Lange 636d0c92fc Use the appropriate methods and types in the stat trackers 2018-09-14 10:21:01 -07:00
Michael Lange 80fefcf369 Style the primary-metric pattern 2018-09-14 10:20:33 -07:00
Michael Lange 379b17acbd Handle the length = 0 and length = 1 cases for activeDatum 2018-09-14 10:19:35 -07:00
Michael Lange 6a94ebc5fb Use the prototype instead of "private" property backups 2018-09-14 09:38:17 -07:00
Michael Lange a2db921c1f Make rollingArray work with mutable array extension methods 2018-09-14 08:57:26 -07:00
Michael Lange 01429a9b78 Remove old stat tracking code from the client page
In favor of the new primary-metric components
2018-09-13 17:01:24 -07:00
Michael Lange 10b9017d84 Use the new primary-metric component on the client detail page 2018-09-13 17:01:24 -07:00
Michael Lange 768f67e336 New primary-metric component
It encapsulates all the tracker, polling, and markup for this style
of metric.
2018-09-13 17:01:24 -07:00
Michael Lange 54efa8ddd5 Full markup for time series metrics 2018-09-13 17:01:24 -07:00
Michael Lange 93cf97a47b Add stat charts to the client page 2018-09-13 17:01:24 -07:00
Michael Lange b6382fe7dc Use percent for the y-axis binding 2018-09-13 17:01:24 -07:00
Michael Lange 7e431e8876 Use addObject to get kvo behaviors 2018-09-13 17:01:24 -07:00
Michael Lange 4a2b9cc153
Merge pull request #4661 from hashicorp/f-ui-line-chart
UI: line chart
2018-09-13 16:59:20 -07:00
Michael Lange 105d4aea79 Unit test coverage for the stats-time-series chart 2018-09-13 16:45:56 -07:00
Michael Lange 659e19303c Unit test coverage for the line chart component 2018-09-13 16:45:56 -07:00
Michael Lange 63b89904f3 Split the line-chart and stats-time-series freestyle entries 2018-09-13 16:45:56 -07:00
Michael Lange 569ba3c48a Updates to the styleguide 2018-09-13 16:45:56 -07:00
Michael Lange f2bab4591d Use "global" gradients via a clipping mask and a rect w/100% height 2018-09-13 16:45:54 -07:00
Michael Lange 05c7706487 Avoid race conditions around showing and hiding the line chart tooltip 2018-09-13 16:45:13 -07:00
Michael Lange 9008c48cd1 Stats time series
A use-case specific line-chart for showing utilization metrics by
percent
2018-09-13 16:45:13 -07:00
Michael Lange 7a8a4c32f4 Make the tooltip animation snappier for line charts
When data is coming in live, the tooltip can get bogged down by updates
causing the tooltip to never make it under the mouse, which looks like
either lag or a bug.
2018-09-13 16:45:13 -07:00
Michael Lange 46cceb2daa Don't round numbers when the domain is between 0 and 1 2018-09-13 16:45:13 -07:00
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
Michael Lange ab54583878 Use the JobID as the Version ID for mirage job versions 2018-07-27 16:32:43 -07:00
Michael Lange 0d6881c4ff Update deployment test to reflect new progress-by column 2018-07-17 13:28:29 -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 591ddaa93e Test coverage for summary toggle 2018-07-13 10:26:46 -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 8154d68b95 Consistently use PageObjects now that they all exist 2018-07-11 12:42:43 -07:00
Michael Lange f74694b0a0 Eslint cleanup 2018-07-11 12:35:39 -07:00
Michael Lange 79cbc4066f Use PageObject for task logs tests 2018-07-11 12:31:37 -07:00
Michael Lange c1a4b68fee Use PageObject for task detail tests 2018-07-11 12:21:26 -07:00
Michael Lange 686ae57310 Use PageObject for namespace tests 2018-07-11 11:59:20 -07:00
Michael Lange 69667ead86 Use PageObjects for application error tests 2018-07-11 11:41:34 -07:00
Michael Lange 5a4de18401 Use PageObject for allocation detail tests 2018-07-11 11:27:23 -07:00
Michael Lange 3fa288f852 Use PageObject for task group detail tests 2018-07-11 10:36:33 -07:00
Michael Lange 266850b3f8 Use PageObject for job versions tests 2018-07-11 09:49:44 -07:00
Michael Lange 2d9aeae23c Use PageObject for job evaluations tests 2018-07-11 09:37:58 -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 2013cd7bb7 Use PageObject for job definition tests 2018-07-10 19:33:22 -07:00
Michael Lange 6611e2b2d6 Adds missing test for evaluations tab 2018-07-10 19:28:54 -07:00
Michael Lange 22f472066a Use PageObjects for job detail tests 2018-07-10 19:20:02 -07:00
Michael Lange 0d45f6f842 Use PageObject for jobs list tests 2018-07-10 18:42:19 -07:00
Michael Lange 87de789994 Use PageObject for client detail tests 2018-07-10 18:13:50 -07:00
Michael Lange 54907f13e8 Use PageObject for clients list tests 2018-07-10 11:29:00 -07:00
Michael Lange 7aae717374 Use PageObject for tokens test 2018-07-10 11:29:00 -07:00
Michael Lange ba934bd60b Fix bad line-endings due to generator 2018-07-10 11:29:00 -07:00
Michael Lange 41b36a623f Use PageObject for server-detail tests 2018-07-10 11:29:00 -07:00
Michael Lange 559ddf4b2b Guard against URI encoding 2018-07-10 11:29:00 -07:00
Michael Lange a873e8f1eb Use PageObject for servers-list tests 2018-07-10 11:28:59 -07:00
Michael Lange 32f1e06eb6 Rename nodes-list-test to clients-list-test to reflect its new state 2018-07-10 11:28:59 -07:00
Michael Lange 06b29f915b Move servers list tests to their own file 2018-07-10 11:28:59 -07:00
Michael Lange 25d1bc2d6a Add the ember-cli-page-object dependency 2018-07-10 11:28:59 -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 22f5bedd58 Codify common mirage scenarios and make it easy to switch between 2018-07-10 10:06:11 -07:00
Michael Lange 9e07ba28df Migrate and add test coverage for evaluations page 2018-07-06 17:15:59 -07:00
Michael Lange c6e2f1c12e Remove old evaluations component tests 2018-07-06 17:07:40 -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 ff5a4ae6df Switch ember-browserify out for ember-auto-import 2018-07-06 13:38:37 -07:00
Michael Lange 2e55afd8ff Integration tests for the breadcrumbs component 2018-07-06 11:12:12 -07:00
Michael Lange 8a9cd74cce Unit tests for the breadcrumbs service 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 686061cc9a Acceptance test for jobs from different namespaces on a single client 2018-07-06 10:50:22 -07:00
Michael Lange 82e0fdbd27 A test to assert the bug 2018-07-05 13:49:27 -07:00
Michael Lange 8c1849fafe Don't put namespace logic in the catch-all buildQuery method 2018-07-05 12:29:29 -07:00
Michael Lange 651ae19d25 Remove unused findAllocations method in both job and node
This was replaced with a relationship at some point.
2018-07-05 11:25:38 -07:00
Michael Lange 90a5d3ef03 Remove unused job adapter method 2018-07-05 11:25:38 -07:00
Michael Lange 479d4700d6 Add an env var to toggle blockingQueries support
Mostly helpful when working with mirage
2018-07-05 11:18:09 -07:00
Michael Lange bd43a5df87 Filter out styleguide components from production builds 2018-07-03 17:37:49 -07:00
Michael Lange aef3da0b4e Add ember-cli-funnel dependency 2018-07-03 17:37:29 -07:00
Michael Lange a72362a8bd Styleguide entry for two-step button 2018-07-03 15:24:26 -07:00
Michael Lange 0046c72b27 Styleguide entry for alerts 2018-07-03 14:50:10 -07:00
Michael Lange b854168654 Styleguide entries for accordion 2018-07-03 14:30:40 -07:00
Michael Lange 6859fc9487 Outline new components 2018-07-03 13:57:09 -07:00
Michael Lange 43c118dfa7 Styleguide entry for Progress Bar 2018-07-03 13:54:00 -07:00
Michael Lange 5ced0f70b9 Styleguide entry for Table, Configuration 2018-07-03 13:06:39 -07:00
Michael Lange 1b2a253cbb Styleguide entry for tables 2018-07-03 12:30:34 -07:00