Hold to drag an item from scrollable panel

I have been having trouble implementing this.

The problem is :
I have a collection of UI items ,stored in scrollable panel “A”, that can be dragged into some certain slots on other panel “B”.
The procedure to drag out an item from the panel A is to hold on item, wait for about 0.5 seconds, then the item will be popped up for dragging. If the user successfully to release it on the slot in panel B. then the item is successfully placed, otherwise, it should be bounced back to the list of item in panel A.
Basically, it’s a similar procedure to placing an app from your app launcher into your your Android home screen.

This problem would be easy if the panel is not (vertically) scrollable, but the challenge is the user need to be able to scroll panel A like normally one scrolling through a long document.
So I cannot use IBeginDragHandler, IDragHandler, and IEndDragHandler, because these will make the item being dragged blocks the raycast and the panel unable to know it’s a scroll gesture.

In the end, I had to dig deeper on the EventSystems and stucked on the problem of getting a proper PointerEventData inside the Update() function.
I caught with similar problem by the other user like this one, but I somehow unable to use their StandaloneInputModuleCustom (It’s not a monobehavior, so unity report the script is missing when I tried to run my scene.)

Bump.
Any pointer on how to tackle this problem?