Skip to content

Commit 616d494

Browse files
committed
stylesheet update condition
1 parent e047f12 commit 616d494

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

src/packages/block/block-grid/components/block-grid-areas-container/block-grid-areas-container.element.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import '../block-grid-entries/index.js';
1212
@customElement('umb-block-grid-areas-container')
1313
export class UmbBlockGridAreasContainerElement extends UmbLitElement {
1414
//
15-
#styleElement?: HTMLLinkElement;
15+
@state()
16+
_styleElement?: HTMLLinkElement;
1617

1718
@state()
1819
_areas?: Array<UmbBlockGridTypeAreaType> = [];
@@ -44,9 +45,11 @@ export class UmbBlockGridAreasContainerElement extends UmbLitElement {
4445
this.observe(
4546
manager.layoutStylesheet,
4647
(stylesheet) => {
47-
this.#styleElement = document.createElement('link');
48-
this.#styleElement.setAttribute('rel', 'stylesheet');
49-
this.#styleElement.setAttribute('href', stylesheet);
48+
// Do not re-render stylesheet if its the same href.
49+
if (!stylesheet || this._styleElement?.getAttribute('href') === stylesheet) return;
50+
this._styleElement = document.createElement('link');
51+
this._styleElement.setAttribute('rel', 'stylesheet');
52+
this._styleElement.setAttribute('href', stylesheet);
5053
},
5154
'observeStylesheet',
5255
);
@@ -55,7 +58,7 @@ export class UmbBlockGridAreasContainerElement extends UmbLitElement {
5558

5659
override render() {
5760
return this._areas && this._areas.length > 0
58-
? html` ${this.#styleElement}
61+
? html` ${this._styleElement}
5962
<div
6063
class="umb-block-grid__area-container"
6164
style="--umb-block-grid--area-grid-columns: ${this._areaGridColumns}">

src/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ export class UmbBlockGridEntriesElement extends UmbFormControlMixin(UmbLitElemen
210210
manager.layoutStylesheet,
211211
(stylesheet) => {
212212
if (!stylesheet) return;
213-
if (this._styleElement && this._styleElement.href === stylesheet) return;
213+
if (this._styleElement?.href === stylesheet) return;
214214
this._styleElement = document.createElement('link');
215215
this._styleElement.setAttribute('rel', 'stylesheet');
216216
this._styleElement.setAttribute('href', stylesheet);

0 commit comments

Comments
 (0)