-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Bug: calcite-label cause a blank panel #1317
Comments
Any suggestions for a work-around? We have our release in a week. |
I'd suggest at this point using a plain So far what I've discovered is that when I put in a UPDATE: It appears to be a Stencil issue related to our legacy browser config opt-ins (not sure which ones) that are only enabled when running Calcite in production mode, which explains why this behavior does not occur in the calcite dev server. I'm going to explore repro'ing this issue to file a Stencil bug and will report back as details emerge. Here is the related Stencil issue: ionic-team/stencil#2758 |
I'm fine with this. |
re-opening. This is still happening with the latest 1.0.0-next.50 and 1.0.0-beta.48 |
New Stencil bug affecting this issue! ionic-team/stencil#2801 |
Just verified latest Stencil release 2.4.0 is still causing this issue. |
This is a real problem in the map viewer. User get into a state where the panel is completely broken and they need to refresh the page.
Could we please change |
We're going to instead remove labels entirely from both checkbox and radio and leave it up to the user to provide these. This is more in keeping with native HTML form elements. #1740 |
This is causing the issue too. If I don't use
|
I'm convinced more than ever that this is definitely a problem with the dom relocation logic that Stencil does to try and "polyfill" slot behavior without using shadow DOM. Even though Unless we're serious about ditching Maquette (although this could be a problem with other vdom libs too), we should definitely try to move away as quickly as possible from non-shadow Stencil components that render a default unnamed |
Previously, i was just rendering I guess an empty div would probably work too. |
I would try |
Yeah try removing the render method first. |
For the label, its a bit more complicated. You either have to use shadow or get stencil to fix it. |
Exactly, label is the tricky one because we want the slotted content to be inside the actual If we can rule out that the problem is not just with |
This change happened for |
To me, it does seem like its maquette since the HTML that is in the DOM is incorrect. It's not like Stencil is rendering that part. |
@AdelheidF are you sure that adding a vnode key doesn't solve this with maquette? https://maquettejs.org/typedoc/interfaces/vnodeproperties.html#key |
One thing I haven't tried is reaching out to the maintainers of |
Maybe maquette just doesn't know how to deal with custom elements that don't have shadow dom? The ordering problem is due to maquette though since it is placing the nodes, not Stencil. |
I do. Each panel is its own component. first panel:
second panel:
third panel:
|
For the tooltip-manager, the render method does need to be there. I'll just make it a shadowed component. |
Just |
Same, they both need a render method |
The PR above will make tooltip-manager and popover-manager shadowed components which should fix this. @eriklharper maybe you can just do the same for the other components. Even if stencil fixes this, it seems like all our components should be shadowed. |
Yes, that is definitely the plan. Might be a bit involved to convert radio to shadow since it relies so much on the native radio behavior, but should be worth it. |
@AdelheidF @eriklharper Just curious, could you check if there's an error thrown in the console when this happens (including caught exceptions)? I wrote the this maquette (out-of-the-box) + scoped calcite-component repro case, but in this sample it doesn't re-render after throwing an exception. If there's no error thrown, can either of you walk me through it? There could be another issue going on. Interestingly, this ionic-team/stencil#2938 was submitted recently and references Erik's issue and would also fix my repro case above. @eriklharper could you help test the fix to make sure it addresses these issues?
I can ping them to escalate and to possibly look at the above PR.
FWIW, this doesn't seem like a maquette issue since they're dealing with DOM APIs. |
Trying to test the fix now with the author's temporary package, but I'm having install issues trying to pull it down. Hopefully he can remedy it so I can try soon. |
Using next.237, test case (once devext has latest calcite): |
Seems like this was resolved, reopen if this is still a valid issue. |
It's not resolved for calcite-label. |
Tried a few of those scenarios again and all seems to work for me now. From Erik: |
Summary
A calcite-label with a switch inside a calcite-block-section in a calcite-block within a calcite-panel and calcite -flow is causing this.
If I only change the calcite-label to a native label all is good.
I see the same thing happening under the Rotation block where calcite-label is used inside the calcite-radio-button-group. If I toggle on the calcite-block-section but remove the calcite-radio-button-group I also don't see this issue.
Locally I stripped it down to a calcite-flow, calcite-panel, clickable div, calcite-block, calcite-block-section and calcite-label and I can still reproduce this.


Reproduction Steps
click Layers tool on left
click layer name on left to make active
click Styles tool on right
Click on Type and Size tile
Open Transparency block and notice the Include in legend toggle. This calcite-label is causing the issue.
Now click on either Type or Size tile and you'll notice a blank panel.
If you toggle off the Transparency calcite-block-section it's fine.
If you toggle on the Rotation calcite-block-section you see the same issue because of the radio buttons.
Relevant Info
From Matt...
The text was updated successfully, but these errors were encountered: