ModalOpen() / ModalClose()
Opens or closes a modal dialog programmatically. These functions use the Popover API in MaterializeCSS 2.1.1+.
Syntax
MaterialSB::ModalOpen(ModalElement)
MaterialSB::ModalClose(ModalElement)
Parameters
| ModalElement | The modal element returned by Modal(). |
Return Value
None.
Remarks
The modal must be initialized with Init() before it can be opened.
ModalOpen() calls the Popover API's showPopover() method, and ModalClose() calls hidePopover().
Example
Global confirmModal, infoModal
Procedure CloseConfirm()
MaterialSB::ModalClose(confirmModal)
EndProcedure
Procedure ConfirmAction()
MaterialSB::ModalClose(confirmModal)
MaterialSB::Toast("Action confirmed!")
EndProcedure
Procedure ShowConfirm()
MaterialSB::ModalOpen(confirmModal)
EndProcedure
Procedure ShowInfo()
MaterialSB::ModalOpen(infoModal)
EndProcedure
Procedure CloseInfo()
MaterialSB::ModalClose(infoModal)
EndProcedure
Procedure Main(Success)
If Success
; Create confirmation modal
confirmModal = MaterialSB::Modal()
MaterialSB::ModalHeader("Confirm Delete")
MaterialSB::ModalContent()
MaterialSB::Append(MaterialSB::Paragraph("Are you sure you want to delete this item? This action cannot be undone."))
MaterialSB::CloseCurrentParent()
MaterialSB::ModalFooter()
MaterialSB::Button("Cancel", @CloseConfirm(), MaterialSB::#Button_Text)
MaterialSB::Button("Delete", @ConfirmAction())
MaterialSB::CloseCurrentParent()
MaterialSB::Init(confirmModal, #Null)
; Create info modal
infoModal = MaterialSB::Modal(MaterialSB::#Modal_BottomSheet)
MaterialSB::ModalContent()
MaterialSB::Append(MaterialSB::Header("Information", 4))
MaterialSB::Append(MaterialSB::Paragraph("This is a bottom sheet modal with additional information."))
MaterialSB::CloseCurrentParent()
MaterialSB::ModalFooter()
MaterialSB::Button("Got it", @CloseInfo())
MaterialSB::CloseCurrentParent()
MaterialSB::Init(infoModal, #Null)
; Main content with buttons
MaterialSB::Row(MaterialSB::#Grid_Container)
MaterialSB::Col(12)
MaterialSB::Button("Delete Item", @ShowConfirm())
MaterialSB::Button("Show Info", @ShowInfo(), MaterialSB::#Button_Outlined)
MaterialSB::CloseCurrentParent()
MaterialSB::CloseCurrentParent()
EndIf
EndProcedure
MaterialSB::Download(@Main())