Commit Graph

36 Commits

Author SHA1 Message Date
Michael Lange b6b2fd2114 Address the copy/copyable deprecation 2019-04-10 14:54:35 -07:00
Michael Lange 5bfd1d0ddd Reattach resources to stats trackers in the event they were destroyed 2019-03-29 16:09:14 -07: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 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 46936b6091 Unit tests for the stats trackers service 2018-09-19 15:33:29 -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 33da5ed14f
Merge pull request #4600 from hashicorp/f-ui-job-writes
UI: Job Writes
2018-08-30 10:41:14 -07:00
Michael Lange 0eb5e61e36 Switch token storage to localStorage from sessionStorage 2018-08-28 10:05:15 -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 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 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 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 a430baba4f Harden up the system service for the event of store unloading 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 a045db8ce4 Update tests to match new test selectors 2018-07-06 11:12:12 -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 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 dbf4b6c242 Clear out the localStorage namespace when it's no longer valid
In the event that a namespace in localStorage is not found in the
response for /namespaces, clear the localStorage value and assume
the default namespace.
2018-03-28 14:55:07 -07:00
Michael Lange fc5c4ff093 The initial index value should be 1, not 0 2018-03-21 13:28:56 -07:00
Michael Lange 80c8db559b Tests for watching and canceling requests 2018-03-02 16:21:37 -08:00
Michael Lange 55f90cf7f7 Prototype watching resources
- Service to manage X-Nomad-Index values
- Adapter method for reloading relationships with additional params
- Pattern for watching models and model relationships using EC
2018-03-02 16:21:34 -08:00
Michael Lange 79ebf291e8 Reorganize the styleguide using components for sections 2018-01-17 09:04:01 -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 Schurter 7a77fc69ce Include credentials in fetch requests
Fixes #3701

Relevant spec section:
https://fetch.spec.whatwg.org/#concept-request-credentials-mode
2018-01-08 12:18:03 -08:00
Michael Lange d7df5712f9 Prefer native fetch 2017-11-21 11:22:41 -08:00
Michael Lange d967a9eb30 Redo the logic around showing namespaces
Don't show namespaces if the only namespace is `default`
2017-10-23 17:42:36 -07:00
Michael Lange 8eeacebe67 Don't scroll to top on transition in tests
It's mega annoying
2017-10-23 17:42:36 -07:00
Michael Lange 85f66ffa94 Use /acl/token/self instead of /acl/token/:accessor_id 2017-10-16 13:27:52 -07:00
Michael Lange 2340504da8 Replace simple dropdown namespace switcher with ember-power-select 2017-10-11 13:45:03 -07:00
Michael Lange 3a0d292337 Add namespaces and active namespace to the system service 2017-10-11 13:45:03 -07:00
Michael Lange 3bb0a9779c Make sure to qualify requests made outside of adapters 2017-10-11 13:45:03 -07:00
Alex Dadgar e5ec915ac3 sync 2017-09-19 10:08:23 -05:00