Commit Graph

427 Commits

Author SHA1 Message Date
Jai Bhagat
d0f8322786 ui: fix auto-fixable linting errors 2022-01-20 09:46:45 -05:00
Jai Bhagat
205a07c237 feat: add clicking functionality to alloc status legend 2022-01-14 10:14:44 -05:00
Luiz Aoqui
6b488bdad3 Fix ACL requirements for job details UI (#11672) 2022-01-12 21:26:02 -05:00
Jai Bhagat
10db60edf6 feat: handle title behavior for job breadcrumb 2021-12-21 07:47:05 -05:00
Jai Bhagat
0334709bd7 feat: add title to default breadcrumb component 2021-12-21 07:47:05 -05:00
Jai Bhagat
5ca9ebe04d fix: update breadcrumb tests according to new breadcrumb structure 2021-12-21 07:46:28 -05:00
Jai Bhagat
4cadf69d5b refactor: delete app-breadcrumbs component file 2021-12-21 07:46:28 -05:00
Jai Bhagat
972b52ad91 chore: write tests for trigger component 2021-12-21 07:46:28 -05:00
Jai Bhagat
db9d62dcfa fix: handle case for async relationships 2021-12-21 07:46:27 -05:00
Jai Bhagat
b996834af1 fix: resolve parent on job still issue with alloc job async relationship 2021-12-21 07:46:27 -05:00
Jai Bhagat
b1002d6839 feat: create trigger component
Create Trigger Component and deprecate Breadcrumb-Utils pattern.
2021-12-21 07:46:25 -05:00
Jai Bhagat
126c4dfa56 fix: delete old breadcrumbs and replace with bucket 2021-12-21 07:45:24 -05:00
Jai Bhagat
dcc9aa18ad fix: delete state from routes and move to controllers and add renderless component to templates 2021-12-21 07:45:12 -05:00
Jai Bhagat
67e6cec66b feat: create bucket service to register, deregister and store breadcrumbs 2021-12-21 07:42:26 -05:00
Jai Bhagat
094c1912f9 feat: add sliceClick to job-page/summary 2021-12-16 11:24:03 -05:00
Luiz Aoqui
dbfeefb89b ui: minor fixes 2021-11-05 18:09:16 -04:00
Luiz Aoqui
5fbea9142f ui: fix after ugrading d3-selection 2021-11-05 18:09:15 -04:00
Luiz Aoqui
fae21507d5 ui: upgrade d3-selection 1.4.2 -> 3.0.0 2021-11-05 18:09:14 -04:00
pangratz
7d175edcec fix: ensure reloading an allocation doesn't result in an infinite loop
`allocation.reload()` has differnt semantics for reloading, as it will
reload the record in the background and immediately resolve [1].

By using the stores' findRecord and specifying `backgroundReload:
false`, we make sure we await the response from the server and hereby
have the complete record once we continue in the code.

Using `allocation.reoad()` causes and infinite loop when we upgrade
ember-data to 3.16 (and model fragments to 5.0.0-beta.2).

[1] This is, unless `shouldBackgroundReload` on the adapter returns
false, but it's true by default.
2021-11-04 16:27:40 +01:00
Luiz Aoqui
f729ba5df4 ui: persist node drain settings (#11368) 2021-10-22 10:51:31 -04:00
Luiz Aoqui
5653d28c23 ui: use get to access job meta value (#11370) 2021-10-22 10:05:48 -04:00
Luiz Aoqui
d599c63c9c ui: create tooltip component (#11363) 2021-10-21 13:12:33 -04:00
Luiz Aoqui
d4c3989e2a Update job details box (#11288) 2021-10-12 16:36:10 -04:00
Jai
0564f9fa68 System Batch UI, Client Status Bar Chart and Client Tab page view (#11078) 2021-10-07 17:11:38 -04:00
Luiz Aoqui
cf7675a376 ui: set the job namespace when redirecting after the job is dispatched (#11141) 2021-09-07 12:27:33 -04:00
Luiz Aoqui
ea47fa7d90 ui: set namespace when looking for and displaying children jobs (#11110) 2021-09-01 14:40:25 -04:00
Jai
c86f30d7f1 Merge pull request #10666 from hashicorp/b-ui/search-namespaces
ui: Fix fuzzy search namespace-handling
2021-08-10 13:13:20 -04:00
Jai Bhagat
00df085e71 edit hierarchy to lead with namespace before job 2021-08-10 10:35:36 -04:00
Luiz Aoqui
332dc88101 ui: fix job dispatch page when job doesn't have any meta fields (#10934) 2021-08-03 13:50:43 -04:00
Jai Bhagat
2649d19668 edit fuzzy search callback logic
Namespaces are set-up in Nomad to be an object that has an id property.
However, namespaces actually don't have that shape. Our search was expecting
a namespace object, but we actually don't have a namespace assigned to jobs
in our config and namespace is set to null. Normally, these namespaces would
be set to default, but that would require us to refactor our Mirage config
if we wanted to assert that namespaces are 'default' and not null. So this is
a bandaid solution.
2021-07-26 17:25:43 -04:00
Jai Bhagat
d3bf10335a Merge remote-tracking branch 'origin/main' into b-ui/search-namespaces 2021-07-22 15:16:30 -04:00
Jai Bhagat
3e07db87d4 address merge conflicts 2021-07-21 17:30:11 -04:00
Nicholas Cioli
801a7324a3 ui: add parameterized dispatch interface (#10675)
* ui: add parameterized dispatch interface

This commit adds a new interface for dispatching parameteried jobs, if
the user has the right permissions. The UI can be accessed by viewing a
parameterized job and clicking on the "Dispatch Job" button located in
the "Job Launches" section.

* fix failing lint test

* clean up dispatch and remove meta

This commit cleans up a few things that had typos and
inconsistent naming. In line with this, the custom
`meta` view was removed in favor of using the
included `AttributesTable`.

* ui: encode dispatch job payload and start adding tests

* ui: remove unused test imports

* ui: redesign job dispatch form

* ui: initial acceptance tests for dispatch job

* ui: generate parameterized job children with correct id format

* ui: fix job dispatch breadcrumb link

* ui: refactor job dispatch component into glimmer component and add form validation

* ui: remove unused CSS class

* ui: align job dispatch button

* ui: handle namespace-specific requests on job dispatch

* ui: rename payloadMissing to payloadHasError

* ui: don't re-fetch job spec on dispatch job

* ui: keep overview tab selected on job dispatch page

* ui: fix task and task-group linting

* ui: URL encode job id on dispatch job tests

* ui: fix error when job meta is null

* ui: handle job dispatch from adapter

* ui: add more tests for dispatch job page

* ui: add "job dispatch" capability check

* ui: update job dispatch from code review

Co-authored-by: Luiz Aoqui <luiz@hashicorp.com>
2021-07-20 18:27:41 -04:00
Jai Bhagat
b09559eb9e refactoring for same regression in job versions
In job versions, if you have an ACL token with a write policy
you should be able to revert a job, however, that was not the
case here. This is because we're using ember-can to check if
the user can run a job. That permission relies on policiesSupportRunning
which uses a function called namespaceIncludesCapability. We're going to
need to refactor any cases that use this function.
2021-07-20 16:24:42 -04:00
Florian Apolloner
5f968baf0d Fixed global-search keyboard shortcut for non-english keyboard layouts.
Closes #10646
2021-06-07 13:32:38 -04:00
Buck Doyle
6f999522c7 Add namespace to allocation search result label
Is “@ namespace” sensible? 🧐
2021-05-27 14:03:05 -05:00
Buck Doyle
c075ee5735 Change fuzzy search to search all namespaces
Thanks to @apollo13 for reporting this in #10101.
2021-05-27 13:45:34 -05:00
Buck Doyle
51a9e00374 Add namespace to job search results 2021-05-27 13:35:30 -05:00
Buck Doyle
a4f08d838c ui: Fix bug where switching topo viz allocation highlights doesn’t update charts (#10490)
This closes #10489. It adds `dependentKeyCompat` to the allocation getter so it works
as expected as a dependent key for the `tracker` computed property, as described here:
https://guides.emberjs.com/release/upgrading/current-edition/tracked-properties/#toc_backwards-compatibility
2021-05-03 10:36:18 -05:00
Michael Lange
92391683da ui: Update namespaces design (#10444)
This rethinks namespaces as a filter on list pages rather than a global setting.

The biggest net-new feature here is being able to select All (*) to list all jobs
or CSI volumes across namespaces.
2021-04-29 15:00:59 -05:00
Buck Doyle
911b613693 ui: Change global search to use fuzzy search API (#10412)
This updates the UI to use the new fuzzy search API. It’s a drop-in
replacement so the / shortcut to jump to search is preserved, and
results can be cycled through and chosen via arrow keys and the
enter key.

It doesn’t use everything returned by the API:
* deployments and evaluations: these match by id, doesn’t seem like
  people would know those or benefit from quick navigation to them
* namespaces: doesn’t seem useful as they currently function
* scaling policies
* tasks: the response doesn’t include an allocation id, which means they
  can’t be navigated to in the UI without an additional query
* CSI volumes: aren’t actually returned by the API

Since there’s no API to check the server configuration and know whether
the feature has been disabled, this adds another query in
route:application#beforeModel that acts as feature detection: if the
attempt to query fails (500), the global search field is hidden.

Upon having added another query on load, I realised that beforeModel was
being triggered any time service:router#transitionTo was being called,
which happens upon navigating to a search result, for instance, because
of refreshModel being present on the region query parameter. This PR
adds a check for transition.queryParamsOnly and skips rerunning the
onload queries (token permissions check, license check, fuzzy search
feature detection).

Implementation notes:

* there are changes to unrelated tests to ignore the on-load feature
  detection query
* some lifecycle-related guards against undefined were required to
  address failures when navigating to an allocation
* the minimum search length of 2 characters is hard-coded as there’s
  currently no way to determine min_term_length in the UI
2021-04-28 13:31:05 -05:00
Buck Doyle
d0f4750f51 Add job version revert buttons (#10336)
This adds a Revert two-step button to the JobVersions component for
not-current versions, which redirects to the overview on success. It
checks the job version before and after reversion to mitigate the edge
case where reverting to an otherwise-identical version has no effect, as
discussed in #10337.

It uses existing facilities for handling other errors and disabling the
button when permissions are lacking.
2021-04-20 08:33:16 -05:00
Michael Lange
751eb392c3 Stop downloading files in tests 2021-04-13 16:40:17 -07:00
Michael Lange
a019587de5 Use common helpers and utils for formatting hertz 2021-03-31 09:29:14 -07:00
Michael Lange
f82fe6b875 Format all bytes using helpers, even the ones that are already MiBs 2021-03-31 09:29:02 -07:00
Michael Lange
efaadd426b format-scheduled-bytes helper 2021-03-31 09:29:02 -07:00
Buck Doyle
3d9464023d Update to v4 of Ember Power Select (#10226)
This closes #10146.

Because of cibernox/ember-power-select#1203, which documents
the current impossibility of attaching test selectors to a
PowerSelect invocation, this uses test selectors on parent
containers instead, occasionally adding wrappers when needed.
I chose to leave the existing test selectors in the hopes that
we can return to using them eventually, but I could easily
remove them if it seems like extra noise now.

Presumably for the same reason, @class no longer works, so
this adjusts the scoping of global search CSS to preserve the style
of the search control.

I also included an update to the latest version of
ember-test-selectors, since we were far behind and I tried
that before finding the aforelinked issue.

Finally, this replaces ember-cli-uglify with ember-cli-terser to address
production build failures as described at ember-cli/ember-cli#9290.
2021-03-26 08:55:12 -05:00
Michael Lange
c15bf65ef0 Remove errant log line 2021-03-24 15:34:46 -07:00
Michael Lange
1d8bc393cf Guard against empty data when determining active linechart data 2021-03-24 15:09:47 -07:00
Michael Lange
2b1449ce88 Use more explicit branching of reserved amounts based on metric type 2021-03-24 13:55:18 -07:00