From 211f17ac6cd589477935f010443b32c36445d720 Mon Sep 17 00:00:00 2001 From: mohamed yahia Date: Fri, 6 Sep 2024 01:34:08 +0300 Subject: [PATCH 1/3] Fix Sorter usage in StyleManager (#6123) * Fix Sorter usage in StyleManager. * Run formatter --- packages/core/src/utils/Sorter.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/core/src/utils/Sorter.ts b/packages/core/src/utils/Sorter.ts index e8d92e88a..bf261efee 100644 --- a/packages/core/src/utils/Sorter.ts +++ b/packages/core/src/utils/Sorter.ts @@ -697,7 +697,14 @@ export default class Sorter extends View { return result; } - const index = pos ? (pos.method === 'after' ? pos.indexEl + 1 : pos.indexEl) : trgModel.components().length; + let length = -1; + const isCollection = trgModel instanceof Collection; + if (isFunction(trgModel.components)) { + length = trgModel.components().length; + } else if (isCollection) { + length = trgModel.models.length; + } + const index = pos ? (pos.method === 'after' ? pos.indexEl + 1 : pos.indexEl) : length; // Check if the source is draggable in target let draggable = srcModel.get('draggable'); From bca8dc572c01e8b0eef5ab729bcf7dd3bab5ba16 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Fri, 6 Sep 2024 21:20:21 +0400 Subject: [PATCH 2/3] Ensure the resizer is applied on the proper selected component (#6128) Ensure the resizer is applied on the proper selected component. Fixes #6096 --- packages/core/src/commands/view/SelectComponent.ts | 6 ++++-- packages/core/src/dom_components/types.ts | 8 ++++++++ packages/core/src/editor/model/Editor.ts | 5 +++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/core/src/commands/view/SelectComponent.ts b/packages/core/src/commands/view/SelectComponent.ts index 5df5fb535..69f37e73b 100644 --- a/packages/core/src/commands/view/SelectComponent.ts +++ b/packages/core/src/commands/view/SelectComponent.ts @@ -326,8 +326,10 @@ export default { */ select(model: Component, event = {}) { if (!model) return; - this.editor.select(model, { event, useValid: true }); - this.initResize(model); + const { em } = this; + em.setSelected(model, { event, useValid: true }); + // Ensure we're passing the proper selected component #6096 + this.initResize(em.getSelected()); }, /** diff --git a/packages/core/src/dom_components/types.ts b/packages/core/src/dom_components/types.ts index e62ce1514..aa81abcfb 100644 --- a/packages/core/src/dom_components/types.ts +++ b/packages/core/src/dom_components/types.ts @@ -52,6 +52,14 @@ export enum ComponentsEvents { update = 'component:update', updateInside = 'component:update-inside', + /** + * @event `component:select` Component selected. + * @example + * editor.on('component:select', (component) => { ... }); + */ + select = 'component:select', + selectBefore = 'component:select:before', + /** * @event `symbol:main:add` Added new main symbol. * @example diff --git a/packages/core/src/editor/model/Editor.ts b/packages/core/src/editor/model/Editor.ts index 9627b5873..8f06c25ed 100644 --- a/packages/core/src/editor/model/Editor.ts +++ b/packages/core/src/editor/model/Editor.ts @@ -43,6 +43,7 @@ import { AddComponentsOption, ComponentAdd, DragMode } from '../../dom_component import ComponentWrapper from '../../dom_components/model/ComponentWrapper'; import { CanvasSpotBuiltInTypes } from '../../canvas/model/CanvasSpot'; import DataSourceManager from '../../data_sources'; +import { ComponentsEvents } from '../../dom_components/types'; Backbone.$ = $; @@ -507,7 +508,7 @@ export default class EditorModel extends Model { models.forEach((model) => { if (model) { - this.trigger('component:select:before', model, opts); + this.trigger(ComponentsEvents.selectBefore, model, opts); // Check for valid selectable if (!model.get('selectable') || opts.abort) { @@ -592,7 +593,7 @@ export default class EditorModel extends Model { toDeselect.forEach((cmp) => this.removeSelected(cmp, opts)); selected.addComponent(model, opts); - this.trigger('component:select', model, opts); + this.trigger(ComponentsEvents.select, model, opts); this.Canvas.addSpot({ type: CanvasSpotBuiltInTypes.Select, component: model, From a063d6f919733648fc4d039bdbd1b584abe5c064 Mon Sep 17 00:00:00 2001 From: Daniel Starns Date: Sun, 8 Sep 2024 14:49:22 -0500 Subject: [PATCH 3/3] refactor: remove extra build (#6127) --- .github/actions/setup-project/action.yml | 2 +- .github/workflows/quality.yml | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/actions/setup-project/action.yml b/.github/actions/setup-project/action.yml index 7ae3e89d7..1a18aefb7 100644 --- a/.github/actions/setup-project/action.yml +++ b/.github/actions/setup-project/action.yml @@ -25,5 +25,5 @@ runs: run: pnpm install shell: bash - name: Build project - run: pnpm build --force + run: pnpm build shell: bash diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 94b0ae020..c871ae18c 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -15,8 +15,6 @@ jobs: run: pnpm lint - name: Format Check run: pnpm format:check - - name: Build - run: pnpm build --force - name: Test run: pnpm test - name: Docs