allow render_react_component(name, props, class: "...")#9
allow render_react_component(name, props, class: "...")#9gfx wants to merge 2 commits intoairbnb:masterfrom bitjourney:html_options
Conversation
ljharb
left a comment
There was a problem hiding this comment.
Can you elaborate on why you need this? Specifically, why does any code besides hypernova's clientside JS need to reference this div?
lib/hypernova/blank_renderer.rb
Outdated
| attributes = '' | ||
| options = job[:html_options] | ||
| if options && options[:class] | ||
| attributes << %{ class="#{options[:class]}"} |
There was a problem hiding this comment.
what if options[:class] includes a double quote? please include a test case that covers this.
This is because we need to apply CSS. Out code includes CSS something like this: foo {
*[data-hypernova-key] {
// blah blah blah
}
}This works but I think it is ugly and I don't want to depend on hypernova-specific things in CSS. If this PR is merged, I just add a CSS selector to the hypernova's div. |
|
@gfx what CSS are you trying to apply that can't be applied to the root element of your react tree? |
|
Here you are: *[data-hypernova-key] {
height: 100%;
}The |
|
To clarify, does this mean you're rendering the entire HTML content with react, and you want it to take up the whole screen? |
|
I have a couple of use-cases:
Put it all together: I could move the Unfortunately, I cannot render the whole application in React because our codebase is a mixture of accumulated tech stacks. |
We need to specify HTML
classattributes to the wrapper div elements.Can you review it please?
BTW I can't pass the test (#8) so the CI will fail :(