All files / addon/mixins/components inputable.js

0% Statements 0/7
0% Branches 0/5
0% Functions 0/3
0% Lines 0/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                                                               
import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
import Mixin from '@ember/object/mixin';
import generateUUID from 'ember-bootstrap-controls/utils/generate-uuid';
 
export default Mixin.create({
  errors: undefined,
  hasSuccess: undefined,
  hasWarning: undefined,
  disabled: undefined,
 
  hasError: alias('errors.length'),
 
  hasValue: computed('value', function() {
    const value = this.get('value');
 
    return value ? true : false;
  }),
 
  showError: computed('hasError', 'required', 'hasValue', function() {
    const hasError = this.get('hasError');
    const required = this.get('required');
    const hasValue = this.get('hasValue');
 
    return hasError || (required && !hasValue);
  }),
 
  inputId: computed(function() {
    return `bootstrap-component-${generateUUID()}`;
  }),
});