Skip to content

Commit

Permalink
šŸ› Make custom elements use a new renderer scope when it's being rendeā€¦
Browse files Browse the repository at this point in the history
ā€¦red in a dialog
  • Loading branch information
skerit committed Feb 18, 2024
1 parent ca8a222 commit e93146d
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
* Set `data-he-rerendering` attribute while rerendering a custom element
* Make custom element keep width & height while rerendering
* Fix server-side `HTMLElement#removeAttribute()` not removing dataset attributes with dashes
* Make custom elements use a new renderer scope when it's being rendered in a dialog

## 2.3.16 (2024-02-15)

Expand Down
2 changes: 1 addition & 1 deletion lib/element/custom_element.js
Original file line number Diff line number Diff line change
Expand Up @@ -968,7 +968,7 @@ function renderCustomTemplate(re_render) {
render_vars,
renderer = this.ensureHawkejsRenderer();

if (this.constructor.use_new_renderer_scope) {
if (this.constructor.use_new_renderer_scope || renderer?.dialog_open) {
renderer = renderer.createSubRenderer();
renderer.scope_id = renderer.getId();
}
Expand Down
12 changes: 12 additions & 0 deletions test/30-renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,18 @@ This is the main content
});
});

describe('#makeDialog()', () => {
it('should create dialogs', async () => {

let renderer = hawkejs.createRenderer();

let html = await renderer.renderHTML('render_dialog_with_custom_element');
html = despace(html);

assertEqualHtml(html, `<print-attribute text="Hello World" he-rendered="1">Hello World </print-attribute>`);
});
});

describe('#renderHTML()', function() {

let devices = [
Expand Down
4 changes: 4 additions & 0 deletions test/templates/render_dialog_with_custom_element.hwk
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<% makeDialog() %>
<% addClass('test-dialog-class') %>

<print-attribute text="Hello World"></print-attribute>

0 comments on commit e93146d

Please sign in to comment.