(Solved/Not Needed) Items can be dragged off screen, need help having them float back on

Okay so maybe I went the wrong direction with this from the start, but heres what I got

Parent Gameobject, which uses IDragHandler to navigate through a very large menu, with Set GameObjects on it (Think a large Skill Tree, Like in Path Of Exile).

Currently, it is possible to drag the object either entirely off screen, or so close that you struggle to grab it again to bring it back. or, if you click in the space around it, you cant drag it.

My desired solution is to add a script to the Parent Gameobject which will trigger when the canvas is partially outside of the Gameobject’s transform, and correct itself so that no part of the canvas is outside the Gameobject’s transform.
Visual: Imgur: The magic of the Internet

The problem is I don’t know where to start with this. I mainly dont know how to reference the “Border” of a gameobjects transform and that makes the whole of what I need to do confusing to me. Any help is appreciated

turns out the solution was just using a UI - ScrollView. which I did not know existed