Rules Usage in Protrak Applications
This document provides comprehensive details about how rules are implemented and used throughout the Protrak Single Page Application (SPA). Rules enable dynamic behavior, conditional formatting, and intelligent user interfaces.
Overview
Rules in Protrak SPA are applied in three primary contexts:
- Display Conditions - Control visibility of UI elements based on attribute values
- Conditional Formatting - Dynamic styling to attribute values based on attribute values
- Dependent Picklists - Filter picklist options based on attribute values
Quick Reference - Rules Applications
Display Conditions
Control visibility of UI elements based on attribute values.
Create and Edit Layouts
- Sections
- Section Widgets
- Attributes
View Layout
- Sections
- Section Widgets
- Section Widgets Attributes
- Widgets
Conditional Formatting
Conditional formatting applies visual styling based on rule conditions to highlight important information. Apply visual styling based on rule conditions with the following formatting options:
- Background Color: Set background color for attribute values
- Fore Color: Set text/foreground color for attribute values
- Font Style: Apply Bold, Italic, Underline, and Strike through formatting
Dashboard Views
Column formatting with background/fore colors and font styles in
- Grid
- Tiles
- Scroll
- Grid V2
View Layout
- Widget Section Attributes
- Relation Widget Attributes: Grid, Grid V2, Tiles, Calendar, Worksheet attribute formatting
- Version Widget Attributes: Version-specific styling with attribute formatting
Dependent Picklist
Filter picklist options dynamically in
- Create/Edit/View Layouts
Display Conditions
Display conditions control UI element visibility based on runtime rule conditions and attribute values.
Create and Edit Layouts
Sections
- Purpose: Control entire section visibility
- Use Cases: Show/hide admin sections, role-based sections, state-based visibility
Widgets
- Purpose: Control individual widget visibility within sections
- Use Cases: Show/hide approval widgets for pending items, permission-based widgets
Widget Section Attributes
- Purpose: Control individual attribute field visibility
- Use Cases: Show/hide sensitive fields, conditional fields, workflow-based display
View Layout
Sections
- Purpose: Control entire section visibility
- Use Cases: Show/hide admin sections, role-based sections, state-based visibility
Section Widgets
- Purpose: Control individual widget visibility within sections
- Use Cases: Show/hide summary widgets, status widgets, hide empty sections
Section Widgets Attributes
- Purpose: Control individual attribute visibilty in view layouts with display optimization
- Use Cases: Show/hide attributes
Relation Widgets
- Purpose: Control visibility of widgets in view layouts
- Use Cases: show/hide Grid, tiles, calendar widgets etc.
Conditional Formatting
Conditional formatting applies visual styling based on rule conditions to highlight important information.
Available Formatting Options:
- Background Color: Set background color for attribute values
- Fore Color: Set text/foreground color for attribute values
- Font Style: Apply Bold, Italic, Underline, and Strike through formatting
Dashboard Applications
Grid Dashboard
- Purpose: Apply conditional formatting to grid columns with background/fore colors and font styles
- Use Cases: Highlight overdue items, status color-coding, priority indicators
Tiles Dashboard
- Purpose: Format tile visual properties with colors, borders, and text styling options
- Use Cases: Category colors, priority indicators, status styling
Scroll Dashboard
- Purpose: Apply conditional styling to properties elements with color and font options
- Use Cases: Highlighting items in lists
Grid V2 Dashboard
- Purpose: Enhanced grid cells formatting with extended options and multi-condition styling capabilities
- Use Cases: Complex conditional styling with multiple conditions
View Layout Formatting
Widget Section Attributes
- Purpose: Apply consistent formatting to grouped attributes within sections using colors and font styles
- Use Cases: Uniform styling for related attribute groups
Relation Widget Attributes
- Purpose: Apply conditional formatting to attributes displayed in relation widgets with full color and font style options
- Use Cases: Grid/Grid V2, Tiles, Calendar, Worksheet formatting
Version Widget Attributes
- Purpose: Apply formatting to version control widget columns values with background/fore colors and font styles
- Use Cases: Highlight version changes, color-code status, emphasize differences
Dependent Picklist
Dependent picklist functionality uses rules to dynamically filter picklist options based on rules and other attribute values.
Layout Applications
Create Layout
- Purpose: Filter available picklist attribute options during instance creation with real-time filtering as users make selections
- Use Cases: City by country, product variants by category, workflows by request type
Edit Layouts
- Purpose: Update available picklist attribute options during instance modification with dynamic updates when dependencies change
- Use Cases: Handle existing values that may no longer be valid
View Layouts
- Purpose: Display contextually relevant picklist attribute options in view mode showing filtered options for reference
- Use Cases: Display relevant picklist context without enabling editing
Best Practices
Rule Design
- Keep Rules Simple: Avoid overly complex conditional logic
- Performance First: Consider performance impact of rules
- User-Centric: Design rules to improve user experience
- Maintainable: Create rules that are easy to understand and modify