Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BREAKING feat(setActiveObject): startImmediatePropagation #9099

Closed
wants to merge 10 commits into from

Conversation

ShaMan123
Copy link
Contributor

@ShaMan123 ShaMan123 commented Jul 16, 2023

Motivation

  • Sometimes I need to select an object during a mouse event (e.g. mouse move) and have it start transforming immediatly without doing a mouse up and down.
  • Making selection and interaction easier for the dev - no need to dig into fabric's core.

Description

First merge #9108
Using the concept and naming of stopImmediatePropagation,

Changes

Calling _setupCurrentTransform from setActiveObject
BREAKING setActiveObject, _setActiveObject signature => (object, e) => (object, options: { e, startImmediatePropagation })

Gist

In Action

https://codesandbox.io/s/4l58sp

Playwright

test-finished-1

video.webm

Master

test-finished-1

video.webm

@ShaMan123 ShaMan123 changed the title BREAKING: feat(): startImmediatePropagation BREAKING feat(): startImmediatePropagation Jul 16, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jul 16, 2023

Build Stats

file / KB (diff) bundled minified
fabric 918.576 (+0.094) 305.502 (+0.089)

@ShaMan123 ShaMan123 changed the title BREAKING feat(): startImmediatePropagation BREAKING feat(setActiveObject): startImmediatePropagation Jul 16, 2023
Copy link
Contributor Author

@ShaMan123 ShaMan123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • squashed _beforeTransform into _setupCurrentTransform

@ShaMan123 ShaMan123 requested a review from asturur July 16, 2023 05:00
commit 1849a03
Author: ShaMan123 <[email protected]>
Date:   Thu Jul 20 01:15:16 2023 +0530

    Update playwright.config.ts

commit fd4102f
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 23:19:45 2023 +0530

    Update setupApp.ts

    Revert "Update setupApp.ts"

    This reverts commit 5dcd615.

commit ec4ac28
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 22:38:04 2023 +0530

    fix transforming error

commit b7edf37
Merge: 3aaa04b 73fa847
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 22:31:09 2023 +0530

    Merge branch 'master' into ci-e2e-rel-imports

commit 3aaa04b
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 22:23:19 2023 +0530

    cleanup

commit ced8451
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 17:21:54 2023 +0530

    abs resolution + default imports

    abs resolution + default imports

commit 4f7bda2
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 15:08:58 2023 +0530

    cleanup

commit 47b954f
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 14:38:09 2023 +0530

    node version - this was supposed to throw

commit 6ccd23c
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 14:33:35 2023 +0530

    try to fix node14 ci error

    actions/setup-node#214 (comment)

    npm/npm#19788

commit cb31f22
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 14:09:57 2023 +0530

    Update package-lock.json

commit 248d0be
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 13:59:48 2023 +0530

    forgot the setup

commit 19e20d3
Merge: b9c0da6 f09a52e
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 13:54:49 2023 +0530

    Merge branch 'ci-e2e-rel-imports' of https://github.com/fabricjs/fabric.js into ci-e2e-rel-imports

commit b9c0da6
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 13:54:25 2023 +0530

    extends

commit f09a52e
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date:   Wed Jul 19 08:22:08 2023 +0000

    update CHANGELOG.md

commit 20b9eaa
Author: ShaMan123 <[email protected]>
Date:   Wed Jul 19 13:49:28 2023 +0530

    ci(e2e): support relative imports
@github-actions
Copy link
Contributor

Coverage after merging start-immediate-propagation into master will be

83.04%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
index.node.ts7.69%100%0%14.29%17, 20, 23, 35, 38, 41
src
   ClassRegistry.ts100%100%100%100%
   Collection.ts94.71%94.64%86.67%97.09%101, 104, 207–208, 233–234
   CommonMethods.ts96.55%87.50%100%100%10
   Intersection.ts100%100%100%100%
   Observable.ts87.23%85.29%84.62%89.36%144–145, 170–171, 39–40, 48, 57, 91, 99
   Point.ts100%100%100%100%
   Shadow.ts98.36%95.65%100%100%178
   cache.ts97.06%90%100%100%57
   config.ts75%66.67%66.67%82.76%130, 138, 138, 138, 138, 138–140, 151–153
   constants.ts100%100%100%100%
src/Pattern
   Pattern.ts92.31%91.89%90%93.55%118, 129, 138, 31, 94
src/brushes
   BaseBrush.ts100%100%100%100%
   CircleBrush.ts0%0%0%0%108, 108, 108, 110, 112, 114–116, 118–121, 128–129, 13, 136, 138, 23–24, 32–36, 40–44, 51–54, 62–66, 68, 76, 76, 76, 76, 76–77, 79, 79, 79–82, 84, 92–93, 95, 97–99
   PatternBrush.ts97.06%87.50%100%100%21
   PencilBrush.ts91.06%82.35%100%93.81%122–123, 152, 152–154, 176, 176, 276, 280, 285–286, 68–69, 84–85
   SprayBrush.ts0%0%0%0%107, 107, 107, 107, 107–108, 110–111, 118–119, 121, 123–127, 136, 140–141, 141, 149, 149, 149–152, 154–157, 161–162, 164, 166–169, 17, 172, 179, 18, 180, 182, 184–185, 187, 194–195, 197–198, 20, 201, 201, 208, 208, 21, 212, 22, 22, 22–24, 28, 32, 39, 46, 53, 60, 67, 84–86, 94–96, 98–99
src/canvas
   Canvas.ts78.98%77.54%82.76%79.49%1000–1001, 1001, 1001–1003, 1005–1006, 1006, 1006, 1008, 1016, 1016, 1016–1018, 1018, 1018, 1024–1025, 1033–1034, 1034, 1034–1035, 1040, 1042, 1073–1075, 1078–1079, 1083–1084, 1186–1188, 1191–1192, 1265, 1384, 1506, 161, 186, 296–297, 300–304, 309, 332–333, 338–343, 36, 363, 363, 363–364, 364, 364–365, 373, 378–379, 379, 379–380, 382, 391, 397–398, 398, 398, 40, 441, 449, 453, 453, 453–454, 456, 538–539, 539, 539–540, 546, 546, 546–548, 568, 570, 570, 570–571, 571, 571, 574, 574, 574–575, 578, 587–588, 590–591, 593, 593–594, 596–597, 609–610, 610, 610–611, 613–618, 624, 631, 668, 668, 668, 670, 672–677, 683, 689, 689, 689–690, 692, 695, 700, 713, 741, 741, 799–800, 800, 800–801, 803, 806–807, 807, 807–808, 810–811, 814, 814–816, 819–820, 890, 902, 909, 930, 962, 983–984
   SelectableCanvas.ts94.38%92.19%94.23%96.19%1137, 1137–1138, 1141, 1161, 1161, 1210, 1218, 1338, 1340, 1342–1343, 1346, 539, 714–715, 717–718, 718, 718, 767–768, 829–830, 883–885, 919, 924–925, 952–953
   StaticCanvas.ts96.78%93.09%100%98.53%1036–1037, 1037, 1037–1038, 1158, 1168, 1224–1225, 1228, 1263–1264, 1340, 1349, 1349, 1353, 1353, 1400–1401, 308–309, 325, 693, 705–706
   TextEditingManager.ts84.31%71.43%91.67%88%17–18, 18, 18–19, 19, 19
src/canvas/DOMManagers
   CanvasDOMManager.ts95.52%70%100%100%21–22, 29
   StaticCanvasDOMManager.ts100%100%100%100%
   util.ts86.67%80.56%83.33%93.94%14, 26, 63–64, 67, 67, 74, 93–94
src/color
   Color.ts94.96%91.67%96.30%96.05%233, 258–259, 267–268, 48
   color_map.ts100%100%100%100%
   constants.ts100%100%100%100%
   util.ts85.71%76.92%100%89.74%55–56, 56, 58, 58, 58–59, 61–62, 89
src/controls
   Control.ts93.33%87.88%91.67%97.78%175, 240, 327, 327, 362
   changeWidth.ts100%100%100%100%
   commonControls.ts100%100%100%100%
   controlRendering.ts81.63%78%100%84.78%106, 111, 121, 121, 45, 50, 61, 61, 65–72, 81–82
   drag.ts100%100%100%100%
   fireEvent.ts88.89%75%100%100%13
   polyControl.ts5.97%0%0%11.11%100, 105, 119, 119, 119, 119, 119, 121–124, 124, 127, 134, 17, 25–29, 29, 29, 29, 29, 29, 29, 29, 50–56, 56, 56, 56, 56, 58, 63–64, 66, 76, 82–83, 83, 83–84, 88–90, 90, 90, 90, 90, 92
   rotate.ts19.57%12.50%50%21.43%41, 45, 51, 51, 51–52, 55–57, 59, 59, 59, 59, 59–61, 61, 61–63, 65, 65, 65–67, 67, 67–68, 73, 73, 73–74, 76, 78, 80–81
   scale.ts93.57%92.94%100%93.67%129–130, 132–134, 148–149, 181–183, 42
   scaleSkew.ts78.79%64.29%100%85.71%27, 29, 29, 29, 31, 33, 35
   skew.ts91.03%79.31%100%97.67%131–132, 163–164, 171, 177, 179
   util.ts100%100%100%100%
   wrapWithFireEvent.ts100%100%100%100%
   wrapWithFixedAnchor.ts100%100%100%100%
src/env
   browser.ts84.21%77.78%50%100%14, 17
   

@stale
Copy link

stale bot commented Sep 17, 2023

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs 😔. Thank you for your contributions.

@stale stale bot added the stale Issue marked as stale by the stale bot label Sep 17, 2023
@ShaMan123 ShaMan123 removed the stale Issue marked as stale by the stale bot label Sep 18, 2023
@ShaMan123
Copy link
Contributor Author

closing this in favor of ShaMan123#2 => setupCurrentTransform

@ShaMan123 ShaMan123 closed this May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant