- Globalization
- Right-to-left rendering
- Legend with Rtl support
- Tooltip with Rtl support
- Treemap Item Rendering Direction
Contact Support
Internationalization in Vue Treemap component
11 Jun 202424 minutes to read
The TreeMap control supports internationalization for the following elements:
- Data label
- Tooltip
For more information about number and date formatter, refer to internationalization
.
Globalization
Globalization is the process of designing and developing a component that works in different cultures/locales. Internationalization library is used to globalize number, date, and time values in the TreeMap control using the format
property in the TreeMap.
Numeric format
In the following code example, tooltip is globalized to Deutsch culture.
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :weightValuePath='weightValuePath' :format='format' :leafItemSettings='leafItemSettings' useGroupingSeparator='true'></ejs-treemap>
</div>
</template>
<script setup>
import { TreeMapComponent as EjsTreemap } from "@syncfusion/ej2-vue-treemap";
const format = 'c';
const dataSource = [
{State:"United States", GDP:17946, percentage:11.08, Rank:1},
{State:"China", GDP:10866, percentage: 28.42, Rank:2},
{State:"Japan", GDP:4123, percentage:-30.78, Rank:3},
{State:"Germany", GDP:3355, percentage:-5.19, Rank:4},
{State:"United Kingdom", GDP:2848, percentage:8.28, Rank:5},
{State:"France", GDP:2421, percentage:-9.69, Rank:6},
{State:"India", GDP:2073, percentage:13.65, Rank:7},
{State:"Italy", GDP:1814, percentage:-12.45, Rank:8},
{State:"Brazil", GDP:1774, percentage:-27.88, Rank:9},
{State:"Canada", GDP:1550, percentage:-15.02, Rank:10}
];
const weightValuePath = 'GDP';
const leafItemSettings = {
labelPath: 'GDP'
};
</script>
Right-to-left rendering
The TreeMap control supports right-to-left rendering for all its elements such as nodes, tooltip, data labels, and legends.
Legend with Rtl support
If the enableRtl
property is set to true, then the legend icon will be rendered on the right and the legend text will be rendered on the left of the legend icon.
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :legendSettings='legendSettings' :colorValuePath ='colorValuePath' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script setup>
import { TreeMapComponent as EjsTreemap, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
import { provide } from 'vue';
const dataSource = [
{ Car:'Mustang', Brand:'Ford', count:232, color: '#71B081' },
{ Car:'EcoSport', Brand:'Ford', count:121, color: '#5A9A77' },
{ Car:'Swift', Brand:'Maruti', count:143, color: '#498770' },
{ Car:'Baleno', Brand:'Maruti', count:454, color: '#39776C' },
{ Car:'Vitara Brezza', Brand:'Maruti', count:545 , color: '#266665' },
{ Car:'A3 Cabriolet', Brand:'Audi',count:123, color: '#124F5E' }
];
const weightValuePath = 'count';
const colorValuePath = 'color';
const legendSettings = {
visible: true,
position:'Top'
};
const leafItemSettings = {
labelPath: 'Car'
};
provide('treemap', [TreeMapLegend]);
</script>
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :legendSettings='legendSettings' :colorValuePath ='colorValuePath' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script>
import { TreeMapComponent, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
export default {
name: "App",
components: {
"ejs-treemap":TreeMapComponent
},
data: function() {
return {
dataSource: [
{ Car:'Mustang', Brand:'Ford', count:232, color: '#71B081' },
{ Car:'EcoSport', Brand:'Ford', count:121, color: '#5A9A77' },
{ Car:'Swift', Brand:'Maruti', count:143, color: '#498770' },
{ Car:'Baleno', Brand:'Maruti', count:454, color: '#39776C' },
{ Car:'Vitara Brezza', Brand:'Maruti', count:545 , color: '#266665' },
{ Car:'A3 Cabriolet', Brand:'Audi',count:123, color: '#124F5E' }
],
weightValuePath: 'count',
colorValuePath: 'color',
legendSettings: {
visible: true,
position:'Top'
},
leafItemSettings: {
labelPath: 'Car'
},
}
},
provide:{
treemap:[TreeMapLegend]
},
}
</script>
Tooltip with Rtl support
If the enableRtl
property is set to true, the tooltip data will be rendered in reverse direction.
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :tooltipSettings='tooltipSettings' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script setup>
import { TreeMapComponent as EjsTreemap, TreeMapTooltip } from "@syncfusion/ej2-vue-treemap";
const dataSource = [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
];
const weightValuePath = 'count';
const leafItemSettings = {
labelPath: 'fruit'
};
const palette = ['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'];
const tooltipSettings = {
visible: true,
format:'${count} : ${fruit}'
};
provide('treemap', [TreeMapTooltip])
</script>
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :tooltipSettings='tooltipSettings' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script>
import { TreeMapComponent, TreeMapTooltip } from "@syncfusion/ej2-vue-treemap";
export default {
name: "App",
components: {
"ejs-treemap":TreeMapComponent
},
data: function() {
return {
dataSource: [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
],
weightValuePath: 'count',
palette:['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'],
tooltipSettings: {
visible: true,
format:'${count} : ${fruit}'
},
leafItemSettings: {
labelPath: 'fruit'
}
}
},
provide:{
treemap:[ TreeMapTooltip]
},
}
</script>
Treemap Item Rendering Direction
The direction of TreeMap item is TopLeftBottomRight
by default and customize the rendering direction of the TreeMap item by setting the renderDirection
property.
The TreeMap can be rendered in the following directions:
- TopLeftBottomRight
- TopRightBottomLeft
- BottomRightTopLeft
- BottomLeftTopRight
The following example demonstrate, how to render the treemap in the RTL direction with TopLeftBottomRight
.
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :renderDirection='renderDirection' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script setup>
import { TreeMapComponent as EjsTreemap, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
import { provide } from 'vue';
const dataSource = [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
];
const weightValuePath = 'count';
const palette = ['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'];
const renderDirection = 'TopLeftBottomRight';
const leafItemSettings = {
labelPath: 'fruit'
};
provide('treemap', [TreeMapLegend]);
</script>
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :renderDirection='renderDirection' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script>
import { TreeMapComponent, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
export default {
name: "App",
components: {
"ejs-treemap":TreeMapComponent
},
data: function() {
return {
dataSource: [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
],
weightValuePath: 'count',
palette:['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'],
renderDirection:'TopLeftBottomRight',
leafItemSettings: {
labelPath: 'fruit'
}
}
},
provide:{
treemap:[TreeMapLegend]
},
}
</script>
The following example demonstrate, how to render the treemap in the RTL direction with TopRightBottomLeft
.
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :renderDirection='renderDirection' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script setup>
import { TreeMapComponent as EjsTreemap, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
import { provide } from 'vue';
const dataSource = [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
];
const weightValuePath = 'count';
const palette = ['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'];
const renderDirection = 'TopRightBottomLeft';
const leafItemSettings = {
labelPath: 'fruit'
};
provide('treemap', [TreeMapLegend]);
</script>
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :renderDirection='renderDirection' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script>
import { TreeMapComponent, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
export default {
name: "App",
components: {
"ejs-treemap":TreeMapComponent,
},
data: function() {
return {
dataSource: [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
],
weightValuePath: 'count',
palette:['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'],
renderDirection:'TopRightBottomLeft',
leafItemSettings: {
labelPath: 'fruit'
}
}
},
provide:{
treemap:[TreeMapLegend]
},
}
</script>
The following example demonstrate, how to render the treemap in the RTL direction with BottomRightTopLeft
.
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :renderDirection='renderDirection' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script setup>
import { TreeMapComponent as EjsTreemap, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
import { provide } from 'vue';
const dataSource = [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
];
const weightValuePath = 'count';
const palette = ['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'];
const renderDirection = 'BottomRightTopLeft';
const leafItemSettings = {
labelPath: 'fruit'
};
provide('treemap', [TreeMapLegend]);
</script>
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :renderDirection='renderDirection' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script>
import { TreeMapComponent, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
export default {
name: "App",
components: {
"ejs-treemap":TreeMapComponent
},
data: function() {
return {
dataSource: [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
],
weightValuePath: 'count',
palette:['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'],
renderDirection:'BottomRightTopLeft',
leafItemSettings: {
labelPath: 'fruit'
}
}
},
provide:{
treemap:[TreeMapLegend]
},
}
</script>
The following example demonstrate, how to render the treemap in the RTL direction with BottomLeftTopRight
.
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :renderDirection='renderDirection' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script setup>
import { TreeMapComponent as EjsTreemap, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
import { provide } from 'vue';
const dataSource = [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
];
const weightValuePath = 'count';
const palette = ['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'];
const renderDirection = 'BottomLeftTopRight';
const leafItemSettings = {
labelPath: 'fruit'
};
provide('treemap', [TreeMapLegend]);
</script>
<template>
<div class="control_wrapper">
<ejs-treemap id="treemap" :dataSource='dataSource' :palette='palette' :renderDirection='renderDirection' :weightValuePath='weightValuePath' :leafItemSettings='leafItemSettings'></ejs-treemap>
</div>
</template>
<script>
import { TreeMapComponent, TreeMapLegend } from "@syncfusion/ej2-vue-treemap";
export default {
name: "App",
components: {
"ejs-treemap":TreeMapComponent
},
data: function() {
return {
dataSource: [
{ fruit:'Apple', count:5000 },
{ fruit:'Mango', count:3000 },
{ fruit:'Orange', count:2300 },
{ fruit:'Banana', count:500 },
{ fruit:'Grape', count:4300 },
{ fruit:'Papaya', count:1200 },
{ fruit:'Melon', count:4500 }
],
weightValuePath: 'count',
palette:['#71B081','#5A9A77', '#498770', '#39776C', '#266665','#124F5E'],
renderDirection:'BottomLeftTopRight',
leafItemSettings: {
labelPath: 'fruit'
}
}
},
provide:{
treemap:[TreeMapLegend]
},
}
</script>