fix(wcc-properties): Use LitElement.updated to recreate properties only when selectedItem changes and handle errors; remove custom scheduleUpdate implementation
This commit is contained in:
@@ -1,5 +1,13 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-12-21 - 3.1.2 - fix(wcc-properties)
|
||||||
|
Use LitElement.updated to recreate properties only when selectedItem changes and handle errors; remove custom scheduleUpdate implementation
|
||||||
|
|
||||||
|
- Replaced public async scheduleUpdate() with protected updated(changedProperties) lifecycle method
|
||||||
|
- Call super.updated(...) and only recreate properties when selectedItem changed to avoid unnecessary work
|
||||||
|
- Preserve error handling and clear propertyContent on failure
|
||||||
|
- Removed explicit super.scheduleUpdate() call to rely on LitElement's update lifecycle
|
||||||
|
|
||||||
## 2025-12-21 - 3.1.1 - fix(wcc-properties)
|
## 2025-12-21 - 3.1.1 - fix(wcc-properties)
|
||||||
Improve wcc-properties CSS to prevent grid overflow, properly size and center icon glyphs, and adjust right-side offset
|
Improve wcc-properties CSS to prevent grid overflow, properly size and center icon glyphs, and adjust right-side offset
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@design.estate/dees-wcctools',
|
name: '@design.estate/dees-wcctools',
|
||||||
version: '3.1.1',
|
version: '3.1.2',
|
||||||
description: 'A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.'
|
description: 'A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -925,16 +925,16 @@ export class WccProperties extends DeesElement {
|
|||||||
this.dashboardRef.buildUrl();
|
this.dashboardRef.buildUrl();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async scheduleUpdate() {
|
protected updated(changedProperties: Map<string, unknown>) {
|
||||||
try {
|
super.updated(changedProperties);
|
||||||
await this.createProperties();
|
|
||||||
} catch (error) {
|
// Only recreate properties when selectedItem changes
|
||||||
|
if (changedProperties.has('selectedItem')) {
|
||||||
|
this.createProperties().catch(error => {
|
||||||
console.error('Error creating properties:', error);
|
console.error('Error creating properties:', error);
|
||||||
// Clear property content on error to show clean state
|
|
||||||
this.propertyContent = [];
|
this.propertyContent = [];
|
||||||
|
});
|
||||||
}
|
}
|
||||||
// Always call super.scheduleUpdate to ensure component updates
|
|
||||||
super.scheduleUpdate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public selectViewport(viewport: TEnvironment) {
|
public selectViewport(viewport: TEnvironment) {
|
||||||
|
|||||||
Reference in New Issue
Block a user