UI: Use buttons instead of anchors where appropriate (#4939)

Use buttons instead of anchors where appropriate
This commit is contained in:
John Cowen 2018-11-19 14:57:22 +00:00 committed by John Cowen
parent 5049780134
commit 93ebf086e0
9 changed files with 69 additions and 55 deletions

View File

@ -1,6 +1,14 @@
%action-group label span {
display: none;
}
%action-group-action {
width: 170px;
padding: 10px 10px;
text-align: left;
}
%action-group li > * {
@extend %action-group-action;
}
%action-group::before {
margin-left: -1px;
}
@ -59,10 +67,6 @@
position: relative;
z-index: 1;
}
%action-group li a {
width: 170px;
padding: 10px 10px;
}
%action-group input[type='radio'],
%action-group input[type='radio'] ~ ul,
%action-group input[type='radio'] ~ .with-confirmation > ul {

View File

@ -5,7 +5,8 @@
/* frame-gray */
background-color: $gray-050;
}
%action-group label {
%action-group label,
%action-group-action {
cursor: pointer;
}
%action-group label::after,
@ -26,7 +27,10 @@
%action-group ul::before {
border-color: $color-action;
}
%action-group li a:hover {
%action-group-action {
background-color: $white;
}
%action-group-action:hover {
@extend %frame-blue-800;
}
%action-group ul,

View File

@ -3,12 +3,13 @@ button[type='submit'],
a.type-create {
@extend %primary-button;
}
// the :not(li)'s here avoid styling action-group buttons
button[type='reset'],
button[type='button']:not(.copy-btn):not(.type-delete),
:not(li) > button[type='button']:not(.copy-btn):not(.type-delete),
html.template-error div > a {
@extend %secondary-button;
}
button.type-delete {
:not(li) > button.type-delete {
@extend %dangerous-button;
}
button.copy-btn {

View File

@ -52,7 +52,7 @@ caption {
}
th,
%breadcrumbs a,
%action-group a,
%action-group-action,
%tab-nav,
%tooltip-bubble {
font-weight: $typo-weight-medium;
@ -80,6 +80,7 @@ h2,
font-size: $typo-size-500;
}
body,
%action-group-action,
pre code,
input,
textarea,

View File

@ -43,28 +43,28 @@
{{#block-slot 'action' as |confirm|}}
{{#action-group index=index onchange=(action change) checked=(if (eq checked index) 'checked')}}
<ul>
<li>
<a data-test-edit href={{href-to 'dc.acls.edit' item.ID}}>Edit</a>
</li>
{{#if (eq item.ID token.SecretID) }}
<li>
<a data-test-logout onclick={{queue (action confirm 'logout' item) (action change)}}>Stop using</a>
</li>
{{else}}
<li>
<a data-test-edit href={{href-to 'dc.acls.edit' item.ID}}>Edit</a>
</li>
{{#if (eq item.ID token.SecretID) }}
<li>
<button type="button" data-test-logout {{action confirm 'logout' item}}>Stop using</button>
</li>
{{else}}
<li>
<a data-test-use onclick={{queue (action confirm 'use' item) (action change)}}>Use</a>
</li>
{{/if}}
<li>
<a data-test-clone onclick={{action 'sendClone' item}}>Clone</a>
</li>
{{# if (not-eq item.ID 'anonymous') }}
<li>
<a data-test-delete onclick={{action confirm 'delete' item}}>Delete</a>
</li>
{{/if}}
</ul>
<li>
<button type="button" data-test-use {{action confirm 'use' item}}>Use</button>
</li>
{{/if}}
<li>
<button type="button" data-test-clone {{action 'sendClone' item}}>Clone</button>
</li>
{{# if (not-eq item.ID 'anonymous') }}
<li>
<button type="button" class="type-delete" data-test-delete {{action confirm 'delete' item}}>Delete</button>
</li>
{{/if}}
</ul>
{{/action-group}}
{{/block-slot}}
{{#block-slot 'dialog' as |execute cancel message name|}}

View File

@ -61,7 +61,7 @@
<a data-test-edit href={{href-to 'dc.acls.policies.edit' item.ID}}>Edit</a>
</li>
<li>
<a data-test-delete onclick={{action confirm 'delete' item}}>Delete</a>
<button type="button" class="type-delete" data-test-delete {{action confirm 'delete' item}}>Delete</button>
</li>
{{/if}}
</ul>

View File

@ -26,7 +26,7 @@
</form>
{{/if}}
{{#if (token/is-legacy items)}}
<p data-test-notification-update class="notice info"><strong>Update.</strong> We have upgraded our ACL System to allow the creation of reusable policies that can be applied to tokens. Read more about the changes and how to upgrade legacy tokens in our <a href="{{env 'CONSUL_DOCUMENTATION_URL'}}/guides/acl-migrate-tokens.html" target="_blank" rel="noopener noreferrer">documentation</a>.</p>
<p data-test-notification-update class="notice info"><strong>Update.</strong> We have upgraded our ACL System to allow the creation of reusable policies that can be applied to tokens. Read more about the changes and how to upgrade legacy tokens in our <a href="{{env 'CONSUL_DOCUMENTATION_URL'}}/guide/acl-migrate-tokens.html" target="_blank" rel="noopener noreferrer">documentation</a>.</p>
{{/if}}
{{#changeable-set dispatcher=searchable}}
{{#block-slot 'set' as |filtered|}}
@ -68,32 +68,33 @@
{{#block-slot 'action' as |confirm|}}
{{#action-group index=index onchange=(action change) checked=(if (eq checked index) 'checked')}}
<ul>
{{#if false}}
<li>
{{#copy-button-feedback title="Copy AccessorID to the clipboard" copy=item.AccessorID name="AccessorID"}}Copy AccessorID{{/copy-button-feedback}}
</li>
{{/if}}
<li>
<a data-test-edit href={{href-to 'dc.acls.tokens.edit' item.AccessorID}}>Edit</a>
</li>
{{#if false}}
<li>
{{#copy-button-feedback title="Copy AccessorID to the clipboard" copy=item.AccessorID name="AccessorID"}}Copy AccessorID{{/copy-button-feedback}}
</li>
{{/if}}
<li>
<a data-test-edit href={{href-to 'dc.acls.tokens.edit' item.AccessorID}}>Edit</a>
</li>
{{#if (not (token/is-legacy item))}}
<li>
<a data-test-clone onclick={{action 'sendClone' item}}>Duplicate</a>
</li>
<li>
<button type="button" data-test-clone {{action 'sendClone' item}}>Duplicate</button>
</li>
{{/if}}
{{#if (eq item.AccessorID token.AccessorID) }}
<li>
<a data-test-logout onclick={{queue (action confirm 'logout' item) (action change)}}>Stop using</a>
</li>
<li>
<button type="button" data-test-logout {{action confirm 'logout' item}}>Stop using</button>
</li>
{{else}}
<li>
<a data-test-use onclick={{queue (action confirm 'use' item) (action change)}}>Use</a>
</li>
<li>
<button type="button" data-test-use {{action confirm 'use' item}}>Use</button>
</li>
{{/if}}
{{#unless (or (token/is-anonymous item) (eq item.AccessorID token.AccessorID)) }}
<li>
<a data-test-delete onclick={{action confirm 'delete' item}}>Delete</a>
</li>
{{#unless (token/is-anonymous item) }}
<li>
<button type="button" class="type-delete" data-test-delete {{action confirm 'delete' item}}>Delete</button>
</li>
{{/unless}}
</ul>
{{/action-group}}
@ -102,6 +103,9 @@
<p>
{{#if (eq name 'delete')}}
{{message}}
{{#if (eq item.AccessorID token.AccessorID)}}
Warning: This is the token you are currently using!
{{/if}}
{{else if (eq name 'logout')}}
Are you sure you want to stop using this ACL token? This will log you out.
{{else if (eq name 'use')}}

View File

@ -63,7 +63,7 @@
<a href={{href-to 'dc.intentions.edit' item.ID}}>Edit</a>
</li>
<li>
<a data-test-delete onclick={{action confirm 'delete' item}}>Delete</a>
<button type="button" class="type-delete" data-test-delete {{action confirm 'delete' item}}>Delete</button>
</li>
</ul>
{{/action-group}}

View File

@ -59,7 +59,7 @@
<a data-test-edit href={{href-to (if item.isFolder 'dc.kv.folder' 'dc.kv.edit') item.Key}}>{{if item.isFolder 'View' 'Edit'}}</a>
</li>
<li>
<a data-test-delete onclick={{action confirm 'delete' item}}>Delete</a>
<button type="button" class="type-delete" data-test-delete {{action confirm 'delete' item}}>Delete</button>
</li>
</ul>
{{/action-group}}