Michael Lange
72ca69811c
Add gauge charts to the plugin detail page to measure availability
2020-05-13 08:36:05 -07:00
Michael Lange
fd27e83ba5
Bottom aligned columns variant
2020-05-13 08:36:05 -07:00
Michael Lange
ef4e7ad401
Add gauge chart stories
2020-05-13 08:36:05 -07:00
Michael Lange
42e107851c
Style the gauge chart component
2020-05-13 08:36:05 -07:00
Michael Lange
60d9dd47f3
Treat null and undefined equally
2020-05-13 08:36:04 -07:00
Michael Lange
61a693c656
Refactor metrics styles to allow for standalone metrics
2020-05-13 08:36:04 -07:00
Michael Lange
3d7e3e6b9c
Gauge chart component
2020-05-13 08:36:04 -07:00
Michael Lange
89afc9ccae
Test coverage for the plugin-allocation-row
2020-05-12 21:30:33 -07:00
Michael Lange
ea7b8b1a11
Don't double load freshly loaded allocations
2020-05-12 21:30:33 -07:00
Michael Lange
de74239430
Properly manage the lifecycle of allocations for storage nodes and controllers
2020-05-12 21:30:33 -07:00
Michael Lange
c84070fc42
Key allocation rows to prevent unnecessary re-renders
2020-05-12 21:30:32 -07:00
Buck Doyle
c46d5517bb
Add ACL-checking to turn off exec button ( #7919 )
...
This closes #7453 . It adds an abstraction to handle the common
needs of ability-determination.
2020-05-11 14:43:17 -05:00
Mahmood Ali
faecf3a760
Add tests for running allocation client count ( #7906 )
...
* Add tests for running allocation client count
* remove redundant assertions
2020-05-11 12:28:31 -04:00
Michael Lange
5e6a89836b
The active namespace is now shared between jobs and storage
2020-05-08 17:35:27 -07:00
Michael Lange
b3fe5b4f75
Changing namespaces now situationally redirects to jobs or volumes
...
Changing namespaces can be done anywhere in the app even though many
Nomad resources aren't namespace-sensitive (e.g., clients, plugins).
A user changing namespaces is an intent to reset context, "now I want
to begin a task that relates to Namespace X". Where that task begins
used to always be the Jobs list, since it was the only namespace
sensitive resource. Now with CSI Volumes, "square 1" is Volumes if the
namespace is changed from a storage page.
2020-05-08 17:35:27 -07:00
Michael Lange
7610493445
Searchable plugins
2020-05-07 17:25:24 -07:00
Michael Lange
be9d9176b1
Searchable volumes
2020-05-07 16:57:51 -07:00
Michael Lange
11a42b6075
Acceptance test for PluginDetail
2020-05-06 17:36:45 -07:00
Michael Lange
f3bae3b535
Don't wrap between icons and health text
2020-05-06 17:22:42 -07:00
Michael Lange
38c03f180b
Use lazyClick to avoid multiple transitionToRoutes being in flight as once
2020-05-06 17:22:42 -07:00
Michael Lange
2369254a3e
Refactor AllocationRow qualifyAllocation
...
There was a missing edge case where a job is pending. I took the moment
to also refactor the code to use async/await which cleaned up the
promise chaining.
2020-05-06 17:22:42 -07:00
Michael Lange
517db723cd
Sort allocations on the plugin detail page
2020-05-06 17:21:49 -07:00
Michael Lange
e98095bcbd
Page object for Plugins List
2020-05-06 17:21:48 -07:00
Michael Lange
59bb9a516e
Correct the table headers for dates on the volume page
2020-05-06 17:21:48 -07:00
Michael Lange
665ba3b2f7
Add a nodes table as well
2020-05-06 17:21:48 -07:00
Michael Lange
105e7203cf
Set color in addition to fill for the icon class
...
Structure icons have fill set to currentColor hardcored in their markup.
This mean setting fill to a color in CSS does nothing, but setting color
now does.
2020-05-06 17:21:47 -07:00
Michael Lange
4ec53234d1
Add icons to the plugin alloc row component
2020-05-06 17:21:47 -07:00
Michael Lange
874556704d
Use the correct plugin property for the breadcrumb
2020-05-06 17:21:47 -07:00
Michael Lange
778e7fdb07
New PluginAllocationRow derivative of AllocationRow
2020-05-06 17:21:46 -07:00
Michael Lange
7c56fcaecb
Emulate belongsTo relationship in storage fragments
2020-05-06 17:21:46 -07:00
Michael Lange
6f84c685b6
Add short option to date formatters
2020-05-06 17:21:46 -07:00
Michael Lange
ca6849ebaa
Refactor AllocationRow to use AllocationStat
2020-05-06 17:21:45 -07:00
Michael Lange
f55133e76e
Separate AllocationStat component for containing the multiple states a stat tracker can be in
2020-05-06 17:21:45 -07:00
Michael Lange
d94177085e
Setup the plugin detail page
2020-05-06 17:21:45 -07:00
Michael Lange
ffcaef6b22
Model out the rest of the CSI Plugin properties
2020-05-06 17:21:44 -07:00
Michael Lange
b3f140fee6
Plugins table on the plugins list page
2020-05-06 17:21:44 -07:00
Michael Lange
bf35d92224
Clean up the csi volume page
2020-05-06 17:21:44 -07:00
Michael Lange
7d524ac341
Set up routes, controllers, and template basics for the plugins page
2020-05-06 17:21:43 -07:00
Michael Lange
dba9a25a13
Add a subnav to the volumes page
2020-05-06 17:21:43 -07:00
Michael Lange
1b47885bdb
Update plugin model and serializer to match final API
2020-05-06 17:21:42 -07:00
Michael Lange
343d4e0b81
Add constraints table to the volume detail page
2020-05-06 17:21:42 -07:00
Buck Doyle
0b2fc7532d
UI: Remove Ember Freestyle ( #7839 )
...
This completes the migration to Storybook by replacing the colour palette and typeface components that I left out.
2020-05-06 15:11:15 -05:00
Michael Lange
034eeb1ddb
Merge pull request #7855 from hashicorp/b-ui/alloc-wrong-reserved-resources
...
UI: Make allocation reference own task group instead of job's task group when job versions don't match
2020-05-06 10:08:37 -07:00
Mahmood Ali
24e0c7f081
ui: only count running allocations in client view
...
In the client view list, only show running allocations count for each
client, rather than include already completed tasks.
This is done for two reasons:
First, consitency with the CLI: `nomad node status --allocs` only
shows running allocs.
Second, and more importantly, the count is useful to estimate how loaded
the clients are. Allocs that have completed (but not GCed yet) have
very little value to operators.
2020-05-05 21:31:58 -04:00
Michael Lange
260da00852
Add embedded task group to allocation to reference when allocation is historical
2020-05-01 14:30:02 -07:00
Michael Lange
9a857a7042
Comment why the allocation has to be reloaded
2020-05-01 14:27:53 -07:00
Jasmine Dahilig
a9004faa11
UI: Add representations for task lifecycles ( #7659 )
...
This adds details about task lifecycles to allocations, task groups,
and tasks. It includes a live-updating timeline-like chart on allocations.
2020-04-30 08:15:19 -05:00
Michael Lange
21ef3633be
Make the no connection error on the logs page dismissable
2020-04-29 17:36:17 -07:00
Michael Lange
e74cd16252
Fix race condition where stdout and stderr requests can cause a no connection error
...
This would happen because a no connection error happens after the second request fails, but
that's because it's assumed the second request is to a server node. However, if a user clicks
stderr fast enough, the first and second requests are both to the client node. This changes
the logic to check if the request is to the server before deeming log streaming a total failure.
2020-04-29 17:36:17 -07:00
Michael Lange
aafbeaba75
Clicking stdout/stderr when already on that tab is now a noop
2020-04-29 17:36:16 -07:00
Michael Lange
7452a9a57d
Abort log fetch request when failing over from client to server
...
Typically a failover means that the client can't be reached. However, if
the client does eventually return after the timeout period, the log will
stream indefinitely. This fixes that using an API that wasn't broadly
available at the time this was first written.
2020-04-29 17:34:49 -07:00
Michael Lange
9ba563c48e
Always pass credential in fetch requests, but also treat options reasonably
...
Now options can be provided without also having to remember to pass
credentials. This is convenient for abort controller signals.
2020-04-29 17:34:49 -07:00
Buck Doyle
d4708860f0
UI: Fix exec popup link for job id ≠ name ( #7815 )
...
This closes #7814 . It makes URL-generation more central and changes
the exec URL to include job id instead of name.
2020-04-29 07:54:04 -05:00
Buck Doyle
438aec636a
UI: update exec styles to match conventions ( #7811 )
2020-04-28 08:33:07 -05:00
Michael Lange
35d4b48644
Merge pull request #7577 from hashicorp/f-ui/csi-beta-label
...
UI: Change CSI to Storage and mark it as beta
2020-04-06 13:21:11 -07:00
Buck Doyle
f10906e006
UI: add exec handling for dead jobs/task states ( #7637 )
...
This closes #7456 . It hides the terminal when the job is dead and
displays an error when trying to open an exec session for a task
that isn’t running. There’s a skipped test for the latter behaviour
that I’ll have to come back for.
2020-04-06 14:08:22 -05:00
Buck Doyle
fc7de8b153
UI: add live-updating to exec sidebar ( #7499 )
...
This closes #7454 . It makes use of the existing watchable tools to
allow the exec popup sidebar to be live-updating. It also adds
alphabetic sorting of task groups and tasks.
2020-04-06 13:52:42 -05:00
Michael Lange
bf9887083b
Merge pull request #7630 from hashicorp/f-ui/csi-acceptance-tests
...
UI: CSI Acceptance Tests
2020-04-06 09:37:45 -07:00
Mahmood Ali
23be53a366
Merge pull request #7612 from hashicorp/b-auth-alloc-exec-ws
...
Authenticate alloc/exec websocket requests
2020-04-06 09:24:51 -04:00
Michael Lange
2955d356e7
Test coverage for the volume detail page
2020-04-04 17:13:40 -07:00
Michael Lange
25f4f5a61d
Sort allocation tables by modify index
2020-04-04 17:11:58 -07:00
Michael Lange
a1d2e585a1
Update breadcrumb to match side menu
2020-04-04 17:11:29 -07:00
Michael Lange
fb44f76800
Correctly handle the namespace query param and forbidden state
2020-04-03 19:28:09 -07:00
Michael Lange
280fa5d53b
Annotate volume row and make the tr clickable
2020-04-03 19:27:44 -07:00
Michael Lange
62aa943a95
Filter out volumes that don't match the chosen namespace
2020-04-03 19:27:11 -07:00
Michael Lange
62b7a07189
Sort alphabetically, A first
2020-04-03 19:26:26 -07:00
Michael Lange
1729d41509
Merge pull request #7574 from hashicorp/f-ui/configurable-page-sizes
...
UI Configurable Page Sizes
2020-04-03 16:06:17 -07:00
Buck Doyle
fbe40a5d36
UI: add handling for exec command-editing keys ( #7601 )
...
This is a minimal implementation that closes #7463 . It doesn’t include
true support for moving around within the command to edit using arrow
keys because it gets too complex when managing wrapping at the edge of
the terminal. Instead, arrow keys are ignored. It also ignores ^A and
^E, which are cursor manipulations that pose similar problems to arrow
keys. It does support ^U, which deletes the entire command.
It also allows a command to be pasted, which was previously unsupported.
This is accomplished by migrating from Xterm.js’s onKey handler to
onData, which is recommended here:
https://github.com/xtermjs/xterm.js/issues/2673#issuecomment-574897733
onData is a higher-level handler that issues events with the final
interpreted data instead of the individual key events. That means the
processing in this PR has changed from inspecting DOM key events to
inspecting their ASCII equivalents, which I’ve extracted into a utility
dictionary for use in tests and implementation.
One consequence of ignoring most control characters is that if you paste
a string that includes a control character, that character will be
stripped. It’s somewhat strange for compound sequences like arrow keys;
if you run copy('/bin/b' + '\x1b[D' + 'ash') in a Javascript console and
paste what’s on the clipboard, you get "/bin/b[Dash". That’s because
the left arrow key, as in that centre portion of the string,
is represented by the escape character and a coded sequence. Stripping
the control character leaves the coded sequence as part of the paste.
That seems like an acceptable compromise vs either ignoring any pasted
string with control characters (confusing UX) or trying to interpret and
strip all such compound control sequences (difficult to be exhaustive).
2020-04-03 12:14:47 -05:00
Mahmood Ali
cec76a4f66
ui: send authentication ws handshake
...
Have the UI send the authentication websocket handshake message.
2020-04-03 11:49:22 -04:00
Michael Lange
49019bd967
Make table foot fields consistent at all breakpoints
...
This effectively overrides Bulma's default field layout tweaks
at different breakpoints. This includes going from flex to block
and different font-sizes.
2020-04-02 13:41:41 -07:00
Michael Lange
b1d5a77e76
Remove extranneous order property
...
The "default" order values as set by Bulma are different for different
breakpoints. Since this wasn't considering breakpoints, it resulted
in the unexpected reordering of pagination elements as different page
widths. Turns out removing this property gives us what we want.
2020-04-02 13:27:29 -07:00
Michael Lange
70eb558b65
Acceptance tests for the page size selector on the jobs list view
2020-04-02 12:50:35 -07:00
Michael Lange
e0110e1757
Repeat new pagination pattern throughout the app
2020-04-02 12:50:34 -07:00
Michael Lange
8dc54a6164
Reset current page when changing page size
2020-04-02 12:50:33 -07:00
Michael Lange
3d02f61455
Replace crusty lt and gt with chevron icons
2020-04-02 12:50:32 -07:00
Michael Lange
546751a9b4
Style the page size selector
2020-04-02 12:50:31 -07:00
Michael Lange
53954d1bc3
Add page size select to the jobs list page
2020-04-02 12:50:30 -07:00
Michael Lange
06524fe5a7
Page size select component
2020-04-02 12:50:29 -07:00
Michael Lange
3fc1874c0e
New service for storing user settings
2020-04-02 12:50:28 -07:00
Buck Doyle
3bc13a715e
UI: Fix confirmation position for right-aligned TSBs ( #7590 )
...
Without this, the confirmation text was extending beyond the
edge of the page.
2020-04-02 11:58:29 -05:00
Michael Lange
37a1a32209
Move beta to a tag
2020-04-01 10:49:47 -07:00
Buck Doyle
eaf64849f6
UI: Add localStorage persistence of exec command ( #7563 )
...
This closes #7469 . Trivial thanks to localStorageProperty! 🥳
2020-04-01 08:08:42 -05:00
Michael Lange
28ba7e8075
Change CSI to Storage and mark it as beta
2020-03-31 18:21:55 -07:00
Buck Doyle
d70c3fbb3e
UI: Add exec loading template ( #7566 )
...
This closes #7460 . Before this, there was an incongruous flash
of the non-exec UI during loading.
2020-03-31 13:59:43 -05:00
Buck Doyle
61164b856e
UI: Change exec button to not show on dead jobs ( #7548 )
...
I still want to add acceptance tests for the existence
of these buttons but this change makes the exec button
for jobs behave similarly to the others.
2020-03-31 13:11:26 -05:00
Michael Lange
b8ce8c436f
Account for an empty string node class
2020-03-30 17:33:45 -07:00
Michael Lange
01341530e7
Add a volume facet to the clients list page
2020-03-30 17:33:44 -07:00
Michael Lange
fdd2f8df37
Use new text encoder for stream frames
...
This pattern was introduced with Exec and fixes the multibyte encoding
issue that the native window.atob has.
2020-03-30 12:50:43 -07:00
Michael Lange
2711eb032c
Merge pull request #7470 from kybin/kybin-patch-1
...
UI: decode unicode properly in log page
2020-03-30 12:06:51 -07:00
Michael Lange
2db4f5519a
Guard against a null value for the HostVolumes hash
...
When a node has no host volumes, the API response will
have a null value for the HostVolumes attribute, which
in turn becomes a null value instead of an empty array
in the store. This protects against that, ensuring host
volumes is always an array.
2020-03-26 09:54:59 -07:00
Buck Doyle
8932686aa6
UI: Fix check for Mirage presence setting up sockets ( #7497 )
...
Without this, exec UI doesn’t work at all in the binary. I made an
unfortunate error in not copying the environment check from
app/utils/fetch.js.
2020-03-25 13:23:23 -05:00
Buck Doyle
398db02449
UI: Change determination of exec sidebar active tasks ( #7491 )
...
This closes #7476 . The decomposition of computed properties
is necessary to avoid nested aggregate dependent keys; the
previous dependent key of `taskGroup` will be inadequate
when the sidebar becomes live-updating.
2020-03-25 12:08:33 -05:00
Michael Lange
1bd6a69067
UI: Support for CSI ( #7446 )
...
Closes #7197 #7199
Note: Test coverage is limited to adapter and serializer unit tests. All
acceptance tests have been stubbed and all features have been manually
tested end-to-end.
This represents Phase 1 of #6993 which is the core workflow of CSI in
the UI. It includes a couple new pages for viewing all external volumes
as well as the allocations associated with each. It also updates
existing volume related views on job and allocation pages to handle both
Host Volumes and CSI Volumes.
2020-03-25 07:51:26 -05:00
Buck Doyle
674da96a59
UI: add exec terminal ( #6697 )
...
This connects Xterm.js to a Nomad exec websocket so people
can interact on clients via live sessions. There are buttons on
job, allocation, task group, and task detail pages that open a
popup that lets them edit their shell command and start a
session.
More is to come, as recorded in issues.
2020-03-24 18:22:16 -05:00
kim yongbin
4378db612b
UI: decode unicode properly in log page
2020-03-25 01:03:39 +09:00
Michael Lange
bc87d0a440
Remove the question mark from the Volume th
...
This makes it consistent with other volume columns across the app.
2020-02-14 16:56:51 -08:00
Michael Lange
fe685f897f
Correct a test and a dependent key
2020-02-14 16:44:28 -08:00
Michael Lange
0e6c81d3ef
Add volume table to the task detail page
2020-02-13 17:11:34 -08:00
Michael Lange
e4dcd9c2a4
Add volume requirements table to the task group page
2020-02-13 17:11:33 -08:00
Michael Lange
3fbd267263
Add volumes column to the task row component
2020-02-13 17:11:32 -08:00
Michael Lange
9186f75c6a
Fix a bug where the NodeListStub API response would override existing HostVolumes in the store
2020-02-13 17:11:31 -08:00
Michael Lange
c57993f0a5
Add volume to the client row
2020-02-13 17:11:29 -08:00
Michael Lange
b3452cc33c
Add volume column to allocation row
2020-02-13 17:11:27 -08:00
Michael Lange
61a3b4919f
Add volume column to task group row
2020-02-13 17:11:26 -08:00
Michael Lange
18cf59b22f
Test coverage for the host volumes table
2020-02-13 17:11:25 -08:00
Michael Lange
1e40837731
Add a Host Volumes table to the client detail page
2020-02-13 17:11:24 -08:00
Michael Lange
849c996887
Data layer for Host Volumes in the UI
2020-02-13 17:11:22 -08:00
Michael Lange
ccefc46912
Merge pull request #7099 from hashicorp/b-ui/mobile-styles-not-full-width
...
UI: Override the max-width on mobile to avoid losing space due to non-existent gutter menu
2020-02-07 14:27:50 -08:00
Michael Lange
1431343d18
Override the max-width on mobile to avoid losing space due to non-existent gutter menu
2020-02-07 14:22:00 -08:00
Michael Lange
c7543ee020
Explicit transparent bg on popover actions
2020-02-07 14:17:13 -08:00
Michael Lange
8a9b60f011
Call out the 'down' status too, since it's a pretty bad one
2020-01-31 12:56:15 -08:00
Michael Lange
38d23b5ba8
Add an animation for the initializing state
2020-01-31 12:56:11 -08:00
Michael Lange
f00a50a55b
Redo the node-status-light CSS to be icon-based
2020-01-31 12:56:08 -08:00
Michael Lange
536a597a92
New node initializing icon
2020-01-31 12:56:05 -08:00
Michael Lange
9dbdbc23dd
Assign icons to node statuses
2020-01-31 12:56:02 -08:00
Michael Lange
89532e27e3
Add an icon inside the node status light
2020-01-31 12:55:59 -08:00
Michael Lange
0f8ea7d37a
Allow for an icon within the node status light
2020-01-31 12:55:55 -08:00
Michael Lange
59897f9716
Handle the case where ACLs aren't enabled in abilities
2020-01-31 09:41:36 -08:00
Michael Lange
175f80da16
Fix token referencing from the token controller, as well as resetting
2020-01-31 09:41:35 -08:00
Michael Lange
9438330329
Add an explanatory tooltip to the unauthorized node drain popover
2020-01-31 09:41:33 -08:00
Michael Lange
4eac743262
Update disabled 'Run Job' button to use standard disabled style
2020-01-31 09:41:32 -08:00
Michael Lange
eb7d34df6b
Disable options for popover and drain-popover
2020-01-30 21:29:29 -08:00
Michael Lange
1599b8b5fc
Disabled button styles
2020-01-30 21:29:28 -08:00
Michael Lange
7c796a33a9
Refetch all ACL things when the token changes
2020-01-30 21:29:24 -08:00
Michael Lange
c7af942652
Enable the eligibility toggle conditionally based on acls
2020-01-30 21:29:22 -08:00
Michael Lange
1fae4083eb
Add an ability for client permissions
2020-01-30 21:29:19 -08:00
Michael Lange
d7a3c15530
Replace custom parse-duration implementation with an existing lib
2020-01-23 16:34:38 -08:00
Michael Lange
75987840bb
Tweak vertical spacing of headings
2020-01-23 16:34:37 -08:00
Michael Lange
b4ab7b02ba
Remove superfluous information from the client details ribbon
2020-01-23 16:34:36 -08:00
Michael Lange
7c6bf3b09c
Increase the size and spacing of the toggle component
2020-01-23 16:34:35 -08:00
Michael Lange
c7b7789bd4
Stack the popover menu under the subnav
2020-01-23 16:34:34 -08:00
Michael Lange
1dd1298626
New test coverage for the drain capabilities
2020-01-23 16:34:34 -08:00
Michael Lange
0f41bfafad
Update existing tests
2020-01-23 16:34:33 -08:00
Michael Lange
5e95633481
PopoverMenu integration tests
2020-01-23 16:34:32 -08:00
Michael Lange
3b534bbdf9
Integration tests for the toggle component
2020-01-23 16:34:32 -08:00
Michael Lange
bc555f7758
Update the client detail page object
2020-01-23 16:34:31 -08:00
Michael Lange
8deea899c1
Model the notification pattern as a page object component
2020-01-23 16:34:30 -08:00
Michael Lange
7edbf5ff58
Clear all notifications when resetting the controller
2020-01-23 16:34:29 -08:00
Michael Lange
ae85882ca7
Switch drain popover checkboxes for toggles
2020-01-23 16:34:29 -08:00
Michael Lange
54d33f9ad7
Toggle bugs: focus and multiline alignment
2020-01-23 16:34:28 -08:00
Michael Lange
76bfed5f25
Swap the eligiblity checkbox out for a toggle
2020-01-23 16:34:27 -08:00
Michael Lange
95e6068d5d
New toggle component
2020-01-23 16:34:27 -08:00
Michael Lange
faa15bc581
Force drain button in the drain info box
2020-01-23 16:34:26 -08:00
Michael Lange
82a62089b3
Make outline buttons have a solid white background
2020-01-23 16:34:25 -08:00
Michael Lange
80642b8868
Modifiers to the two-step-button
2020-01-23 16:34:25 -08:00
Michael Lange
7097591281
Drain stop and update and notifications
2020-01-23 16:34:24 -08:00
Michael Lange
9c9c6b08c3
Drain complete notification
2020-01-23 16:34:24 -08:00
Michael Lange
8b19a19908
Fill out the metrics and time since values in the drain summary
2020-01-23 16:34:23 -08:00
Michael Lange
35671a3bd4
Fill in the drain strategy ribbon values
2020-01-23 16:34:22 -08:00
Michael Lange
6e3e8d01e2
Stub out all the markup for the new drain strategy view
2020-01-23 16:34:22 -08:00
Michael Lange
47924d05d3
Polish for the drain popover
2020-01-23 16:34:21 -08:00
Michael Lange
deb1dc7ffe
Refactor parseDuration to support multi-character units
2020-01-23 16:34:20 -08:00
Michael Lange
c5e662a751
Test coverage for the parse duration util
2020-01-23 16:34:20 -08:00
Michael Lange
395ba979a7
Extract the duration parsing into a util
2020-01-23 16:34:19 -08:00
Michael Lange
fd16612be3
Factor out the drain popover and implement its behaviors
2020-01-23 16:34:18 -08:00
Michael Lange
d13af1bcb5
Add triggerClass support to the popover menu
2020-01-23 16:34:18 -08:00
Michael Lange
ada745a59f
Let dropdowns assume their full width
2020-01-23 16:34:17 -08:00
Michael Lange
a3f32e61c1
Initial layout of the drain options popover
2020-01-23 16:34:16 -08:00
Michael Lange
d1cf0e1054
More form styles as needed for the drain form
2020-01-23 16:34:16 -08:00
Michael Lange
01d0efb317
Multiline modifier for tooltips
2020-01-23 16:34:15 -08:00
Michael Lange
75c9e80251
Update the dropdown styles to be more similar to button styles
2020-01-23 16:34:14 -08:00
Michael Lange
20f83da76a
PopoverMenu component
2020-01-23 16:34:14 -08:00
Michael Lange
e685179c99
Eligibility toggling behavior
2020-01-23 16:34:13 -08:00
Michael Lange
a8af3d67be
Add tooltip to the eligibility control
2020-01-23 16:34:11 -08:00
Michael Lange
47daa980a5
Reformat the client detail page to use the two-row header design
2020-01-23 16:34:11 -08:00
Michael Lange
b162fa8a28
Update drain methods to properly wrap DrainSpec params
2020-01-23 16:34:09 -08:00
Michael Lange
dae33efa1d
drain and forceDrain adapter methods
2020-01-23 16:34:09 -08:00
Michael Lange
321b5fb6e6
Add isMigrating property to the allocation model
2020-01-23 16:34:07 -08:00
Michael Lange
aad8536949
Implement eligibility toggling in the data layer
2020-01-23 16:34:07 -08:00
Buck Doyle
576bcf554f
UI: Migrate to Storybook ( #6507 )
...
I originally planned to add component documentation, but as this dragged on and I found that JSDoc-to-Markdown sometimes needed hand-tuning, I decided to skip it and focus on replicating what was already present in Freestyle. Adding documentation is a finite task that can be revisited in the future.
My goal was to migrate everything from Freestyle with as few changes as possible. Some adaptations that I found necessary:
• the DelayedArray and DelayedTruth utilities that delay component rendering until slightly after initial render because without them:
◦ charts were rendering with zero width
◦ the JSON viewer was rendering with empty content
• Storybook in Ember renders components in a routerless/controllerless context by default, so some component stories needed changes:
◦ table pagination/sorting stories access to query params, which necessitates some reaching into Ember internals to start routing and dynamically generate a Storybook route/controller to render components into
◦ some stories have a faux controller as part of their Storybook context that hosts setInterval-linked dynamic computed properties
• some jiggery-pokery with anchor tags
◦ inert href='#' had to become href='javascript:;
◦ links that are actually meant to navigate need target='_parent' so they don’t navigate inside the Storybook iframe
Maybe some of these could be addressed by fixes in ember-cli-storybook but I’m wary of digging around in there any more than I already have, as I’ve lost a lot of time to Storybook confusion and frustrations already 😞
The STORYBOOK=true environment variable tweaks some environment settings to get things working as expected in the Storybook context.
I chose to:
• use angle bracket invocation within stories rather than have to migrate them soon after having moved to Storybook
• keep Freestyle around for now for its palette and typeface components
2020-01-21 15:46:32 -06:00
Buck Doyle
66ab14144a
ui: Change Run Job availability based on ACLs ( #5944 )
...
This builds on API changes in #6017 and #6021 to conditionally turn off the
“Run Job” button based on the current token’s capabilities, or the capabilities
of the anonymous policy if no token is present.
If you try to visit the job-run route directly, it redirects to the job list.
2020-01-20 14:57:01 -06:00
Buck Doyle
09067b4eb7
UI: Fix client sorting ( #6817 )
...
There are two changes here, and some caveats/commentary:
1. The “State“ table column was actually sorting only by status. The state was not an actual property, just something calculated in each client row, as a product of status, isEligible, and isDraining. This PR adds isDraining as a component of compositeState so it can be used for sorting.
2. The Sortable mixin declares dependent keys that cause the sort to be live-updating, but only if the members of the array change, such as if a new client is added, but not if any of the sortable properties change. This PR adds a SortableFactory function that generates a mixin whose listSorted computed property includes dependent keys for the sortable properties, so the table will live-update if any of the sortable properties change, not just the array members. There’s a warning if you use SortableFactory without dependent keys and via the original Sortable interface, so we can eventually migrate away from it.
2019-12-12 13:06:54 -06:00
Michael Lange
13d9e5ead7
Don't initialize variables before you need them
2019-12-05 10:51:51 -08:00
Michael Lange
9504d10ce7
Fix a race condition where a response sent after the logger stops never gets canceled
2019-12-05 00:19:35 -08:00
Buck Doyle
e525ff99d3
Remove inverse block for list-pagination ( #6523 )
...
As the angle bracket invocation RFC says:
> There is no dedicated syntax for passing an "else" block
> directly. If needed, that can be passed using the named
> blocks syntax.
https://github.com/emberjs/rfcs/blob/master/text/0311-angle-bracket-invocation.md#block
Unfortunately, using a contextual component doesn’t help as
the yield inside that component will still result in content
rendering that would show when the source isn’t empty. So
we decided to change the interface so you have to check
whether the source is empty before using it, which aligns with
how list-table works.
2019-10-24 07:05:43 -05:00
Buck Doyle
9b2fb14e51
UI: Update Ember to 3.12 LTS ( #6419 )
...
This is mostly deprecation fixes and blueprint changes. There
are some dependency updates too; the changes to Ember
Basic Dropdown necessitated changing it to angle bracket
component invocation. The conversion of the rest of the
templates will happen separately.
2019-10-15 13:32:58 -05:00
Michael Lange
d6bbd0f9e5
Use max-width to ensure the width rule is observed in Firefox
2019-10-10 10:34:33 -07:00
Buck Doyle
9a3a6c3f62
UI: Update to Ember 3.8 LTS ( #5968 )
2019-10-08 13:44:19 -05:00
Buck Doyle
d707038429
UI: Fix Connect proxy tag ( #6343 )
...
This fixes a race condition in the pseudo-relationship between a
TaskState and a Task that was causing the Consul Connect proxy tag
to sometimes show on the wrong task. There’s no direct Ember Data-style
relationship between a TaskState and its Task; instead, it’s determined
by searching for a Task with the matching name. The related Task was
sometimes stored before everything was ready and not recalculated when
the name became known. This ensures the relationship is accurate if the
TaskState’s name property changes.
2019-09-19 08:09:49 -05:00
Mahmood Ali
16f7a3f31b
ui: protect against nil services
...
Protect against case where an alloc has no services and avoid
dereferencing null.
Here, we ensure that the model and test serializers mimic the API by
having nil TaskGroup.Services instead of an empty array.
2019-09-16 16:50:30 -04:00
Buck Doyle
ee0e74186f
UI: Move kind property to task ( #6271 )
...
I put this property in the wrong place.
I’ve found how to fix the mock API in the tests but
they’re failing to pass with headless Chrome only,
so they’re skipped for now.
2019-09-05 13:14:54 -05:00
Buck Doyle
ec65c8e260
Add handling for not-running task filesystem query ( #6267 )
2019-09-04 17:38:26 -05:00
Buck Doyle
b5e5798e54
UI: add Consul Connect features ( #6108 )
2019-09-04 09:39:56 -05:00
Buck Doyle
49b9dd5b9b
UI: Add creation time to evaluations table ( #6050 )
2019-08-22 08:11:24 -05:00
Michael Lange
74c9b1ac60
Merge pull request #5871 from hashicorp/f-ui/alloc-fs
...
UI: Allocation file system explorer
2019-08-20 10:18:23 -07:00
Michael Lange
9b669d7e38
Use the standard empty state when a dir is empty
2019-08-19 17:16:26 -07:00
Michael Lange
fd6d5b274f
Merge pull request #6048 from hashicorp/f-ui/alloc-fs-files
...
UI: Alloc FS: File Viewer
2019-08-19 10:36:28 -07:00
Michael Lange
836e7426b8
Encode characters in file paths to ensure proper URIs
2019-08-14 12:54:11 -07:00
Michael Lange
38fce53936
Prevent a change in height when switching from a dir to a file
2019-08-08 15:41:47 -07:00
Michael Lange
2ed18864df
Limit the width of the right page layout column
...
This was causing elements to flow off the page, since the element was
assuming 100% but also had a 250px margin for the left column.
This had previously been "fixed" by setting overflow-x: auto, but that
resulted in tooltips from being clipped.
This is a better solution to the same problem.
2019-08-08 10:00:48 -07:00
Buck Doyle
58f6e5d286
Fix navigation via clicking recent allocation row ( #6087 )
...
This fixes the recent allocation rows to navigate when clicking within them
rather than just on the link, which matches the cursor behaviour.
2019-08-08 09:26:46 -05:00
Michael Lange
ae8913910c
Always preload the alloc node so the client can be dialed first
2019-08-07 17:35:15 -07:00
Michael Lange
3dc7dec246
Make a dedicated fs-breadcrumbs component
2019-08-07 15:29:14 -07:00
Michael Lange
2ff4027496
Minor fixes from code review
2019-08-07 15:11:32 -07:00
Buck Doyle
2bfbc2b41b
Remove transition animation from sort arrows ( #6067 )
...
It may be an Ember bug: in some circumstances, the
ember-transitioning-in class was persisting in table
sort links even after the transition completed. This
changes the transition animations to be targeted only
for breadcrumbs and directory links.
2019-08-06 09:55:35 -05:00
Buck Doyle
88b708f188
Add page titles to filesystem routes ( #6024 )
2019-08-01 11:17:46 -05:00
Michael Lange
951570e72a
fixup-integrate-file-component
2019-07-31 01:39:59 -07:00
Michael Lange
fb0428fef3
Test coverage for task-file component
2019-07-30 17:25:49 -07:00
Michael Lange
fcbd92704a
Test coverage for streaming file component
2019-07-30 17:25:48 -07:00
Michael Lange
ed9982aa98
Integration tests for the image-file component
2019-07-30 17:25:47 -07:00
Michael Lange
e347d76c24
Refactor existing fs tests to use new mirage factories
2019-07-30 17:25:46 -07:00
Michael Lange
cae543bdbb
Add unsupported file type state
2019-07-30 17:25:45 -07:00
Michael Lange
ddd35edb19
Add hollow variation to empty-message
2019-07-30 17:25:44 -07:00
Michael Lange
290d967222
Fix a bug where tail calls for files weren't getting the correct params
2019-07-30 17:25:41 -07:00
Michael Lange
c110a4ab62
Integrate the task-file component with the fs explorer pages
2019-07-30 17:25:40 -07:00
Michael Lange
2a3806b4c1
Always escape < and > to avoid inadvertently rendering html
2019-07-30 17:22:54 -07:00
Michael Lange
2f2dca9212
Custom Log instance to deal with API quirks
2019-07-30 17:22:53 -07:00
Michael Lange
bd8770d175
Add a plainText mode
2019-07-30 17:22:53 -07:00
Michael Lange
f2d31fdf1a
Refactored and image support of the task-file component
2019-07-30 17:22:52 -07:00
Michael Lange
29dacd0c2a
Markup for the image-file component
2019-07-30 17:22:51 -07:00
Michael Lange
153218183b
Address WindowResizable refactor
2019-07-30 17:22:50 -07:00
Michael Lange
3ba05a7eb7
Styles for the image-file component
2019-07-30 17:22:49 -07:00
Michael Lange
30d61fc9fc
image-file component for showing an image and image metadata
2019-07-30 17:22:49 -07:00
Michael Lange
5bd9296194
Extract a streaming-file component from the task-log component
...
The new streaming-file component takes an arbitrary logger component
along with some mode flags and handles things like polling, DOM updates,
and scroll position.
2019-07-30 17:22:48 -07:00
Michael Lange
c5ff121981
New task-file component
...
Based on the task-log component. Commonalities will be refactored.
2019-07-30 17:22:47 -07:00
Michael Lange
4c064a8f72
Tweak log window math
2019-07-30 17:22:46 -07:00
Michael Lange
c3b33b8420
Use the stream decode util and never opt to use the plain query param
2019-07-30 17:22:45 -07:00
Michael Lange
862d6f6da6
Move common stream frame decoding to a util
2019-07-30 17:22:44 -07:00
Buck Doyle
34603b8bdf
UI: Add IPv6 bracket-wrapping to network serializer ( #6007 )
...
This addresses the issue raised by @pznamensky in #5966 .
2019-07-30 16:58:01 -05:00
Buck Doyle
9f3754b46b
Merge branch 'master' into f-ui/alloc-fs
...
# Conflicts:
# ui/app/templates/allocations/allocation/task/index.hbs
# ui/app/templates/allocations/allocation/task/logs.hbs
2019-07-26 14:49:36 -05:00
Buck Doyle
5efedb35d1
UI: Add allocation directory sorting ( #5914 )
...
When sorting by size, directories are sorted by name, as size
isn’t displayed.
This includes a change to the positioning of sort arrows for all tables,
moving them closer to the text, because in some cases, the arrows
for right-aligned columns were ambiguously positioned.
2019-07-23 15:37:34 -05:00
Buck Doyle
b2a4ee17de
UI: Remove unused route ( #5925 )
...
This is an extraneous addition from #4612 .
2019-07-23 14:48:39 -05:00
Buck Doyle
90c9b89b5e
UI: Add page titles ( #5924 )
...
This uses ember-page-title to add dynamic page titles throughout the
route hierarchy. When there’s more than one region, the current
current region is added before the final entry of “- Nomad”.
2019-07-17 15:02:58 -05:00
Buck Doyle
9322dfc46f
UI: Add copy button for client/allocation UUIDs ( #5926 )
...
The button shows a success icon and tooltip on click, and resets
after two seconds.
2019-07-15 12:14:32 -05:00
Buck Doyle
4edd1d78c1
Remove superfluous test attributes ( #5927 )
...
I found while working on #5926 that x-icon already adds
assertion-compatible selectors, so these wrappers are
unnecessary.
2019-07-08 10:36:56 -05:00
Michael Lange
1eb689aca9
Merge remote-tracking branch 'origin/master' into f-ui/alloc-fs
...
* origin/master: (32 commits)
Added additional test cases and fixed go test case
update changelog
Add Mirage-toggling via environment variable (#5899 )
changelog: Add entries for windows fixes
fifo: Safer access to Conn
run post-run/post-stop task runner hooks
Fail alloc if alloc runner prestart hooks fail
address review comments
changelog
Missed one revert of backwards compatibility for node drain
Improve test cases for detecting content type
Undo removal of node drain compat changes
Updated with suggestions.
fifo: Close connections and cleanup lock handling
logmon: Add windows compatibility test
client: defensive against getting stale alloc updates
Infer content type in alloc fs stat endpoint
appveyor: Run logmon tests
fifo: Require that fifos do not exist for create
vendor: Use dani fork of go-winio
...
2019-07-02 16:40:09 -07:00
Buck Doyle
595eb480ba
UI: Add allocation directory rendering ( #5873 )
...
This lets users navigate the allocation filesystem. It doesn’t
support viewing actual files yet.
2019-07-02 16:42:38 -05:00
Michael Lange
aedeeadebd
Account for the search icon within the is-compact modifer
2019-06-27 12:32:26 -07:00
Michael Lange
e440edfea4
Some placeholder templates and routes for new feature
2019-06-20 15:20:01 -07:00
Michael Lange
7935527020
Add new menu item to the task subnav
2019-06-20 12:02:25 -07:00
Michael Lange
3e40fcf147
Add new routes to the router
2019-06-20 12:02:06 -07:00
Michael Lange
6201003f3f
New Mirage scenario for puppeteer script to use
2019-06-19 17:18:40 -07:00
Buck Doyle
a2b80bebe6
Update client list to combine statuses ( #5789 )
...
The draining, eligibility, and status fields now all show under a combined
state column. Draining takes precedence, then (in)eligibility; if neither of
those is true, the status displays.
2019-06-19 10:11:17 -07:00
Buck Doyle
2d96e37390
Change sort arrow to pass through pointer events ( #5833 )
...
Without this, clicking on the sort arrow didn’t change the
sort direction.
2019-06-13 16:14:35 -05:00
Michael Lange
b0d6517297
Include the _ prefix separator in both regexes
...
And include all prefix types in the test data
2019-05-21 14:20:40 -07:00
Michael Lange
c485bc64fb
Acceptance testing for allocation lifecycle
2019-05-21 09:24:19 -07:00
Michael Lange
d485c040e3
Restart a single task from the task detail page
2019-05-21 09:24:18 -07:00
Michael Lange
416e9895d6
Don't cancel watchers when transitioning to a sub-route
2019-05-21 09:24:18 -07:00
Michael Lange
e40a01456b
Watch the next allocation on the allocation index page
2019-05-21 09:24:17 -07:00
Michael Lange
8d31474fdc
Support task restarting in the allocation adapter
2019-05-21 09:24:17 -07:00
Michael Lange
ffadcf5a25
Add stop and restart buttons to the allocation index page
2019-05-21 09:24:16 -07:00
Michael Lange
a00bc8befc
Allocation methods for stopping and restarting
2019-05-21 09:24:16 -07:00
Michael Lange
d3e919a2c8
New with-headroom modifier for titles
2019-05-21 09:24:15 -07:00
Michael Lange
7933a41782
Add cancel on click outside and disabled behaviors to two-step-button
2019-05-21 09:24:14 -07:00
Michael Lange
96a1a5e812
Move addToPath to its own util
2019-05-20 11:52:47 -07:00
Michael Lange
084c4cc95f
Standardize on Abort over Cancel
2019-05-20 11:08:16 -07:00
Michael Lange
c9220cb929
Replace the adapter cancellation methods with a cancellation token system
2019-05-20 10:29:22 -07:00
Buck Doyle
da65595db0
Change clients/jobs facets to always right-align
...
This changes the templates so the element that contains
the search box is always present, instead hiding only
the box itself when there’s nothing to search. Keeping
the empty element lets it take up its flexbox space so
the facets will no longer be in the centre.
2019-05-15 13:25:30 -05:00
Conor Mongey
49afa42af3
Return a htmlSafe string rather than use triple curlies
2019-05-02 21:47:24 +01:00
Conor Mongey
9ab4ef52c0
Converts ANSI terminal codes to HTML in logs
2019-05-02 21:47:23 +01:00
Michael Lange
35e34fea8b
Test coverage for preemption on the client detail page
2019-04-22 16:40:10 -07:00
Michael Lange
b7860a9bca
Test coverage for preemption on the allocation detail page
2019-04-22 16:40:09 -07:00
Michael Lange
4c7e350e84
Show which allocations an allocation preempted on the alloc page
2019-04-22 16:40:06 -07:00
Michael Lange
42a4793d9d
Show which alloc, if any, preempted an alloc on the alloc detail page
2019-04-22 16:40:05 -07:00
Michael Lange
a5a659a98a
Preemptions count and filtering on client detail page
...
Show the count in the allocations table next to the existing total alloc
count badge. Clicking either will filter by all or by preemptions.
2019-04-22 16:40:04 -07:00
Michael Lange
1266567098
Add preempted icon to alloc row
2019-04-22 16:40:04 -07:00
Michael Lange
e35139e453
Make sure tooltips show up over the top of the side bar
2019-04-22 16:40:03 -07:00
Michael Lange
d12d5f9163
Add wasPreempted bool to allocs
2019-04-22 16:40:02 -07:00
Michael Lange
dcc219fe73
Show preemptions on the job plan phase of job submission
2019-04-22 16:40:01 -07:00
Michael Lange
cb11f46ecf
Data modeling for preemptions
2019-04-22 16:40:00 -07:00
Michael Lange
4736803a24
ES5 getters codemod
2019-04-10 14:54:36 -07:00
Michael Lange
346a55a093
Address the Ember.Logger deprecations
2019-04-10 14:54:35 -07:00
Michael Lange
b6b2fd2114
Address the copy/copyable deprecation
2019-04-10 14:54:35 -07:00
Michael Lange
4636a9b612
Address inflector deprecations
2019-04-10 14:54:35 -07:00
Michael Lange
55ea01c1cc
Address test failures
2019-04-10 14:54:35 -07:00
Michael Lange
aeeca356bd
Address template linting issues
2019-04-10 14:54:34 -07:00
Michael Lange
9a10780d47
Replaces .columns with .toolbar on the clients page
2019-04-10 10:34:10 -05:00
Michael Lange
09907078bd
Replace the columns pattern with the new toolbar pattern on the jobs page
2019-04-10 10:34:10 -05:00
Michael Lange
6e3a27f9e7
New toolbar CSS component
2019-04-10 10:34:10 -05:00
Michael Lange
e400698905
Make the search box more elastic
...
1. Set a higher max-width
2. Set a min-width
3. Remove the min-width on mobile, including the invisible size="20" in
the markup
2019-04-10 10:34:10 -05:00
Michael Lange
6a0f5b5a4d
Fixes a few minor issues with the multiselect dropdown
...
1. Label no longer bleeds into the downward arrow icon
2. The selection number no longer breaks onto its own line
3. Options have a min-width so short labels can't result in small click
targets
2019-04-10 10:34:10 -05:00
Michael Lange
e73add100c
Change breakpoints to match Nomad/Bulma widths
2019-04-10 10:34:10 -05:00
Michael Lange
602df55ae0
Add the ember-responsive addon
2019-04-10 10:34:10 -05:00
Michael Lange
afecab1071
Improve the search box component to make it fluid and iconed
2019-04-10 10:34:10 -05:00
Michael Lange
e52b6be10f
Test coverage for clients faceted search
2019-04-10 10:34:10 -05:00
Michael Lange
243982562a
Implement faceted search on the clients page
2019-04-10 10:34:10 -05:00
Michael Lange
4464c473e5
Add nodeClass to the node model
2019-04-10 10:34:10 -05:00
Michael Lange
ddc577ccca
Refactor qp helpers from the jobs faceted search
2019-04-10 10:34:10 -05:00
Michael Lange
ff98a744c1
Changes from code review
2019-04-10 10:34:10 -05:00
Michael Lange
06e718387c
Make the facet filter function clearer with more brackets
2019-04-10 10:34:10 -05:00
Michael Lange
80abb8d8a0
Simplify options and selection names
2019-04-10 10:34:10 -05:00
Michael Lange
5e05408ae3
Test coverage for job list facets
2019-04-10 10:34:10 -05:00
Michael Lange
3f6bbfa8ff
Model facets in the page object
2019-04-10 10:34:10 -05:00
Michael Lange
5ae2f38c4e
Introduce encode/decode for array query params
2019-04-10 10:34:10 -05:00
Michael Lange
40b1857632
Support for the no options case
2019-04-10 10:34:10 -05:00
Michael Lange
09ae9fbfa3
Implement the job list filtering based on facet selection
2019-04-10 10:34:10 -05:00
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Michael Lange
4ed8957a3e
Styleguide entry for Search Box
2018-07-02 17:37:38 -07:00
Michael Lange
b47665da34
Styleguide entry for Page Title
2018-07-02 17:19:39 -07:00
Michael Lange
c009a7565e
Styleguide entry for Page Tabs
2018-07-02 16:36:26 -07:00
Michael Lange
6ab589b17c
Styleguide entry for metrics
2018-07-02 16:19:01 -07:00
Michael Lange
2d7a3d9139
Styleguide entry for Log Stream
2018-07-02 15:33:37 -07:00
Michael Lange
e6ecab0c27
Styleguide entry for the JSON Viewer
2018-06-30 11:31:17 -07:00
Michael Lange
d9725470f0
Styleguide entry for Inline definitions
2018-06-30 01:10:36 -07:00
Michael Lange
b529b471f3
Styleguide entry for header
2018-06-30 00:18:14 -07:00
Michael Lange
33c430daa9
Styleguide entry to the gutter menu
2018-06-29 23:36:40 -07:00
Michael Lange
2db7544f85
Styleguide entry for the timeline component
2018-06-29 18:33:23 -07:00
Michael Lange
ac89f346d4
Dropdown entry to the styleguide
2018-06-29 14:21:33 -07:00
Michael Lange
15de710759
Styleguide entry for the diff-viewer
2018-06-29 13:34:01 -07:00
Michael Lange
c86183154b
Remove hacky code that worked around an Ember Data bug
...
The bug is fixed in 2.18, so this can be written in the normal
less surprising way.
2018-06-13 15:05:18 -07:00
Michael Lange
780e9a18a5
Style tasks on the alloc index page like other tables of things
2018-06-07 11:31:06 -07:00
Michael Lange
ef2e49e82d
Merge pull request #4388 from hashicorp/f-ui-show-deployment-deadline
...
UI: Show deployment deadline for each task group in the running deployment
2018-06-07 08:55:53 -07:00
Michael Lange
73881a388c
Show the progress deadline for task groups in a running deployment
2018-06-06 17:35:18 -07:00
Michael Lange
ee093ffc16
Make task rows clickable.
...
Right now they are the only tables where the entire row isn't a
click-target to drill into the detail page.
2018-06-06 14:50:28 -07:00
Michael Lange
8b364c1e27
Use the network ip as the task address instead of the node ip
2018-06-04 15:34:16 -07:00
Michael Lange
1fd5035d9e
Merge pull request #4353 from hashicorp/f-ui-node-drain
...
UI: Node drain and eligibility
2018-05-30 14:40:21 -07:00
Michael Lange
e472d918cf
Account for the 0 case in format-duration
2018-05-30 14:30:45 -07:00
Michael Lange
b6f2b82fad
Merge pull request #4335 from hashicorp/b-ui-safari-log-streaming
...
UI: Use polling instead of streaming for following logs in Safari
2018-05-30 11:36:03 -07:00
Michael Lange
65edf31ec9
Acceptance testing for node drain information
2018-05-30 11:27:21 -07:00
Michael Lange
a06f6b27f2
Display node drain strategy information on the client detail page
2018-05-30 11:27:21 -07:00
Michael Lange
cdbca8dcd2
Duration formatting utility
...
The cloest Moment.js has is "homanize" which isn't precise enough.
2018-05-30 11:27:21 -07:00
Michael Lange
f0b54dd81b
Color-code node drain and eligibility in the full client list
...
This makes it easier to scan for interesting nodes
2018-05-30 11:27:21 -07:00
Michael Lange
3ac8f7abeb
Add drain and eligibility to the client details strip
2018-05-30 11:27:21 -07:00
Michael Lange
1303606f99
Add ineligibility to the status light
2018-05-30 11:27:21 -07:00
Michael Lange
ffb48d6f53
Update the clients list table to include drain and eligibility
...
This makes it match the CLI node status output
2018-05-30 11:27:20 -07:00
Michael Lange
078d921dc4
Data modeling for node drain and scheduling eligibility
2018-05-30 11:27:20 -07:00
Michael Lange
52e6c1e551
Merge pull request #4319 from hashicorp/b-ui-errant-acl-error
...
UI: XHR keys need to include the method as well
2018-05-25 12:24:17 -07:00
Michael Lange
a23fefdd50
Merge pull request #4339 from hashicorp/ui-change-stop-button-style
...
UI: Switch the stop button style to look mildly dangerous
2018-05-25 12:18:16 -07:00
Michael Lange
65d696f038
Merge pull request #4294 from hashicorp/f-ui-driver-health-checking
...
UI: Driver health checking
2018-05-25 12:00:11 -07:00
Michael Lange
7a601c39d3
Switch the stop button to be mildly dangerous
2018-05-25 11:56:32 -07:00
Michael Lange
4afc81a37d
Tag node events with the driver when available
2018-05-25 11:48:49 -07:00