a628e2969a
* variables.new initialized * Hacky but savey * Variable wildcard route and multiple creatable at a time * multiple KVs per variable * PR Prep cleanup and lintfix * Delog * Data mocking in mirage for variables * Linting fixes * Re-implement absent params * Adapter and model tests * Moves the path-as-id logic to a serializer instead of adapter * Classic to serializer and lint cleanup * Pluralized save button (#13140) * Autofocus modifier and better Add More button UX (#13145) * Secure Variables: show/hide functionality when adding new values (#13137) * Flight Icons added and show hide functionality * PR cleanup * Linting cleanup * Position of icon moved to the right of input * PR feedback addressed * Delete button and stylistic changes to show hide * Hmm, eslint doesnt like jsdoc-usage as only reason for import * More closely match the button styles and delete test * Simplified new.js model * Secure Variables: /variables/*path/edit route and functionality (#13170) * Variable edit page init * Significant change to where we house model methods * Lintfix * Edit a variable tests * Remove redundant tests * Asserts expected * Mirage factory updated to reflect model state
75 lines
2.1 KiB
Handlebars
75 lines
2.1 KiB
Handlebars
{{page-title "Secure Variables"}}
|
||
<section class="section">
|
||
{{#if this.isForbidden}}
|
||
<ForbiddenMessage />
|
||
{{else}}
|
||
<div class="toolbar">
|
||
<div class="toolbar-item">
|
||
{{#if this.variables.length}}
|
||
<SearchBox
|
||
@searchTerm={{mut this.searchTerm}}
|
||
@onChange={{action this.resetPagination}}
|
||
@placeholder="Search variables..."
|
||
/>
|
||
{{/if}}
|
||
</div>
|
||
<div class="toolbar-item is-right-aligned is-mobile-full-width">
|
||
<div class="button-bar">
|
||
{{#if (can "create variable" namespace=this.qpNamespace)}}
|
||
<LinkTo
|
||
@route="variables.new"
|
||
@query={{hash namespace=this.qpNamespace}}
|
||
data-test-run-job
|
||
class="button is-primary"
|
||
>
|
||
Create Secure Variable
|
||
</LinkTo>
|
||
{{else}}
|
||
<button
|
||
data-test-run-job
|
||
class="button is-primary is-disabled tooltip is-right-aligned"
|
||
aria-label="You don’t have sufficient permissions"
|
||
disabled
|
||
type="button"
|
||
>
|
||
Create Secure Variable
|
||
</button>
|
||
{{/if}}
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{{#if @model.variables.length}}
|
||
<ListTable data-test-eval-table @source={{@model.variables}} as |t|>
|
||
<t.head>
|
||
<th>
|
||
Path
|
||
</th>
|
||
<th>
|
||
Namespace
|
||
</th>
|
||
</t.head>
|
||
<t.body as |row|>
|
||
<tr {{on "click" (fn this.goToVariable row.model)}}>
|
||
<td>
|
||
{{row.model.path}}
|
||
</td>
|
||
<td>
|
||
{{row.model.namespace}}
|
||
</td>
|
||
</tr>
|
||
</t.body>
|
||
</ListTable>
|
||
{{else}}
|
||
<div class="empty-message">
|
||
<h3 data-test-empty-volumes-list-headline class="empty-message-headline">
|
||
No Secure Variables
|
||
</h3>
|
||
<p class="empty-message-body">
|
||
Get started by <LinkTo @route="variables.new">creating a new secure variable</LinkTo>
|
||
</p>
|
||
</div>
|
||
{{/if}}
|
||
{{/if}}
|
||
</section>
|