diff --git a/ui/app/components/page-header-level-left.js b/ui/app/components/page-header-level-left.js new file mode 100644 index 0000000000..e3ac4fb5c0 --- /dev/null +++ b/ui/app/components/page-header-level-left.js @@ -0,0 +1,5 @@ +import Ember from 'ember'; + +export default Ember.Component.extend({ + tagName: '', +}); diff --git a/ui/app/components/page-header-level-right.js b/ui/app/components/page-header-level-right.js new file mode 100644 index 0000000000..e3ac4fb5c0 --- /dev/null +++ b/ui/app/components/page-header-level-right.js @@ -0,0 +1,5 @@ +import Ember from 'ember'; + +export default Ember.Component.extend({ + tagName: '', +}); diff --git a/ui/app/components/page-header-top.js b/ui/app/components/page-header-top.js new file mode 100644 index 0000000000..e3ac4fb5c0 --- /dev/null +++ b/ui/app/components/page-header-top.js @@ -0,0 +1,5 @@ +import Ember from 'ember'; + +export default Ember.Component.extend({ + tagName: '', +}); diff --git a/ui/app/components/page-header.js b/ui/app/components/page-header.js new file mode 100644 index 0000000000..0c8a391eed --- /dev/null +++ b/ui/app/components/page-header.js @@ -0,0 +1,6 @@ +import Ember from 'ember'; + +export default Ember.Component.extend({ + tagName: '', + hasLevel: true, +}); diff --git a/ui/app/components/secret-list-header.js b/ui/app/components/secret-list-header.js new file mode 100644 index 0000000000..63aeac4439 --- /dev/null +++ b/ui/app/components/secret-list-header.js @@ -0,0 +1,14 @@ +import Ember from 'ember'; + +export default Ember.Component.extend({ + tagName: '', + + // api + isCertTab: false, + isConfigure: false, + baseKey: null, + backendCrumb: null, + model: null, + + +}); diff --git a/ui/app/controllers/vault/cluster/settings/mount-secret-backend.js b/ui/app/controllers/vault/cluster/settings/mount-secret-backend.js index 2c51a88cb1..569a281148 100644 --- a/ui/app/controllers/vault/cluster/settings/mount-secret-backend.js +++ b/ui/app/controllers/vault/cluster/settings/mount-secret-backend.js @@ -30,7 +30,6 @@ export default Ember.Controller.extend({ description: null, default_lease_ttl: null, max_lease_ttl: null, - force_no_cache: null, showConfig: false, local: false, sealWrap: false, @@ -50,7 +49,6 @@ export default Ember.Controller.extend({ description: null, default_lease_ttl: null, max_lease_ttl: null, - force_no_cache: null, local: false, showConfig: false, sealWrap: false, @@ -82,7 +80,6 @@ export default Ember.Controller.extend({ selectedType: type, description, default_lease_ttl, - force_no_cache, local, max_lease_ttl, sealWrap, @@ -92,7 +89,6 @@ export default Ember.Controller.extend({ 'selectedType', 'description', 'default_lease_ttl', - 'force_no_cache', 'local', 'max_lease_ttl', 'sealWrap', @@ -112,9 +108,8 @@ export default Ember.Controller.extend({ if (this.get('showConfig')) { attrs.config = { - default_lease_ttl, - max_lease_ttl, - force_no_cache, + defaultLeaseTtl: default_lease_ttl, + maxLeaseTtl: max_lease_ttl, }; } diff --git a/ui/app/models/mount-options.js b/ui/app/models/mount-options.js index d40c18f9b0..9870456f68 100644 --- a/ui/app/models/mount-options.js +++ b/ui/app/models/mount-options.js @@ -2,5 +2,7 @@ import attr from 'ember-data/attr'; import Fragment from 'ember-data-model-fragments/fragment'; export default Fragment.extend({ - version: attr('number'), + version: attr('number', { + label: 'Version', + }), }); diff --git a/ui/app/models/secret-engine.js b/ui/app/models/secret-engine.js index 3e0a57858d..a015f1b33f 100644 --- a/ui/app/models/secret-engine.js +++ b/ui/app/models/secret-engine.js @@ -3,6 +3,8 @@ import DS from 'ember-data'; import { queryRecord } from 'ember-computed-query'; import { fragment } from 'ember-data-model-fragments/attributes'; +import { expandAttributeMeta } from 'vault/utils/field-to-attrs'; + const { attr } = DS; const { computed } = Ember; @@ -16,11 +18,26 @@ export default DS.Model.extend({ name: attr('string'), type: attr('string'), description: attr('string'), - config: attr('object'), - options: fragment('mount-options'), + config: fragment('mount-config', { defaultValue: {} }), + options: fragment('mount-options', { defaultValue: {} }), local: attr('boolean'), sealWrap: attr('boolean'), + formFields: [ + 'type', + 'path', + 'description', + 'accessor', + 'local', + 'sealWrap', + 'config.{defaultLeaseTtl,maxLeaseTtl}', + 'options.{version}', + ], + + attrs: computed('formFields', function() { + return expandAttributeMeta(this, this.get('formFields')); + }), + shouldIncludeInList: computed('type', function() { return !LIST_EXCLUDED_BACKENDS.includes(this.get('type')); }), diff --git a/ui/app/router.js b/ui/app/router.js index ecb289b575..c4ddb49d71 100644 --- a/ui/app/router.js +++ b/ui/app/router.js @@ -68,6 +68,7 @@ Router.map(function() { this.route('backends', { path: '/' }); this.route('backend', { path: '/:backend' }, function() { this.route('index', { path: '/' }); + this.route('configuration'); // because globs / params can't be empty, // we have to special-case ids of '' with thier own routes this.route('list-root', { path: '/list/' }); diff --git a/ui/app/routes/vault/cluster/secrets/backend/configuration.js b/ui/app/routes/vault/cluster/secrets/backend/configuration.js new file mode 100644 index 0000000000..e18705600d --- /dev/null +++ b/ui/app/routes/vault/cluster/secrets/backend/configuration.js @@ -0,0 +1,7 @@ +import Ember from 'ember'; + +export default Ember.Route.extend({ + model() { + return this.modelFor('vault.cluster.secrets.backend'); + }, +}); diff --git a/ui/app/styles/components/popup-menu.scss b/ui/app/styles/components/popup-menu.scss index 8e2406737c..5155b12370 100644 --- a/ui/app/styles/components/popup-menu.scss +++ b/ui/app/styles/components/popup-menu.scss @@ -20,8 +20,7 @@ } } .popup-menu-trigger { - width: 3rem; - height: 2rem; + min-width: auto; } .popup-menu-trigger.is-active { &, diff --git a/ui/app/styles/core/buttons.scss b/ui/app/styles/core/buttons.scss index ef23caf786..5f961c3b67 100644 --- a/ui/app/styles/core/buttons.scss +++ b/ui/app/styles/core/buttons.scss @@ -146,7 +146,6 @@ $button-box-shadow-standard: 0 3px 1px 0 rgba($black, 0.12); } } - &.is-more-icon, &.tool-tip-trigger { color: $black; min-width: auto; diff --git a/ui/app/templates/application.hbs b/ui/app/templates/application.hbs index fb6884ce52..c3d67ecfe2 100644 --- a/ui/app/templates/application.hbs +++ b/ui/app/templates/application.hbs @@ -40,7 +40,7 @@ {{/if}}
  • - + Policies
  • diff --git a/ui/app/templates/components/key-value-header.hbs b/ui/app/templates/components/key-value-header.hbs index 272f4296de..ed57f90661 100644 --- a/ui/app/templates/components/key-value-header.hbs +++ b/ui/app/templates/components/key-value-header.hbs @@ -1,4 +1,5 @@