mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-30 02:02:43 +00:00 
			
		
		
		
	 43258c28fa
			
		
	
	43258c28fa
	
	
	
		
			
			* UI: Part 1 - hds adoption replace <Modal> (#23363) * replace policy-form modal * replace clients/attribution modal * clients/config modal * scope form odal * remove button type * include toolbar to match other example templates * rotate credentials modal * add toolbar button class for hds buttons * transformation-edit modal * add back test selector * add route arg to button! * update link status * fix link-status tests * remove prevent default * update db tests * update tests * use page alert for hcp link status banner * fix scopy button selector * fix sidebar test * change to neutral banner * UI: Part 2 - hds adoption replace <Modal> (#23398) * upgrade HDS library (adds support for snippet containers * cleanup flight icons * replace transit key action modals * re-add deps as devDeps * remove line * address transit tests * UI: Part 3 - hds adoption replace <Modal> (#23415) * cleanup css * cleanup extra type attr * masked input download modal * use Hds::Button in download button" * fix size of modal * tiny icon fix * refactor download button to always render download icon * update tests * UI: Part 3.5 - hds adoption replace <Modal> (#23448) * replication-promote modal * replication component modals * replication add secondary modal * move update text for diff * UI: Part 4 - hds adoption replace <Modal> (#23451) * k8 configure modal * kv delete modal * ldap modals * pki modals * add trash icon * move deps * UI: Part 5 - hds adoption replace <Modal> (#23471) * replace confirmation modals --------- * UI: Part 6 - hds adoption replace <Modal> (#23484) * search select with modal * policy search select modal * replace date dropdown for client dashboard * change padding to top * update policy example args * lolllll test typo wow * update dropdown tests * shamir flow modals! * add one more container * update test selectors * UI: Final hds adoption replace <Modal> cleanup PR (#23522) * search select with modal * policy search select modal * replace date dropdown for client dashboard * change padding to top * update policy example args * lolllll test typo wow * update dropdown tests * shamir flow modals! * add one more container * update test selectors * remove wormhole and modal component * fix selectors * uninstall wormhole * remove shamir-modal-flow class * fix confirm modal test * fix pki and kv test * fix toolbar selector kv * client and download button test * fix-confirmation-modal-padding * fix replication modal tests so relevant modal opens (#23540) * more confirmation modal tests * adds changelog
		
			
				
	
	
		
			135 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
| {{!
 | |
|   Copyright (c) HashiCorp, Inc.
 | |
|   SPDX-License-Identifier: BUSL-1.1
 | |
| ~}}
 | |
| 
 | |
| <form {{on "submit" (perform this.save)}} data-test-policy-form>
 | |
|   <div class="box is-bottomless is-fullwidth is-marginless">
 | |
|     <MessageError @errorMessage={{this.errorBanner}} />
 | |
|     <NamespaceReminder @mode={{if @model.isNew "create" "edit"}} @noun="policy" />
 | |
|     {{#if @model.isNew}}
 | |
|       <div class="field">
 | |
|         <label for="policy-name" class="is-label">Name</label>
 | |
|         <div class="control">
 | |
|           <Input
 | |
|             @type="text"
 | |
|             @value={{lowercase @model.name}}
 | |
|             id="policy-name"
 | |
|             class="input"
 | |
|             {{on "input" this.setModelName}}
 | |
|             data-test-policy-input="name"
 | |
|           />
 | |
|         </div>
 | |
|       </div>
 | |
|     {{/if}}
 | |
|     <div class="field">
 | |
|       <Toolbar>
 | |
|         <label class="has-text-weight-bold has-right-margin-xxs">Policy</label>
 | |
|         {{#if @renderPolicyExampleModal}}
 | |
|           {{! only true in policy create and edit routes }}
 | |
|           <ToolbarFilters>
 | |
|             <Hds::Button
 | |
|               @text="How to write a policy"
 | |
|               @icon="bulb"
 | |
|               @size="small"
 | |
|               @color="tertiary"
 | |
|               {{on "click" (fn (mut this.showTemplateModal))}}
 | |
|               data-test-policy-example-button
 | |
|             />
 | |
|           </ToolbarFilters>
 | |
|         {{/if}}
 | |
|         <ToolbarActions>
 | |
|           <div class="toolbar-separator"></div>
 | |
|           {{#if @model.isNew}}
 | |
|             <div class="control is-flex">
 | |
|               <Input
 | |
|                 id="fileUploadToggle"
 | |
|                 @type="checkbox"
 | |
|                 name="fileUploadToggle"
 | |
|                 class="switch is-rounded is-success is-small"
 | |
|                 @checked={{this.showFileUpload}}
 | |
|                 {{on "change" (fn (mut this.showFileUpload) (not this.showFileUpload))}}
 | |
|                 data-test-policy-edit-toggle
 | |
|               />
 | |
|               <label for="fileUploadToggle">Upload file</label>
 | |
|             </div>
 | |
|           {{else}}
 | |
|             {{! EDITING - no file upload toggle}}
 | |
|             <Hds::Copy::Button
 | |
|               @text="Copy"
 | |
|               @isIconOnly={{true}}
 | |
|               @textToCopy={{@model.policy}}
 | |
|               class="transparent"
 | |
|               data-test-copy-button
 | |
|             />
 | |
|           {{/if}}
 | |
|         </ToolbarActions>
 | |
|       </Toolbar>
 | |
|       {{#if this.showFileUpload}}
 | |
|         <TextFile @uploadOnly={{true}} @onChange={{this.setPolicyFromFile}} />
 | |
|       {{else}}
 | |
|         <JsonEditor
 | |
|           @title="Policy"
 | |
|           @showToolbar={{false}}
 | |
|           @value={{@model.policy}}
 | |
|           @valueUpdated={{action (mut @model.policy)}}
 | |
|           @mode="ruby"
 | |
|           @extraKeys={{hash Shift-Enter=(perform this.save)}}
 | |
|           data-test-policy-editor
 | |
|         />
 | |
|       {{/if}}
 | |
|       <div class="has-top-margin-xs">
 | |
|         <span class="is-size-9 has-text-grey has-bottom-margin-l">
 | |
|           You can use Alt+Tab (Option+Tab on MacOS) in the code editor to skip to the next field.
 | |
|         </span>
 | |
|       </div>
 | |
|     </div>
 | |
|     {{#each @model.additionalAttrs as |attr|}}
 | |
|       <FormField data-test-field={{true}} @attr={{attr}} @model={{@model}} />
 | |
|     {{/each}}
 | |
|   </div>
 | |
|   <div class="field is-grouped box is-fullwidth is-bottomless">
 | |
|     <div class="control">
 | |
|       <button
 | |
|         type="submit"
 | |
|         class="button is-primary {{if this.save.isRunning 'is-loading'}}"
 | |
|         disabled={{this.save.isRunning}}
 | |
|         data-test-policy-save
 | |
|       >
 | |
|         {{if @model.isNew "Create policy" "Save"}}
 | |
|       </button>
 | |
|       <button
 | |
|         type="button"
 | |
|         class="button has-left-margin-s"
 | |
|         disabled={{this.save.isRunning}}
 | |
|         {{on "click" this.cancel}}
 | |
|         data-test-policy-cancel
 | |
|       >
 | |
|         Cancel
 | |
|       </button>
 | |
|     </div>
 | |
|   </div>
 | |
| </form>
 | |
| 
 | |
| {{! SAMPLE POLICY MODAL. Only renders in policy create and edit routes }}
 | |
| {{#if this.showTemplateModal}}
 | |
|   <Hds::Modal
 | |
|     id="policy-example-modal"
 | |
|     @size="large"
 | |
|     @onClose={{fn (mut this.showTemplateModal) false}}
 | |
|     data-test-policy-example-modal
 | |
|     as |M|
 | |
|   >
 | |
|     <M.Header data-test-modal-title>
 | |
|       Example
 | |
|       {{uppercase @model.policyType}}
 | |
|       Policy
 | |
|     </M.Header>
 | |
|     <M.Body>
 | |
|       <PolicyExample @policyType={{@model.policyType}} @container="#policy-example-modal" />
 | |
|     </M.Body>
 | |
|     <M.Footer as |F|>
 | |
|       <Hds::Button @text="Close" {{on "click" F.close}} data-test-modal-close-button />
 | |
|     </M.Footer>
 | |
|   </Hds::Modal>
 | |
| {{/if}} |