Adding Alert Feature ⚠️
Overview
The Alert feature has been added to CmAdmin to provide a standardized method for displaying alerts and notifications to users. This documentation outlines how to use the Alert, including its configuration, types, and examples.
Features
- 
Customizable Alerts: Display alerts with headers, bodies, and specific types. 
- 
Conditional Display: Control when alerts should be shown based on dynamic conditions. 
- 
Type Support: Supports four predefined types of alerts: info,success,danger, andwarning.
Usage
The Alert Banner is implemented using the alert_box helper. Below are the key elements and their usage:
Syntax
1. Using Parameters:
alert_box header:"Title", body:"Body1", type: :info, display_if:->(arg){arg.present?}, html_attrs:{}
2. Using a Partial:
alert_box partial:"/users/sessions/alert", display_if:->(arg){arg.present?}, html_attrs:{}
Parameters
- 
header:(optional) - The title text for the alert.
- 
body:(optional) - A string to display as the body of the alert.
- 
type:(optional) - The type of alert. Accepts one of the following symbols::info,:success,:danger,:warning.
- 
partial:(optional) - The path to a custom partial or HTML for the alert.
- 
display_if:(optional) - A lambda function that determines whether the alert should be shown. Should return a boolean.
- 
html_attrs:(optional) - Additional HTML attributes to apply to the alert. Note: This has no effect on partials.
Types of Alerts
The following types are supported:
- 
info- Blue alert for informational messages.
- 
success- Green alert for successful actions or positive feedback.
- 
danger- Red alert for errors or critical warnings.
- 
warning- Yellow alert for cautionary messages.
Examples
Example 1: Basic Info Alert
alert_box header:"Information", body:"This is an informational message.", type: :info, display_if:->(arg){arg.present?}
- 
Screenshot: 
- 
Screenshot: 
- 
Description: Displays an alert with a title and body text. 
Example 2: Using Custom Body
alert_box header:"Information", body:"This is an informational message. <br>This is a break text.", type: :info, display_if:->(arg){arg.present?}
- 
Screenshot: 
- 
Screenshot: 
- 
Description: Displays a custom body for the alert, allowing for more customized content. 
Example 3: Using Partial
alert_box partial:"/check/alert", display_if:->(arg){arg.present?}
- 
Screenshot: 
- 
Screenshot: 
- 
Description: Displays a custom partial for the alert, allowing for more customized HTML or content. 
Important Notes
- 
Nested Sections: Alerts cannot be placed inside nested sections. If added within a nested section, the alert will appear on the wrapped cm_show_section.
- 
Unsupported Types: Only the specified types ( info,success,danger,warning) are supported. Any other type will default to a standard div.