Adding tooltips
Adding a tooltip
You can add a default tooltip to a cell or your custom one. To add a tooltip, you should do the following:
- Import the Tooltip component
- To enable/disable tooltips, use the
tooltip
parameter of thecolumns
property:- set it to false to disable
- set it to true or do not specify to show a tooltip by default
- define a function that takes an object to be processed as an argument and returns the string to show
- Wrap the Grid tag inside the Tooltip tag and bind it to the Grid
api
Example:
<script>
import { getData } from "./common/data";
import { Grid, Tooltip } from "wx-svelte-grid";
const { data } = getData();
const columns = [
{ id: "id", width: 50, tooltip: false },
{
id: "city",
width: 100,
header: "City",
},
{
id: "firstName",
header: "First Name",
width: 150,
tooltip: false,
},
{
id: "lastName",
header: "Last Name",
width: 150,
tooltip: false,
},
{ id: "email", header: "Email", },
{ id: "companyName", header: "Company"},
{ id: "date", tooltip: (obj) => obj.date?.toDateString() },
];
let api = $state();
</script>
<Tooltip {api}>
<Grid {data} {columns} bind:this={api} />
</Tooltip>
Setting custom tooltip content
In the next example we add a custom Svelte component as a tooltip:
- prepare and import your custom template that should be a Svelte component
- import the Tooltip component and wrap the Grid tag into the Tooltip tag
- add the name of the template as the value of the Tooltip content attribute
- bind Tooltip to the Grid `api`` object
<script>
import { getData } from "../data";
import { Grid, Tooltip } from "wx-svelte-grid";
import YourCustomTooltip from "../custom/CustomTooltip.svelte";
const { data, columns } = getData();
let api = $state();
</script>
<Tooltip content={YourCustomTooltip} {api}>
<Grid {data} {columns} bind:this={api} />
</Tooltip>
Example of a custom component:
<script>
let { data } = $props();
</script>
<div class="data">
<div class="text">
{data.email}
</div>
</div>
<style>
.data {
background-color: white;
}
.text {
font-size: 13px;
color: black;
}
</style>
Changing a tooltip style
The example below shows how to change the default style of tooltips via CSS classes.
<style>
:global(.wx-area .tooltip){
background-color: white;
color:black;
border: 2px black;
}
</style>