mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-03 20:17:59 +00:00 
			
		
		
		
	* add menu-loader component to show menu loading button when the model relationship isPending * list what keys we've got in api-path error * fix spacing issue on error flash * add an action on list-controller that bubbles to the list-route mixin to refresh the route * empty store when creating scopes * don't delete _requestQuery in the loop, do it after * add scope deletion from the scope list * add deleteRecord to kmip adapters * add model-wrap component * delete role from detail page and list * add revoke credentials functionality * fix comment * treat all operations fields specially on kmip roles * adjust kmip role edit form for new fields * fix api-path test * update document blocks for menu-loader and model-wrap components
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * @module ModelWrap
 | 
						|
 * ModelWrap components provide a way to call methods on models directly from templates. This is done by yielding callMethod task to the wrapped component.
 | 
						|
 *
 | 
						|
 * @example
 | 
						|
 * ```js
 | 
						|
 * <ModelWrap as |m|>
 | 
						|
     <button onclick={{action (perform m.callMethod "save" model "Saved!" "Errored!" (transition-to "route")}}>
 | 
						|
 * </ModelWrap>
 | 
						|
 * ```
 | 
						|
 *
 | 
						|
 * @yields callMethod {Function}
 | 
						|
 *
 | 
						|
 */
 | 
						|
import { inject as service } from '@ember/service';
 | 
						|
import Component from '@ember/component';
 | 
						|
import { task } from 'ember-concurrency';
 | 
						|
import layout from '../templates/components/model-wrap';
 | 
						|
 | 
						|
export default Component.extend({
 | 
						|
  layout,
 | 
						|
  flashMessages: service(),
 | 
						|
  tagName: '',
 | 
						|
 | 
						|
  callMethod: task(function*(method, model, successMessage, failureMessage, successCallback = () => {}) {
 | 
						|
    let flash = this.get('flashMessages');
 | 
						|
    try {
 | 
						|
      yield model[method]();
 | 
						|
      flash.success(successMessage);
 | 
						|
      successCallback();
 | 
						|
    } catch (e) {
 | 
						|
      let errString = e.errors.join(' ');
 | 
						|
      flash.danger(failureMessage + ' ' + errString);
 | 
						|
      model.rollbackAttributes();
 | 
						|
    }
 | 
						|
  }),
 | 
						|
});
 |