{% extends "analytics/_layouts/tests" %} {% import "_includes/forms" as forms %} {% set selectedTab = 'formatting' %} {% set content %} {% js %} var localeDefinition = Analytics.Utils.getLocaleDefinition(AnalyticsCurrencyDefinition); {% endjs %}

JS Formatting Tests

Type Value Ouput
{% js %} var formats = Craft.charts.BaseChart.defaults.formats; var tests = [ { type: 'string', value: "Hello world!" }, { type: 'percent', value: 36.7869 }, { type: 'integer', value: 367869 }, { type: 'time', value: 3200 }, { type: 'time', value: 36786 }, { type: 'currency', value: 36786 }, { type: 'float', value: 36.7869 }, { type: 'date', value: '201601' }, { type: 'date', value: '20160203' }, ]; $tests = $('#formatByType'); $.each(tests, function(key, test) { var output = Analytics.Utils.formatByType(localeDefinition, test.type, test.value); $test = $(''); $(''+ test.type +'').appendTo($test); $(''+ test.value +'').appendTo($test); $(''+ output +'').appendTo($test); $test.appendTo($tests); }); {% endjs %}

D3 Number formatting

Label Format Value Formatted Value
{% js %} var locale = d3.formatLocale(localeDefinition); var tests = [ { label: "percentFormat", value: 19.345, valueModifier: function(value) { return value / 100; }, format: formats.percentFormat, }, { label: "currencyFormat", value: 19.34, format: formats.currencyFormat }, { label: "currencyFormat", value: 1902345.34, format: formats.currencyFormat }, { label: "decimalFormat", value: 1902345.3412344, format: formats.numberFormat } ]; $table = $('#d3NumberFormatting'); $.each(tests, function(key, test) { var value = test.value; if(typeof(test.valueModifier) != 'undefined') { value = test.valueModifier(value); } var formattedValue = locale.format(test.format)(value); $tr = $(''); $(''+ test.label +'').appendTo($tr); $(''+ test.format +'').appendTo($tr); $(''+ test.value +'').appendTo($tr); $(''+ formattedValue +'').appendTo($tr); $tr.appendTo($table); }); {% endjs %} {% endset %}