export function formatedNumber()

in charts/shared/table.js [357:427]


export function formatedNumber() {
	
	var value = ""

	if (this.format!=undefined && this.value != null) {

		let arr = this.format.map(item => item.trim())

		/*
		Formatting options are
		$, nozero, numberFormat, commas, bar, date, textColor, shading, rating
		*/

		let val = this.value

		value += (contains(arr,'$')) ? '$' : '' ;

		// value += (contains(arr,'commas')) ? commas(val) : val ;

		value += (contains(arr,'numberFormat')) ? numberFormat(val) : (contains(arr,'commas')) ? commas(val) : val ;

		value = (contains(arr,'nozero')) ? removeZero(val) : value ;
		
		if (contains(arr,'bar') && this.graphics.max) {

			let percentage = 100 / this.graphics.max * this.value

			let position = (percentage < 30) ? percentage + 5 : 5 ;

			let background = (this.color) ? this.color : this.graphics.colour.get(value) 

			let contrast = (percentage < 30) ? 'black' : 'white'

			value = `<div class="table-bar-chart"><div class="table-bar" style="background-color: ${background}; margin-left: 0%; width: ${percentage}%;"></div><div class="table-bar-label" style="left:${position}%;color:${contrast}">${value}</div></div>`

	  	}

		if (contains(arr,'textColor')) {

			value = `<span style="color:${ this.color };"><strong>${value}<strong></span>`

		}

		if (contains(arr,'date')) {

			let date = new Date(value);

			var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };

			value = date.toLocaleDateString("en-AU", options)   

		}

		if (contains(arr,'rating')) {

			let outOf = (this.outta) ? this.outta : 10

			value = `<span style="font-weight:bold;">${value}</span>/${outOf}`

		}


	} else {

	  value = (this.value != null) ? this.value : ""

	}

	return value

}