export default { methods: { formatPrice(price, prec=2, dots=true, label=true) { price = Number(price); if(price == 0 && label) { return this.$t('front_extern.on_request') }else{ if(price != Math.floor(price) && prec > 0) { return 'CHF ' + this.splitAndPad(price.toFixed(prec)); } if(dots) { return 'CHF ' + this.splitAndPad(price.toFixed(0)) + '.-'; }else{ return 'CHF ' + this.splitAndPad(price.toFixed(0)); } } }, splitAndPad(number) { number = number + ''; var x = number.split('.'); var x1 = x[0]; var x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + '’' + '$2'); } return x1 + x2; }, isContentHtml(input) { var htmlRegex = new RegExp(/<[a-z/][\s\S]*>/i); return htmlRegex.test(input); }, formatDate(value) { if(!value) { return '-'; } const date = new Date(value); if(!date instanceof Date || isNaN(date)) { return '-'; } return new Intl.DateTimeFormat("de-CH", {year: 'numeric', month: '2-digit', day: '2-digit' }).format(date); }, formatNum(price, digits = 0){ var options = { maximumFractionDigits: digits, minimumFractionDigits: digits } return Intl.NumberFormat("de-CH", options).format(price); }, } };