Column Widgets
Column widgets define how data is captured, validated, displayed, and interacted with in table columns throughout Labii
Overview
Column widgets are the foundation of data management in Labii, defining how information is captured, validated, displayed, and interacted with across tables in both the ELN and LIMS. Each column in a Labii table is powered by a column widget that determines the data type, input method, validation rules, and visual presentation. From basic text and number inputs to advanced integrations with external APIs, calculated fields, and specialized scientific data types, column widgets provide the structure and functionality needed to build comprehensive data management solutions. Whether you're tracking samples, recording experiments, managing inventory, or building custom workflows, column widgets give you the tools to capture data accurately and efficiently while maintaining data integrity and regulatory compliance.
Understanding Column Widgets
What is a Column Widget?
A column widget is a reusable component that defines all aspects of a table column's behavior. When administrators create or configure a table column, they select a column widget that determines:
Data Type: What kind of information can be stored (text, numbers, dates, files, etc.)
Input Method: How users enter data (text input, dropdown selection, file upload, etc.)
Validation Rules: What constraints apply to the data (required fields, format requirements, value ranges)
Display Format: How the data appears in different views (list view, detail view, forms)
Interactions: What actions users can perform (edit, calculate, link to other records)
Column Widget Views
Column widgets adapt their appearance and functionality based on context. Each widget typically supports three views:
Form View: Appears when creating new records. Provides input controls optimized for initial data entry with helpful placeholders and guidance.
Edit View: Displayed when modifying existing data. May show different options or constraints compared to initial entry, such as preventing changes to certain fields or displaying related data.
Readonly View: The default display mode in list views and detail pages. Presents data in an optimized format for viewing, often with enhanced visualizations, formatting, or links to related information.
Configuration and Customization
Many column widgets support configuration options that tailor their behavior to specific needs:
Field Settings: Define labels, default values, help text, and whether the field is required
Data Validation: Set allowed values, ranges, formats, or patterns
Display Options: Control formatting, precision, units, or visual presentation
Integration Settings: Configure connections to external data sources or calculations
Permissions: Control which users can view or edit the column
Configuration is managed through the Columns interface under table settings. See Column Administration for detailed guidance on creating and configuring columns.
Action Buttons and Controls
Column widgets may display various action buttons depending on their functionality and user permissions:
Edit: Modify the column value (hidden for readonly users)
Configure: Adjust widget settings (administrators only)
Calculate/Refresh: Recalculate derived values or refresh from external sources
Clear: Remove the current value
Custom Actions: Widget-specific operations like opening editors, scanning codes, or triggering integrations
Data Import and Export
Many column widgets support data import and export:
Default Values: Can be configured to pre-populate fields when creating records
Import Format: Defines how data should be formatted in import files (CSV, Excel)
Export Format: Determines how data is represented in exported files
Widget Categories
Column widgets are organized into functional categories based on their primary purpose:
Form Widgets
Standard input controls for capturing common data types in forms and tables.
Text Inputs - Text fields, multiline text, numbers, emails, phone numbers, addresses, URLs, rich text, and secure fields
Boolean - Checkboxes and switches for true/false values
DateTime - Date, time, datetime, timestamp, timezone, and appointment fields
Dropdown - Select lists, multi-select, record references (ForeignKey), and member assignment fields
File - File uploads, images, file path references, file size display, and antivirus status
Calculation Widgets
Perform calculations and generate derived values based on formulas, sequences, or data from other columns.
Calculation - Formula calculations, auto-numbering, row counting, sample consumption tracking, column addition, and column calculations
Column Data Widgets
Display and work with data from related records and columns.
Column - Record citation, column citation, column data display, and cross-record calculations
Barcode and Identification
Generate and display barcodes and QR codes for records.
Barcode - Barcode and QR code generation and display
Advanced Widgets
Specialized widgets for complex data structures and unique requirements.
Advanced - Subtitles, ratings, nested fields, storage coordinates, and storage location tracking
Integration Widgets
Connect to external systems and APIs for data exchange and automation.
Integration - API integration widgets and API-driven dropdown fields
Integration-1 - Third-party API integration for automated data population
Scientific and Specialized Widgets
Domain-specific widgets for scientific research and specialized workflows.
Chemistry - Chemical structure display, SMILES structure rendering, and molecular formula display
PubMed - PubMed literature metadata retrieval and citation management
Device - Serial port communication and NFC reader/writer functionality
Regulatory and Compliance
Widgets that support regulatory requirements and data integrity.
Regulation - Electronic signatures and signature workflows for GxP compliance
Getting Started
For Users
Creating Records: When you create a new record, each column's widget determines what input controls you see. Fill in required fields (marked with asterisks) and use provided controls to enter data.
Editing Data: Click the Edit button on any column to modify its value. The edit view may provide different options than the form view, such as validation against existing data.
Understanding Views: Observe how data displays differently in list views (compact, scannable) versus detail views (full formatting, with actions).
Using Actions: Look for action buttons specific to each widget type, such as Calculate, Refresh, or custom operations.
For Administrators
Adding Columns: Navigate to Settings → Tables → Select a table → Columns → Add Column. Choose the appropriate widget type for your data needs.
Configuring Widgets: After creating a column, click Configure to set widget-specific options like validation rules, display formats, or integration settings.
Setting Defaults: Define default values to streamline data entry and ensure consistency across records.
Testing Widgets: Create test records to verify that widgets behave as expected in all three views before deploying to users.
Managing Permissions: Configure column-level permissions to control who can view or edit sensitive data.
Best Practices
Choose the Right Widget: Select widgets that match your data type and validation needs. Using appropriate widgets prevents data quality issues.
Configure Validation: Use widget configuration to enforce data integrity rules at the point of entry rather than relying on user discipline.
Provide Context: Use help text and field labels to guide users on what data to enter and in what format.
Test Thoroughly: Before deploying new columns, test them in all views and with various data inputs to ensure they work as expected.
Plan for Import: If you'll be importing data, check each widget's import format requirements and prepare your data accordingly.
Consider Permissions: Be mindful of which columns contain sensitive data and configure appropriate access controls.
Document Custom Configurations: For complex widget configurations (especially formulas and API integrations), document the setup for future reference.
Last updated