From 7b3e87a9faf1a4abbe406bfe016af349add87806 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Fri, 28 Jun 2024 18:43:27 +0400 Subject: [PATCH] Add setName to Component --- src/dom_components/model/Component.ts | 8 ++++++++ src/navigator/view/ItemView.ts | 8 ++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/dom_components/model/Component.ts b/src/dom_components/model/Component.ts index 7610e7ec0..08796bbe3 100644 --- a/src/dom_components/model/Component.ts +++ b/src/dom_components/model/Component.ts @@ -1347,6 +1347,14 @@ export default class Component extends StyleableModel { ); } + /** + * Update component name. + * @param {String} name New name. + */ + setName(name?: string, opts: SetOptions = {}) { + this.set('custom-name', name, opts); + } + /** * Get the icon string * @return {String} diff --git a/src/navigator/view/ItemView.ts b/src/navigator/view/ItemView.ts index a2e97bd81..924e0b0e3 100644 --- a/src/navigator/view/ItemView.ts +++ b/src/navigator/view/ItemView.ts @@ -230,22 +230,18 @@ export default class ItemView extends View { */ handleEditEnd(ev?: KeyboardEvent) { ev?.stopPropagation(); - const { em, $el, clsNoEdit, clsEdit } = this; + const { em, $el, clsNoEdit, clsEdit, model } = this; const inputEl = this.getInputName(); const name = inputEl.textContent!; inputEl.scrollLeft = 0; inputEl[inputProp] = 'false'; - this.setName(name, { component: this.model, propName: 'custom-name' }); + model.setName(name); em.setEditing(false); $el.find(`.${this.inputNameCls}`).addClass(clsNoEdit).removeClass(clsEdit); // Ensure to always update the layer name #4544 this.updateName(); } - setName(name: string, { propName }: { propName: string; component?: Component }) { - this.model.set(propName, name); - } - /** * Get the input containing the name of the component * @return {HTMLElement}