Commit graph

317 commits

Author SHA1 Message Date
Matthew Irish 3da6487cf4
UI - support redirecting to an intended URL after authentication (#7088)
* add redirect_to query param

* alias auth controller state to vault controller where the query param is defined

* capture the current url before redirecting a user to auth if they're being redirected

* consume and reset the redirectTo query param when authenticating

* make sure that the current url when logging out does not get set as the redirect_to query param

* add unit tests for the mixin and make it so that redirects from the root don't end up in redirect_to

* acceptance tests for redirect
2019-08-01 18:50:43 -05:00
Matthew Irish 1a7a71385a
parse web CLI input as shell input (#7206)
* add shell quote

* use shell quote's parse method to properly escape strings entered in the web cli

* add and update tests for the web CLI

* fix linting and skip test for ' in a path

* skip the correct test
2019-08-01 17:12:04 -05:00
Matthew Irish 88cf9e6a76
clear namespaces on logout and properly render nested namespaces in the namepace picker (#7186)
* reset namespace cache when a user logs out

* fix issue where if you log in to a namespace with an initial /, nested namespaces would not show up in the navigation

* set an empty list of namespaces instead of ignoring error

* add tests for namespace bugs

* use this consistently in template
2019-08-01 16:53:57 -05:00
Noelle Daley 828185db49
UI/add select dropdown (#7102)
* add SelectDropdown

* use SelectDropdown instead of HttpRequestsDropdown

* use html selector instead of class name

* ensure SelectDropdown still works when rendered inside a Toolbar

* add tests

* remove old HttpRequests component

* make SelectDropdown example easier to read in Storybook

* add isFullwidth prop

* add SelectDropbown inside a Toolbar story

* fix tests

* remove actions block and call this.onChange directly

* replace dropdownLabel with label

* rename SelectDropdown to SelecT

* add test for onChange

* remove selectedItem prop since we don't need it

* make Select accept options as an array of strings or objects

* Revert "remove selectedItem prop since we don't need it"

This reverts commit 7278516de87bb1df60482edb005137252819931e.

* use Select inside TtlPicker

* remove debugger

* use a test selector

* fix pki test selectors

* improve storybook docs

* fix selected value in ttl picker

* ensure httprequests dropdown updates the selected item

* ensure select dropdown correctly matches selectedItem

* rename selectedItem to selectedValue

* remove debugger lol

* update selectedItem test

* add valueAttribute and labelAttribute to Storybook knobs

* udpate jsdocs

* remove old httprequestsdropdown component

* add note that onChange will receive value of select

* use Select inside AuthForm

* use correct test selector
2019-08-01 14:35:18 -07:00
Matthew Irish 7437dc9821
ancestorKeysForKey always returns an array (#6205) 2019-08-01 15:49:37 -05:00
Matthew Irish b0dfbde741
UI kmip scope delete and role form (#7169)
* always use ?force for kmip scope delete

* update the delete message when deleting a scope

* support disabling and not showing help text for checkboxes

* group TLS fields and render new allowed operations widget

* add operation-field-display component for kmip roles

* use operation-field-display component

* switch glyph for false value in info-table-row

* divvy up roles and tls

* fix JSDoc - showHelpText defaults to true

* fix tests and linting

* rename vars in operation-field-display component

* make the action name clearer re: what it's actually doing

* align the allowed-ops header

* show all operations as checked if you check to allow all
2019-07-23 16:00:00 -05:00
Madalyn 18fa9e418c
UI OpenAPI fixes: itemType pluralization, hide deprecated attrs, utilize apiPath, fix get param label (#7166) 2019-07-23 15:56:22 -04:00
Noelle Daley 2c65f5d313
update selected item on httprequestsdropdown (#7164) 2019-07-22 11:26:45 -07:00
Noelle Daley c5b5127fc4
check for the correct path when showing entities sidenav item (#7141)
* check for the correct path when showing entities sidenav item

* update tests to check for correct api path

* remove trailing slash
2019-07-18 14:24:30 -07:00
Noelle Daley 4ac26156c8
Ui/http request fixes (#7128)
* ensure dropdown updates selected item

* ensure no duplicate ticks

* handle case where counters are Dates instead of strings so bar chart filters in Storybook
2019-07-16 16:26:49 -07:00
Noelle Daley a045f206f8
Fix barchart bugs (#7063)
* ensure dropdown works in storybook by handling Dates and strings

* camelcase fix

* ensure tooltip doesn't blink
2019-07-03 13:52:56 -07:00
Noelle Daley 5cd7e924fe
Http request volume/dropdown (#7016)
* init dropdown

* add dropdown to storybook

* move http requests components into container

* add event handler for selecting new time window

* no need for this. in the template

* filter bar chart and table

* add bar chart transitions

* handle Last 12 Months in dropdown

* don't use fake data

* start tests

* add jsdoc and notes for storybook

* add container to storybook

* compute filteredCounters when counters change

* move static dropdown options to template

* add tests

* style the dropdown

* use this.elementId

* fix linting errors

* use ember array extensions

* use fillIn instead of page object and make dom assertions consistent

* calculate the correct percent change between months

* use data-test selector instead of id

* show plus or minus next to percent change
2019-07-03 10:46:40 -07:00
Matthew Irish 311cc49c61
UI - Vault API explorer engine (#7044)
* open-api-explorer engine with embedded swagger-ui

* move swagger config to a component, rely directly on swagger-ui

* filter operations by endpoint, hook up filter to query param, add namespace handling

* fix namespace handling

* update ember-engines so that we can app.import in a lazy engine

* use engine's included hook to move swagger-ui to engine-vendor.* files

* show flash message about this being a live vault server

* show a namespace reminder and override some styles from swagger-ui

* switch filter to use includes instead of startsWith

* move flash-message to alert-banner and fix namespace reminder with a block

* adds explore web-cli command to navigate to the api-explorer engine

* allow passing a preformatted string to flash messages

* add multi-line flash-message to api explorer

* invert control and trigger events on react app so we can control the layout more and use our components

* tweak styling some more and adjust message on the flash

* change web cli command from 'explore' to 'api'

* shorten namespace warning

* fix console

* fix comments
2019-07-02 17:41:23 -05:00
Matthew Irish ddf8c20219
UI - add delete for the various kmip models (#7015)
* add menu-loader component to show menu loading button when the model relationship isPending

* list what keys we've got in api-path error

* fix spacing issue on error flash

* add an action on list-controller that bubbles to the list-route mixin to refresh the route

* empty store when creating scopes

* don't delete _requestQuery in the loop, do it after

* add scope deletion from the scope list

* add deleteRecord to kmip adapters

* add model-wrap component

* delete role from detail page and list

* add revoke credentials functionality

* fix comment

* treat all operations fields specially on kmip roles

* adjust kmip role edit form for new fields

* fix api-path test

* update document blocks for menu-loader and model-wrap components
2019-07-02 16:23:07 -05:00
Madalyn 910f615bf5
UI: Clean up Dynamic UI for CRUD (#6994) 2019-07-01 16:35:18 -04:00
Matthew Irish 887e2febf8
UI - dynamic related capabilities (#7013)
* lay groundwork for application serializer to setup capabilities relationships

* add api path util and tests, and attach-capabilites fn

* make attach-capabilities work with array responses, add tests
2019-06-28 16:07:45 -05:00
Matthew Irish 9fccccb0ec
UI KMIP CA (#6983)
* move download-button and toolbar-download-button to core addon

* add ca model and adapter and show CA on the engine configuration page

* add other side of model relationship for kmip ca<->config
2019-06-26 11:02:05 -05:00
Noelle Daley 4c9dec60b7
UI: Add HTTP Requests Bar Chart Tooltip (#6972)
* initialize tooltip

* style tooltip

* show date in tooltip

* show tooltip on hover

* style tooltip

* add hover padding for when bar is very short

* add tooltip test and format tooltip date

* revert to using real data

* update comment about binding the tooltip to shadowBars

* remove d3array

* use double colons for pseudo elements

* use elementId in bars-container id name to prevent clashing

* use Object.freeze to eliminate linting error
2019-06-25 15:36:33 -07:00
Matthew Irish 68f3b90978
UI - kmip role edit form (#6973)
* extend edit form with a custom kmip role form

* adjust model fields and use new kmip role edit form

* customize serialize adapter hook for kmip/role

* refresh list routes in the list mixin

* style up kmip role edit form

* return a promise from preSave so that the queue helper waits to call save

* add serialize tests for the kmip/role adapter

* rename component to edit-form-kmip-role

* add tests for edit-form-kmip-role

* add some clarifying comments

* make input more realistic in tests

* remove delete toolbar
2019-06-25 15:57:50 -05:00
Matthew Irish f0d7dc9a6d
UI - add kmip engine (#6936)
* add kmip engine

* adjust where kmip engine is mounted and sketch out routes

* add secret mount path service to share params to engines

* move list-controller and list-route mixins to core addon and adjust imports

* properly link kmip secrets from the secrets list page

* tweak routes and add list controllers

* stub out some models and adapters

* fix mixin exports

* move a bunch of components into the core addon

* use new empty yield in list-view in the namespace template

* scopes list using list-view and list-item components

* simplify and flatten routes, templates for all of the list pages

* role show route and template and scope create template

* add ember-router-helpers

* add more packages to the dependencies of the core addon

* add field-group-show component for listing fields from a model

* move more components to the shared addon

* make configure and configuration routes work and save a generated model

* save and list scopes

* role create, list, read

* list credentials properly

* move allowed attributes to field group

* show allowed operations on role details page

* add kmip logo to mount secrets engine list page

* add role edit page

* show all model attributes on role show page

* enable role edit

* fix newFields error by creating open api role model on the role list route

* only show selected fields on role edit page

* do not send scope and backend attrs to api

* move path-or-array to core addon

* move string-list component to core addon

* remove extra top border when there is only one field group

* add icons for all of the list pages

* update kmip config model so defaultValue doesn't error

* generate credentials

* credential create and show

* only show kmip when feature is enabled

* fix saving of TTL fields generated from Open API

* move masked-input and list-pagination components to core addon

* add param on edit form to allow for calling onSave after render happens

* polish credential show page and redirect there after generating credentials

* add externalLink for kmip engine

* add kmip-breadcrumb component

* use kmip-breadcrumb component

* add linkPrefix param to linked-block component to allow for routing programmatically inside an engine

* redirect to the right place when enabling kmip

* fix linting

* review feedback

* update signature for path-help usage

* fix ttl field expansion test

* remove role filed from role form, fix generate redirect

* remove field-group-show because it's in the core addon

* remove bottom rule from show pages

* fix Max TTL displayAttrs for ssh role

* update edit-form to take fields or attrs

* fix linting

* remove listenAddrs and set default val on ttl if a val is passed in
2019-06-21 16:05:45 -05:00
Madalyn 8338b9b0e3
OpenAPI CRUD views (#6702)
Dynamically generate views from OpenAPI document to List/CRUD LDAP users and groups in the UI
2019-06-21 11:18:26 -04:00
Matthew Irish 99899a3ebb
UI - cross-browser svg scaling fixes (#6933)
* fix icon sizing in firefox

* specify height becuase IE likes to make things way too tall
2019-06-20 10:55:23 -05:00
Matthew Irish c49fb2e512
UI transit date fix (#6827)
* fix timestamp for aes-gcm and chacha-poly transit keys

* add test for transit-key serializer
2019-06-20 08:39:23 -05:00
Matthew Irish 757afb4de9
UI - no jquery (#6768)
* add no-jquery rule and move event listeners to ember-concurrency tasks

* remove unnecessary onchange and handleKeyDown actions

* add element.closest polyfill and convert linked-block to use native dom apis

* update pretender, fetch, page-object, add optional-features, remove ember/jquery

* turn off jquery inclusion

* remove jQuery.isPlainObject usage

* violatedDirective isn't always formatted the same

* use fetch and the ember-fetch adapter mixin

* move to fetch and lowercase headers for pretender

* display non-ember-data errors

* use new async fn test style and lowercase headers in auth service test

* setContext is not necessary with the new style tests and ember-cli-page-object - it actually triggers jquery usage

* update ember-fetch, ember-cli-pretender

* wait for permissions check

* lowercase header name in auth test

* refactor transit tests to one test per key type

* simplify pollCluster helper

* stop flakey tests by prefering the native fetch

* avoid uncaught TransitionAborted error by navigating directly to unseal

* unset model on controller after unloading it because controllers are singletons

* update yarn.lock
2019-06-20 08:37:27 -05:00
Noelle Daley 4fd783d3f4
Add HTTP Request Volume page (#6925)
* Add http request volume table (#6765)

* init http metrics page

* remove flex-table-column

* add http requests table

* calculate percent change between each counter

* start percent change tests

* style request table

* show percent more/less glyph

* add percent more less tests

* add inline alert about recorded metrics

* make arrows diagonal

* remove conditional inside countersWithChange

* add better error msg

* use tagName and wrapping element a la glimmer components

* extend ClusterRouteBase so auth and seal checks happen

* make table accessible

* remove curlies

* add HttpRequestsTable to storybook

* make table accessible

* use qunit dom for better assertions

* remove EmptyState since we will never have 0 requests

* ensure counters is set in test context

* Http request volume/add barchart (#6814)

* Add http request volume table (#6765)

* init http metrics page

* remove flex-table-column

* add http requests table

* calculate percent change between each counter

* start percent change tests

* style request table

* show percent more/less glyph

* add percent more less tests

* add inline alert about recorded metrics

* make arrows diagonal

* remove conditional inside countersWithChange

* add better error msg

* use tagName and wrapping element a la glimmer components

* extend ClusterRouteBase so auth and seal checks happen

* make table accessible

* remove curlies

* add HttpRequestsTable to storybook

* make table accessible

* use qunit dom for better assertions

* remove EmptyState since we will never have 0 requests

* ensure counters is set in test context

* add http-requests-bar-chart

* add HttpRequestsBarChart tests

* add HttpRequestsBarChart to Storybook

* format total number of requests according to locale

* do not show extra minus sign when percent change is negative

* add link to request metrics in status bar menu

* only show bar chart if we have data for more than 1 month

* make ticks lighter

* ensure charts show data for correct month

* make example counters response look like the adapter response instead of the raw api response

* ensure ui shows the same utc date as the api response

* add format-utc tests

* downgrade to d3 v4 to support ie11

* add gridlines

* move dasharray to css

* use scheduleOnce instead of debounce to prevent multiple re-renders

* add key function to bars

* add exit case when data is no longer in parsedCounters

* fix timestamp in table test

* fix timestamps

* use utcParse and fallback to isoParse for non-UTC dates

* fix bar chart tests
2019-06-19 16:14:25 -07:00
Joshua Ogle f58b79db7f
UI: Remove upgrade modal (#6871)
* Remove upgrade-link component
* Hide enterprrise links from OSS
* Don't show sidebar if they can't use the options
2019-06-14 15:46:18 -06:00
Matthew Irish 813c9f0a92
fix error when running formatOptions on items that don't come from the API response (#6824) 2019-06-04 12:44:58 -05:00
Madalyn 43f4c5532d use ember-power-select-with-create instead of ember-power-select (#6728)
* use ember-power-select-with-create instead of ember-power-select

* add custom Add message to clarify whether you need a name or ID

* add search-select to storybook

* add wormhole div for ember-basic-dropdown

* add search-select to storybook

* make sure knobs are working

* remove unused code
2019-06-03 15:25:59 -05:00
Matthew Irish 23946d75a7
web-cli quote parsing (#6755)
* upgrade yargs-parser for better quote handling

* remove encoding pre&post parse, and remove wrapping quotes when pushing to data array

* add test for spaces and strings

* base64 encode policy strings in tests where we're using them with string interpolation

* improve regex to only remove wrapping single and double quotes

* don't support quotes in paths in the web cli
2019-05-22 16:07:42 -05:00
Matthew Irish 663e344f87
Change tab completion in the UI to prefer common prefix (#6759)
* add common-prefix util and use it in the list controller

* add test

* browser js for in-repo dirs

* address PR feedback
2019-05-22 09:28:34 -05:00
Joshua Ogle 5c5a33f6df
UI: Add Toolbar to Storybook (#6761)
* Add Toolbar stories
* Update ConfirmAction story
2019-05-20 18:10:42 -06:00
Matthew Irish 0461cda6df
don't use fit-content, ff doesn't love it (#6763) 2019-05-20 16:00:36 -05:00
Joshua Ogle 7eff7b51aa
UI: Confirm Action as a popover
* Refactors ConfirmAction implementation as a popover
* Improves copy surrounding consequences of destructive actions
* Moves 'Delete' buttons to Toolbar
2019-05-17 11:29:21 -06:00
Matthew Irish 353a2bdb58
UI icon - add size (#6736)
* add size prop to icon component

* use size instead of css classes to adjust Icons

* add knobs for icon stories
2019-05-16 14:49:38 -05:00
Patrick Hayes 6e14a17665 Add spellcheck="false" to form fields (#6744)
In Safari on OSX, it will replace form values with autocorrected values
unless this field is present
2019-05-16 09:54:11 -05:00
Matthew Irish 0ccc8467ec
UI ember engines (#6718)
Adds replication engine and core in-repo addon
2019-05-13 14:05:25 -05:00
Joshua Ogle 244d9c435a Remove @ attributes from ToolbarLink 2019-05-09 18:09:15 -06:00
Joshua Ogle c3923705bf Remove @ from data attributes that don't need it 2019-05-09 17:56:19 -06:00
Joshua Ogle fd3a5aa55c Move toolbar back out of secretlistheader 2019-05-09 11:31:26 -06:00
Joshua Ogle 9fde573eec Fix tests for toolbar links 2019-05-09 10:53:41 -06:00
Joshua Ogle bb03a86df6 Don't use container for toolbar link components 2019-05-09 10:31:10 -06:00
Joshua Ogle 791b78f63a Move auth form toolbar back 2019-05-09 10:07:13 -06:00
Joshua Ogle 756a192c4f Better SecretsListHeader toolbar 2019-05-09 10:00:55 -06:00
Joshua Ogle 0fb9ba3ee5 Simplify Toolbar Link components 2019-05-08 23:42:40 -06:00
Joshua Ogle f2e4892e8e Better toolbar container style 2019-05-08 17:08:39 -06:00
Joshua Ogle a655e76944 Add Toolbar component 2019-05-08 17:08:39 -06:00
Noelle Daley c7e5283b8b
Add Browserstack for IE11 testing (#6557)
* add browserstack

* check for data before removing root token

* fix root prefix and select by attributes for ie11

* use objectAt for ie11

* use blobs instead of files for ie11

* manually round cirucmference for ie11

* skip csp test on ie11

* skip tests in ie11

* include polyfill for CI

* remove on exit hooks

* update which browserstack tests are run

* remove ie check since we are not running these tests in ie

* remove ie check since we are not running these tests in ie
2019-05-03 15:20:14 -07:00
Matthew Irish 93e827fe81
UI - test console cleanup (#6674)
* add ember-cli-deprecation-workflow

* this._router in routes to quiet deprecation

* mark style bindings as htmlSafe strings

* simplify authenticate service hook with async fn

* don't serialize aliases relationship on entities

* update ember-test-selectors so we can use supportsDataTestProperties

* allow duplicate flash messages because we don't want a log warning

* update ember-concurrency for better error message

* use ember-qunit instead of ember-cli-qunit

* update ember-cli-page-object so we're not using a beta lol

* ignore test-helper jquery context warning

* fix race condition in pgp-file test by using ember-concurrency task and test waiter

* await cli commands

* fail tests if async leakage is detected

* update auth-jwt component and tests to be simpler

* fix linting

* review feedback
2019-05-02 22:20:28 -05:00
Joshua Ogle 1dacd0e641 UI: Fix select arrow 2019-04-25 08:11:10 -05:00
Matthew Irish 97767717aa
UI - no ember cli eslint (#6613)
* remove ember-cli-eslint, add eslint, run eslint in tests

* ignore story files for now

* fix or ignore linting
2019-04-18 20:50:05 -05:00