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

Add onVisibilityChanged function as a property argument #75

Merged
merged 4 commits into from
Aug 13, 2024

Conversation

efremov-av
Copy link
Contributor

@efremov-av efremov-av commented Aug 2, 2024

What problem is this solving?

There is no way to handle the Drawer open/close state in a parent component

How to test it?

Define onVisibilityChanged prop in a parent component:

Снимок экрана 2024-08-02 в 14 37 16

This feature is used in the minicart linked app to handle closing of the Drawer:
https://devalex--dunnesstorespreprod.myvtex.com/

Related PR:

vtex-apps/minicart#335

@efremov-av efremov-av requested a review from a team as a code owner August 2, 2024 07:41
@efremov-av efremov-av requested review from hellofanny, lucasfp13 and RodrigoTadeuF and removed request for a team August 2, 2024 07:41
Copy link
Contributor

vtex-io-ci-cd bot commented Aug 2, 2024

Hi! I'm VTEX IO CI/CD Bot and I'll be helping you to publish your app! 🤖

Please select which version do you want to release:

  • Patch (backwards-compatible bug fixes)

  • Minor (backwards-compatible functionality)

  • Major (incompatible API changes)

And then you just need to merge your PR when you are ready! There is no need to create a release commit/tag.

  • No thanks, I would rather do it manually 😞

@vtex-io-docs-bot
Copy link

vtex-io-docs-bot bot commented Aug 2, 2024

Beep boop 🤖

I noticed you didn't make any changes at the docs/ folder

  • There's nothing new to document 🤔
  • I'll do it later 😞

In order to keep track, I'll create an issue if you decide now is not a good time

  • I just updated 🎉🎉

Copy link

@beatrizmaselli beatrizmaselli left a comment

Choose a reason for hiding this comment

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

LGTM

@iago1501 iago1501 requested review from iago1501, vsseixaso and vmourac-vtex and removed request for hellofanny, lucasfp13 and RodrigoTadeuF August 5, 2024 19:01
@iago1501 iago1501 added the enhancement New feature or request label Aug 5, 2024
Copy link
Contributor

@vmourac-vtex vmourac-vtex left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link

@vsseixaso vsseixaso left a comment

Choose a reason for hiding this comment

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

LGTM!

@vmourac-vtex vmourac-vtex merged commit 2d4383c into master Aug 13, 2024
6 checks passed
@vmourac-vtex vmourac-vtex deleted the feature/drawerCloseCallbackFunc branch August 13, 2024 17:22
Copy link
Contributor

vtex-io-ci-cd bot commented Aug 13, 2024

Your PR has been merged! App is being published. 🚀
Version 0.17.1 → 0.17.2

After the publishing process has been completed (check #vtex-io-releases) and doing A/B tests with the new version, you can deploy your release by running:

vtex deploy vtex.store-drawer@0.17.2

After that your app will be updated on all accounts.

For more information on the deployment process check the docs. 📖

vsseixaso pushed a commit to vtex-apps/minicart that referenced this pull request Aug 14, 2024
#### What problem is this solving?

The app has problems with pushing view_cart pixel event when
variant="drawer". This problem happens because of the wrong logic of
handling open/close state of the Drawer component. It switches isOpen
from true to false and back when user presses on the Cart Button in the
store front header:
1. User presses on the Cart button --> isOpen changes to true -->
view_cart event is pushed;
2. User presses on the close Drawer button --> nothing changed;
3. User presses on the Cart button --> isOpen changed to false -->
view_cart event is not pushed because isOpen state == false.

To solve this wrong behavior I added onVisibilityChanged callback
function as a property argument to the Drawer component in the drawer
app and made these changes in the minicart app to handle open/close
events properly.

#### How to test it?

In the browser inspector console tab type dataLayer to see events that
have been pushed. It should add view_cart event on every Drawer opening
and when user adds a new product to the cart (at the moment when Drawer
is opening)

https://devalex--dunnesstorespreprod.myvtex.com/

#### Screenshots or example usage:


https://github.com/user-attachments/assets/aff7f680-d649-452a-8837-30242f287454


https://github.com/user-attachments/assets/adeb1c36-71e8-45ca-8778-e6e9e3a419d6

![Снимок экрана 2024-08-02 в 15 13
17](https://github.com/user-attachments/assets/c702ae07-fa85-41ee-9db5-9be349b9cb26)

#### Related PR

vtex-apps/drawer#75
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants