All files / ext.wikilambda.edit/mixins validator.js

46.15% Statements 6/13
16.66% Branches 1/6
75% Functions 3/4
46.15% Lines 6/13

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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57                  31x     54x                           1x 1x                     32x 32x                                  
/**
 * WikiLambda Vue editor: Validator mixin
 * Mixin with util functions to handle validation of input field
 *
 * @copyright 2020– Abstract Wikipedia team; see AUTHORS.txt
 * @license MIT
 */
'use strict';
 
module.exports = exports = {
 
	data: function () {
		return {
			validatorErrorMessages: [],
			validatorIsInvalid: false,
			validatorCurrentError: ''
		};
	},
	methods: {
		/**
		 * Set an error message and change valid state to invalid
		 *
		 * @param {string} error
		 */
		validatorSetError: function ( error ) {
 
			if ( this.validatorErrorMessages.indexOf( error ) === -1 ) {
				return;
			}
 
			this.validatorCurrentError = error;
			this.validatorIsInvalid = true;
		},
 
		/**
		 * Reset the error message and error state
		 */
		validatorResetError: function () {
			this.validatorCurrentError = '';
			this.validatorIsInvalid = false;
		}
	},
 
	computed: {
		validatorErrorMessage: function () {
			if ( !this.validatorCurrentError ) {
				return '';
			}
 
			if ( this.validatorErrorMessages.indexOf( this.validatorCurrentError ) === -1 ) {
				return '';
			}
			return this.$i18n( this.validatorCurrentError ).text();
		}
	}
};