bricks/docs/en/modal.md
2025-11-19 12:30:39 +08:00

4.5 KiB

Modal

Widget Functionality, Type (Regular or Container Widget), and Parent Widget

  • Widget Functionality: Modal is a modal dialog widget used to display a centered floating panel on the page. It is typically used to show content, forms, or prompt messages. It supports functionalities such as closing by clicking the backdrop, automatic opening/closing, and timed closing.
  • Type: Container widget (can contain other child widgets)
  • Parent Widget: bricks.BaseModal

Initialization Parameters

Parameter Type Description
target string or Layout Specifies the target container to which the modal will be mounted; defaults to bricks.Body (i.e., body)
auto_open boolean Whether to automatically call the open() method to display the modal after creation; default is false
auto_close boolean Whether clicking the overlay layer closes the modal (currently this feature is not enabled)
width string/number Width of the inner panel of the modal, e.g., '500px' or '80%'
height string/number Height of the inner panel of the modal
bgcolor string Background color of the inner panel; default is #e8e8e8
title string Title of the modal, displayed in the top title bar
archor string Positioning anchor point; values include tl, tc, tr, cl, cc, cr, bl, bc, br; default is 'cc' (centered)

Note: org_index and timeout are defined in BaseModal but not listed in the constructor comments of Modal, possibly deprecated or handled by the base class.

Main Events

Event Name Trigger Timing
opened Triggered after calling the open() method, indicating the modal has been displayed
dismissed Triggered after calling dismiss() and successfully removing the modal
click Triggered when the user clicks the modal's overlay layer (only bound when auto_close is enabled; currently commented out)

ModalForm

Widget Functionality, Type (Container Widget), and Parent Widget

  • Widget Functionality: ModalForm is a form-based modal dialog widget that enables quick creation and display of a modal window containing a dynamic form. Commonly used for data input, configuration settings, etc.
  • Type: Container widget (internally contains a Form child widget)
  • Parent Widget: bricks.PopupWindow

Initialization Parameters

Parameter Type Description
auto_open boolean Whether to automatically open the modal after construction (implemented via a delayed task)
width string/number Width of the form modal
height string/number Height of the form modal
bgcolor string Background color (passed to parent class for use)
archor string Positioning mode, same as Modal, controls form position
title string Title of the form, displayed at the top of the form
description string Description text shown below the title
fields array Array of form field configurations defining the structure of input fields
binds array Optional data binding configuration for associating models or state
user_data any Custom user data for extended usage (currently not directly used)
submit_url string (not a constructor parameter) Submission URL (must be set externally, used for submission logic)

Note: ModalForm uses the asynchronous method build_form with a 0.2-second delay to create the form, ensuring the DOM environment is ready.

Main Events

Event Name Trigger Timing
submit Triggered when the form is submitted, carrying form data as parameter
submited Triggered after the form completes the submission process (forwarded from the submited event of the Form), carrying server response data
cancel Triggered when the user clicks the cancel button (bound to the dismiss method)
dismissed Triggered after the modal is closed (inherited from base class)

Note: This widget relies on the event mechanism of the Form widget and encapsulates and forwards its events.