All files / mobile.startup Anchor.js

100% Statements 6/6
100% Branches 0/0
100% Functions 3/3
100% Lines 6/6

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  1x 1x                       7x                           7x                       21x                 1x  
var
	View = require( './View' ),
	util = require( './util' );
 
/**
 * A wrapper for creating an anchor.
 *
 * @extends View
 */
class Anchor extends View {
	/**
	 * @inheritdoc
	 */
	get isTemplateMode() {
		return true;
	}
	/**
	 * @memberof Anchor
	 * @instance
	 * @mixes View#defaults
	 * @property {Object} defaults Default options hash.
	 * @property {boolean} defaults.progressive is progressive action
	 * @property {boolean} defaults.destructive is destructive action
	 * @property {string} defaults.additionalClassNames Additional class name(s).
	 * @property {string} defaults.href url
	 * @property {string} defaults.label of anchor
	 */
	get defaults() {
		return {
			progressive: undefined,
			destructive: undefined,
			additionalClassNames: '',
			href: undefined,
			label: undefined
		};
	}
	/**
	 * @inheritdoc
	 */
	get template() {
		return util.template( `
<a {{#href}}href="{{href}}"{{/href}} class="mw-mf-anchor
	{{#progressive}} mw-mf-anchor-progressive{{/progressive}}
	{{#destructive}} mw-mf-anchor-destructive{{/destructive}}
	 {{additionalClassNames}}">{{label}}</a>
	` );
	}
}
 
module.exports = Anchor;