open-vault/ui/app/styles/components/namespace-picker.scss
Matthew Irish 21af204683
UI namespaces (#5119)
* add namespace sidebar item

* depend on ember-inflector directly

* list-view and list-item components

* fill out components and render empty namespaces page

* list namespaces in access

* add menu contextual component to list item

* popup contextual component

* full crud for namespaces

* add namespaces service and picker component

* split application and vault.cluster templates and controllers, add namespace query param, add namespace-picker to vault.namespace template

* remove usage of href-to

* remove ember-href-to from deps

* add ember-responsive

* start styling the picker and link to appropriate namespaces, use ember-responsive to render picker in different places based on the breakpoint

* get query param working and save ns to authdata when authenticating, feed through ns in application adapter

* move to observer on the controller for setting state on the service

* set state in the beforeModel hook and clear the ember data model cache

* nav to secrets on change and make error handling more resilient utilizing the method that atlas does to eagerly update URLs

* add a list of sys endpoints in a helper

* hide header elements if not in the root namespace

* debounce namespace input on auth, fix 404 for auth method fetch, move auth method fetch to a task on the auth-form component and refretch on namespace change

* fix display of supported engines and exclusion of sys and identity engines

* don't fetch replication status if you're in a non-root namespace

* hide seal sub-menu if not in the root namespace

* don't autocomplete auth form inputs

* always send some requests to the root namespace

* use methodType and engineType instead of type in case there it is ns_ prefixed

* use sys/internal/ui/namespaces to fetch the list in the dropdown

* don't use model for namespace picker and always make the request to the token namespace

* fix header handling for fetch calls

* use namespace-reminder component on creation and edit forms throughout the application

* add namespace-reminder to the console

* add flat

* add deepmerge for creating the tree in the menu

* delayed rendering for animation timing

* design and code feedback on the first round

* white text in the namespace picker

* fix namespace picker issues with root keys

* separate path-to-tree

* add tests for path-to-tree util

* hide picker if you're in the root ns and you can't access other namespaces

* show error message if you enter invalid characters for namespace path

* return a different model if we dont have the namespaces feature and show upgrade page

* if a token has a namespace_path, use that as the root user namespace and transition them there on login

* use token namespace for user, but use specified namespace to log in

* always renew tokens in the token namespace

* fix edition-badge test
2018-08-16 12:48:24 -05:00

103 lines
1.9 KiB
SCSS

.namespace-picker {
border-right: 1px solid rgba($black, 0.5);
margin-right: $size-10;
position: relative;
padding: 0.5rem;
color: $white;
fill: $white;
}
.namespace-picker.no-namespaces {
border: none;
padding-right: 0;
}
.namespace-picker-trigger {
display: flex;
align-items: center;
}
.namespace-name {
display: inline-block;
margin-left: $size-10;
font-size: 1rem;
}
.namespace-picker-content {
width: 300px;
max-height: 300px;
overflow: auto;
border-radius: $radius;
box-shadow: $box-shadow, $box-shadow-high;
}
.namespace-picker-content .level-left {
max-width: 210px;
overflow-wrap: break-word;
word-wrap: break-word;
-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
}
.namespace-header-bar {
padding: $size-11 $size-10;
box-shadow: $box-shadow;
font-weight: $font-weight-semibold;
min-height: 32px;
.namespace-manage-link {
text-decoration: none;
}
}
.namespace-header {
margin: $size-9 $size-9 0;
color: $grey;
font-size: $size-8;
font-weight: $font-weight-semibold;
text-transform: uppercase;
}
.current-namespace {
border-bottom: 1px solid rgba($black, 0.1);
}
.namespace-list {
position: relative;
overflow: hidden;
}
.namespace-link {
color: $black;
text-decoration: none;
font-weight: $font-weight-semibold;
padding: $size-10 $size-9;
}
.leaf-panel {
transition: transform ease-in-out 250ms;
will-change: transform;
transform: translateX(0);
background: $white;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
}
.leaf-panel-left {
transform: translateX(-300px);
}
.leaf-panel-adding,
.leaf-panel-current {
position: relative;
& .namespace-link:last-child {
margin-bottom: 4px;
}
}
.animated-list {
.leaf-panel-exiting,
.leaf-panel-adding {
transform: translateX(300px);
z-index: 20;
}
}
.leaf-panel-adding {
z-index: 100;
}