mirror of
https://github.com/status-im/consul.git
synced 2025-01-10 13:55:55 +00:00
8986b6ad7b
* ui: Move components to the new nested structure * Move data-test attribute to the correct HTML element We don't currently rely on this, but was incorrectly placed on the input rather than the label tag * Fix up left over curly bracket components that were causing issues For some reason the combination of: 1. Old style curly bracket components 2. data-test-* attributes 3. Moving to the new component file structure Meant that our data-test-* selectors where no longer being rendered. Whilst this had no effect on the app, it meant our tests suite could no longer select DOM elements in order to assert various things. Moving the old style curly bracket components to the new style XML/Angle bracket format fixes the issue * Update ui-v2/app/templates/dc/nodes/-services.hbs Co-Authored-By: Greg Hoin <1416421+gregone@users.noreply.github.com> * Update ui-v2/app/templates/dc/nodes/-services.hbs Co-Authored-By: Greg Hoin <1416421+gregone@users.noreply.github.com> Co-authored-by: Greg Hoin <1416421+gregone@users.noreply.github.com>
126 lines
4.6 KiB
Handlebars
126 lines
4.6 KiB
Handlebars
<ModalDialog
|
|
data-test-role-form
|
|
@onclose={{action (mut state) "role"}}
|
|
@name="new-role-toggle"
|
|
>
|
|
<BlockSlot @name="header">
|
|
{{#if (eq state 'role')}}
|
|
<h2>New Role</h2>
|
|
{{else}}
|
|
<h2>New Policy</h2>
|
|
{{/if}}
|
|
</BlockSlot>
|
|
<BlockSlot @name="body">
|
|
|
|
<input id="{{name}}_state_role" type="radio" name="{{name}}[state]" value="role" checked={{if (eq state 'role') 'checked'}} onchange={{action 'change'}} />
|
|
<RoleForm @form={{form}} @dc={{dc}} @nspace={{nspace}}>
|
|
<BlockSlot @name="policy">
|
|
|
|
<PolicySelector @source={{source}} @dc={{dc}} @nspace={{nspace}} @items={{item.Policies}}>
|
|
<BlockSlot @name="trigger">
|
|
<label for="{{name}}_state_policy" data-test-create-policy class="type-dialog">
|
|
<span>Create new policy</span>
|
|
</label>
|
|
</BlockSlot>
|
|
</PolicySelector>
|
|
|
|
</BlockSlot>
|
|
</RoleForm>
|
|
|
|
<input id="{{name}}_state_policy" type="radio" name="{{name}}[state]" value="policy" checked={{if (eq state 'policy') 'checked'}} onchange={{action 'change'}} />
|
|
{{policy-form data-test-policy-form name="role[policy]" form=policyForm dc=dc}}
|
|
|
|
</BlockSlot>
|
|
<BlockSlot @name="actions" as |close|>
|
|
|
|
{{#if (eq state 'role')}}
|
|
<button type="submit" {{action 'save' item items (queue (action close) (action 'reset'))}} disabled={{if (or item.isSaving item.isPristine item.isInvalid) 'disabled'}}>
|
|
{{#if item.isSaving }}
|
|
<div class="progress indeterminate"></div>
|
|
{{/if}}
|
|
<span>Create and apply</span>
|
|
</button>
|
|
<button type="reset" disabled={{if item.isSaving 'disabled'}} {{action (queue (action close) (action 'reset'))}}>Cancel</button>
|
|
{{else}}
|
|
<button type="submit" {{action 'dispatch' 'save' (array policy item.Policies (action (mut state) 'role'))}} disabled={{if (or policy.isSaving policy.isPristine policy.isInvalid) 'disabled'}}>
|
|
{{#if policy.isSaving }}
|
|
<div class="progress indeterminate"></div>
|
|
{{/if}}
|
|
<span>Create and apply</span>
|
|
</button>
|
|
<button type="reset" disabled={{if policy.isSaving 'disabled'}} {{action (mut state) 'role'}}>Cancel</button>
|
|
{{/if}}
|
|
|
|
</BlockSlot>
|
|
</ModalDialog>
|
|
|
|
<ChildSelector @repo={{repo}} @dc={{dc}} @nspace={{nspace}} @type="role" @placeholder="Search for role" @items={{items}}>
|
|
<BlockSlot @name="label">
|
|
Apply an existing role
|
|
</BlockSlot>
|
|
<BlockSlot @name="create">
|
|
<label class="type-dialog" for="new-role-toggle">
|
|
<span>Create new role</span>
|
|
</label>
|
|
|
|
</BlockSlot>
|
|
<BlockSlot @name="option" as |option|>
|
|
{{option.Name}}
|
|
</BlockSlot>
|
|
<BlockSlot @name="set">
|
|
<TabularCollection
|
|
data-test-roles
|
|
@rows={{5}}
|
|
@items={{sort-by 'CreateTime:desc' 'Name:asc' items}} as |item index|
|
|
>
|
|
<BlockSlot @name="header">
|
|
<th>Name</th>
|
|
<th>Description</th>
|
|
</BlockSlot>
|
|
<BlockSlot @name="row">
|
|
<td>
|
|
<a href={{href-to 'dc.acls.roles.edit' item.ID}}>{{item.Name}}</a>
|
|
</td>
|
|
<td>
|
|
{{item.Description}}
|
|
</td>
|
|
</BlockSlot>
|
|
<BlockSlot @name="actions" as |index change checked|>
|
|
<PopoverMenu @expanded={{if (eq checked index) true false}} @onchange={{action change index}} @keyboardAccess={{false}}>
|
|
<BlockSlot @name="trigger">
|
|
More
|
|
</BlockSlot>
|
|
<BlockSlot @name="menu" as |confirm send keypressClick|>
|
|
<li role="none">
|
|
<a role="menuitem" tabindex="-1" href={{href-to 'dc.acls.roles.edit' item.ID}}>Edit</a>
|
|
</li>
|
|
<li role="none" class="dangerous">
|
|
<label for={{confirm}} role="menuitem" tabindex="-1" onkeypress={{keypressClick}} data-test-delete>Remove</label>
|
|
<div role="menu">
|
|
<div class="confirmation-alert warning">
|
|
<div>
|
|
<header>
|
|
Confirm Remove
|
|
</header>
|
|
<p>
|
|
Are you sure you want to remove this role?
|
|
</p>
|
|
</div>
|
|
<ul>
|
|
<li class="dangerous">
|
|
<button tabindex="-1" type="button" class="type-delete" onclick={{action send 'remove' item items}}>Remove</button>
|
|
</li>
|
|
<li>
|
|
<label for={{confirm}}>Cancel</label>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</BlockSlot>
|
|
</PopoverMenu>
|
|
</BlockSlot>
|
|
</TabularCollection>
|
|
</BlockSlot>
|
|
</ChildSelector>
|