add accepts? method
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza por la clase base HyperComponent e inspecciona la implementación existente de fires y el manejo de accepts_list. Añade accepts? para que un componente pueda determinar si su elemento padre tiene un handler para el evento indicado y, a continuación, verifica que disparar un evento sin un handler en el elemento padre siga sin generar un error.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Its useful for a component to know if its parent is going to accept an event from the component.
fires :foo
...
... accepts? :foo # does my parent component have a foo handler?
Note that firing foo will NOT cause an error even if the parent has not handler, but it still might be useful to know (i.e. to control say a save button, but only if the parent is looking for you to do the save)
Can be added with the following patch in the HyperComponent base class:
class << self
def accepts_list
@accepts_list ||= {}
end
def fires(name, opts = {})
aka = opts[:alias] || "#{name}!"
name = if name =~ /^<(.+)>$/
name.gsub(/^<(.+)>$/, '\1')
elsif Hyperstack::Component::Event::BUILT_IN_EVENTS.include?("on#{name.event_camelize}")
"on#{name.event_camelize}"
else
"on_#{name}"
end
validator.event(name)
define_method(aka) { |*args| props[name]&.call(*args) }
accepts_list[opts[:alias] || aka.chomp('!')] = name
end
end
def accepts?(aka)
props[self.class.accepts_list[aka]]
end
- Lenguaje dominante
- JavaScript
- Estrellas
- 538
- Forks
- 41
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de hyperstack-org/hyperstack
-
expose_as_operations method Abiertoenhancement needs doc
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
hyperstack-org/hyperstack#359 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
hyperstack-org/hyperstack#267 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
hyperstack-org/hyperstack#457 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
hyperstack-org/hyperstack#456 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
hyperstack-org/hyperstack#455 · 2 comentarios ·
Todos los issues de hyperstack-org/hyperstack
Issues similares
-
ai-observability bug team/ai-observability
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
AllTheMods/ATM-10-L#19 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
SignalK/n2k-signalk#345 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
JuliaPluto/PlutoPlotly.jl#72 ·