No Beagle, é possível criar uma ação customizada a partir de uma CustomAction
.
Action
. Essa mesma classe irá fazer a requisição da implementação do método execute
e irá ditar as ações na action
.msg
é o único parâmetro que deve ser declarado na classe construtora.O exemplo abaixo mostra um ação com Alert
:
class CustomAction: Action {
let msg: String?
init(msg: String? = nil) {
self.msg = msg
}
func execute(controller: BeagleController, origin: UIView) {
let alert = UIAlertController(
title: nil,
message: msg,
preferredStyle: .alert
)
controller.present(alert, animated: true)
}
}
Para registrar a ação, apenas crie o método com todo seu custom action e chame o método do Beagle registerCustomAction
para fazer o registro;
Chame o método criado no BeagleConfig, ele pode ser visto nesse exemplo:
private func registerCustomAction() {
Beagle.registerCustomAction("CustomAction", actionType: CustomAction.self)
}
Para criar essa ação, o seu código deve estar assim:
@RegisterAction
data class CustomAction(
val msg: String? = null
) : Action
Veja abaixo um exemplo de uma Ação em um componente do tipo Button:
{
"_beagleComponent_": "beagle:button",
"text": "Beagle Button",
"onPress": [
{
"_beagleAction_": "custom:customAction",
"msg": "Eu sou um Toast."
}
]
}
Button(
text = "Beagle Button",
onPress = listOf(CustomAction("Eu sou um Toast"))
)
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.