From 32b3c3cfab82b4fed98ec419fc41fd6a234bfb4b Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Wed, 9 Oct 2024 12:22:46 +0400 Subject: [PATCH] Cleanup CssRuleView --- packages/core/src/css_composer/view/CssRuleView.ts | 1 + .../core/src/domain_abstract/model/StyleableModel.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/core/src/css_composer/view/CssRuleView.ts b/packages/core/src/css_composer/view/CssRuleView.ts index 0a77b287b..16dd8e6c9 100644 --- a/packages/core/src/css_composer/view/CssRuleView.ts +++ b/packages/core/src/css_composer/view/CssRuleView.ts @@ -21,6 +21,7 @@ export default class CssRuleView extends View { remove() { super.remove(); + this.model.removeView(this); return this; } diff --git a/packages/core/src/domain_abstract/model/StyleableModel.ts b/packages/core/src/domain_abstract/model/StyleableModel.ts index 829f5632a..02b4980f8 100644 --- a/packages/core/src/domain_abstract/model/StyleableModel.ts +++ b/packages/core/src/domain_abstract/model/StyleableModel.ts @@ -175,9 +175,12 @@ export default class StyleableModel extends Model setView(view: StyleableView) { let { views } = this; - if (!views.includes(view)) { - views.push(view); - } + !views.includes(view) && views.push(view); + } + + removeView(view: StyleableView) { + const { views } = this; + views.splice(views.indexOf(view), 1); } updateView() {