Commit graph

33 commits

Author SHA1 Message Date
Buck Doyle bf7ed82def
Improve global search UX (#8249)
This updates the look of the search control, adds a hint about the slash
shortcut, adds highlighting of fuzzy search results, and addresses a few
edge case UX failures. It moves to using a fork of Ember Power Select
to handle an edge case where pressing escape would put the control
in an undesirable active-but-not-open state.
2020-06-25 08:51:52 -05:00
Michael Lange 16ed5451d2 Change with-namespace-ids mixin to a base class
This is a merge of 5d9fce5.
2020-06-15 09:47:15 -05:00
Buck Doyle 1cca7abcab
Add Ember ESLint plugin (#8134)
This is extracted from #8094, where I have run into some snags. Since
these ESLint fixes aren’t actually connected to the Ember 3.16 update
but involve changes to many files, we might as well address them
separately. Where possible I fixed the problems but in cases where
a fix seemed too involved, I added per-line or -file exceptions.
2020-06-09 16:03:28 -05:00
Michael Lange e436d01b01 Remove jquery from the window resize helper 2020-05-26 14:35:57 -07: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 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
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 c485bc64fb Acceptance testing for allocation lifecycle 2019-05-21 09:24:19 -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 4736803a24 ES5 getters codemod 2019-04-10 14:54:36 -07: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 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 6e00633d77 Update all the awkward browserify imports to plain ol' es6 imports 2018-07-06 13:38:57 -07:00
Michael Lange 536c013928 Disable visibility behaviors when testing
It results in surprise behaviors.
2018-05-25 10:15:24 -07:00
Michael Lange b5bcab3f52 Clean up computed property by inverting early return 2018-05-04 20:38:55 -07:00
Michael Lange 603da9b4ea Test coverage for the changes to the searchable mixin 2018-04-23 16:49:04 -07:00
Michael Lange 50b0892c14 Trim whitespace on the search term
Trailing whitespace messes with tokenization
2018-04-23 16:49:04 -07:00
Michael Lange e0a0dbae9f Add tokenization to fuse search options 2018-04-23 14:58:01 -07:00
Michael Lange 854c1665e0 Add optional fuzzy search support to the searchable mixin
This time around fuzzy, exact, and regex can all be toggled.
Additionally, each search type gets its own set of keys to search
for. This means fuzzy search can only look at name while regex and
exact match will still look at ID.
2018-04-23 14:58:01 -07:00
Michael Lange 04681d5622 Better define mixin contracts 2018-03-08 11:15:43 -08:00
Michael Lange 314f1ea436 Change from the setupController hook to the new startWatchers hook 2018-03-08 10:40:31 -08:00
Michael Lange 50f67d8ee6 New mixins for managing tab visibility effects 2018-03-08 10:40:31 -08:00
Michael Lange 2282f3243a Use willTransition instead of deactivate to cancel requests
deactivate happens _after_ the new route's model hook, which
results in the possibility of canceling new requests right
after they are made rather than existing open connections
2018-03-05 09:32:05 -08:00
Michael Lange 1107798da6 Use the new ember modules imports
Generated with a codemode:
https://github.com/ember-cli/ember-modules-codemod
2018-01-17 09:02:04 -08:00
Michael Lange 225817583f Common code for handling 403s in routes 2017-10-24 16:40:27 -07:00
Michael Lange 7abf621441 On namespace change on a job detail page, redirect to /jobs
And reload jobs for the new namespace.
2017-10-23 17:42:36 -07:00
Michael Lange 79c836d734 Merge pull request #3412 from hashicorp/b-ui-disable-fuzzy-search
Disable fuzzy search
2017-10-18 20:08:15 -07:00
Michael Lange 19b2ac4858 Remove fuse as a dependency 2017-10-18 19:45:12 -07:00
Michael Lange dc20fc88b9 Unload all records when a token is set or cleared
This guarantees no privileged data is shown to unprivileged credentials
2017-10-18 16:42:08 -07:00
Michael Lange 635263b8aa Disable fuzzy search
It doesn't work well for highly precise values, or small datasets, or prefixes.
Which are our three use cases.
2017-10-18 12:52:24 -07:00
Michael Lange ca0b297d47 Handle allocation 404s 2017-10-05 14:39:37 -07:00
Michael Lange 4d9c430a87 Rerender the distribution chart when the window resizes 2017-09-26 17:18:22 -07:00
Alex Dadgar e5ec915ac3 sync 2017-09-19 10:08:23 -05:00