Overview
Text columns display simple text from your database:Displaying as a “badge”
By default, the text is quite plain and has no background color. You can make it appear as a “badge” instead using thebadge() method. A great use case for this is with statuses, where may want to display a badge with a color that matches the status:
Displaying a description
Descriptions may be used to easily render additional text above or below the column contents. You can display a description below the contents of a text column using thedescription() method:
Date formatting
You may use thedate() and dateTime() methods to format the column’s state using PHP date formatting tokens:
since() method to format the column’s state using Carbon’s diffForHumans():
dateTooltip(), dateTimeTooltip() or timeTooltip() method to display a formatted date in a tooltip, often to provide extra information:
Number formatting
Thenumeric() method allows you to format an entry as a number:
decimalPlaces argument:
locale argument:
Table::$defaultNumberLocale method in the boot() method of a service provider:
Currency formatting
Themoney() method allows you to easily format monetary values, in any currency:
divideBy argument for money() that allows you to divide the original value by a number before formatting it. This could be useful if your database stores the price in cents, for example:
locale argument:
Table::$defaultNumberLocale method in the boot() method of a service provider:
Limiting text length
You maylimit() the length of the cell’s value:
limit():
Limiting word count
You may limit the number ofwords() displayed in the cell:
Limiting text to a specific number of lines
You may want to limit text to a specific number of lines instead of limiting it to a fixed length. Clamping text to a number of lines is useful in responsive interfaces where you want to ensure a consistent experience across all screen sizes. This can be achieved using thelineClamp() method:
Adding a prefix or suffix
You may add a prefix or suffix to the cell’s value:Wrapping content
If you’d like your column’s content to wrap if it’s too long, you may use thewrap() method:
Listing multiple values
By default, if there are multiple values inside your text column, they will be comma-separated. You may use thelistWithLineBreaks() method to display them on new lines instead:
Adding bullet points to the list
You may add a bullet point to each list item using thebulleted() method:
Limiting the number of values in the list
You can limit the number of values in the list using thelimitList() method:
Expanding the limited list
You can allow the limited items to be expanded and collapsed, using theexpandableLimitedList() method:
listWithLineBreaks() or bulleted(), where each item is on its own line.
Using a list separator
If you want to “explode” a text string from your model into multiple list items, you can do so with theseparator() method. This is useful for displaying comma-separated tags as badges, for example:
Rendering HTML
If your column value is HTML, you may render it usinghtml():
HtmlString object by formatting it:
view() object from the formatStateUsing() method, which will also not be sanitized:
Rendering Markdown as HTML
If your column contains Markdown, you may render it usingmarkdown():
Custom formatting
You may instead pass a custom formatting callback toformatStateUsing(), which accepts the $state of the cell, and optionally its $record:
Customizing the color
You may set a color for the text, eitherdanger, gray, info, primary, success or warning:
Adding an icon
Text columns may also have an icon:iconPosition():
iconColor():
Customizing the text size
Text columns have small font size by default, but you may change this toTextColumnSize::ExtraSmall, TextColumnSize::Medium, or TextColumnSize::Large.
For instance, you may make the text larger using size(TextColumnSize::Large):
Customizing the font weight
Text columns have regular font weight by default, but you may change this to any of the following options:FontWeight::Thin, FontWeight::ExtraLight, FontWeight::Light, FontWeight::Medium, FontWeight::SemiBold, FontWeight::Bold, FontWeight::ExtraBold or FontWeight::Black.
For instance, you may make the font bold using weight(FontWeight::Bold):
Customizing the font family
You can change the text font family to any of the following options:FontFamily::Sans, FontFamily::Serif or FontFamily::Mono.
For instance, you may make the font mono using fontFamily(FontFamily::Mono):
Allowing the text to be copied to the clipboard
You may make the text copyable, such that clicking on the cell copies the text to the clipboard, and optionally specify a custom confirmation message and duration in milliseconds. This feature only works when SSL is enabled for the app.Customizing the text that is copied to the clipboard
You can customize the text that gets copied to the clipboard using thecopyableState() method:
$record:
Displaying the row index
You may want a column to contain the number of the current row in the table:$rowLoop is Laravel Blade’s $loop object, you can reference all other $loop properties.
As a shortcut, you may use the rowIndex() method:
isFromZero: true: