Back to all examples

Show status in a table

ReactAngularWeb Components
interface BadgeValue {
  key: number;
  type: GoabBadgeType;
  content: string;
}

const badgeValues: BadgeValue[] = [
    { key: 1, type: "important", content: "Pending" },
    { key: 2, type: "emergency", content: "Failed" },
    { key: 3, type: "success", content: "Complete" },
    { key: 4, type: "information", content: "In progress" },
    { key: 5, type: "midtone", content: "Closed" },
    { key: 6, type: "success", content: "Complete" },
  ];

  const handleClick = () => {
    console.log("clicked");
  };
<GoabTable width="100%">
      <thead>
        <tr>
          <th>Status</th>
          <th>Name</th>
          <th className="goa-table-number-header">File number</th>
          <th style={{ width: "1%", whiteSpace: "nowrap" }}></th>
        </tr>
      </thead>
      <tbody>
        {badgeValues.map((badge) => (
          <tr key={badge.key}>
            <td>
              <GoabBadge type={badge.type} content={badge.content} icon={false} />
            </td>
            <td>Lorem ipsum dolor sit amet consectetur</td>
            <td className="goa-table-number-column">1234567890</td>
            <td>
              <GoabButton size="compact" type="tertiary" onClick={handleClick}>
                Assign
              </GoabButton>
            </td>
          </tr>
        ))}
      </tbody>
    </GoabTable>

Display status information within table rows using badges to provide clear visual indicators of item states like pending, complete, failed, or in progress.

When to use

Use this pattern when:

  • Displaying lists of items that have different status states
  • Workers need to quickly scan and identify items requiring action
  • Status needs to be immediately visible alongside other item data

Considerations

  • Use consistent badge types for similar statuses across your application
  • Choose badge colors that clearly differentiate between states (success, warning, error, info)
  • Include action buttons to allow workers to act on items directly from the table
  • Align status badges consistently within the column