[FREE/OS] Repositioning Tools extension

That was a bug with the first release, but it was fixed in the latest version, which version are you using?

send the link of latest version

You will find it in the first post, you can also check the example AIA, which shows an example showing how to use a card view with the extension.

1 Like

How can I get maximum value of ‘y’ so that I can set it’s position to bottom

1 Like

You can try to use the blocks, it will return the total height of the screen, in pixels, excluding the height of the component you are willing to move:

1 Like

Hi @Mohamed_Tamer !

I love your extensions and it gives me more posibilities to make great games and apps. I’m working on a game that i mention before on a other post of yours, the post where your introduced us to the “component tools” extension. Both work very great. But i think i have found a little “bug” in the “repositioning tools” extension. When you register a component, it is always being dragged. Not only when you use the event dragging + call “DragComponent” with the X and Y cordinates.

It would be nice if the extension activates dragging only when you use the event “dragging” + call “DragComponent” so you can play a bit with the maxium range of the dragging and it gives the user of the extension more room to code.

Love your work @Mohamed_Tamer ! you make kodular and all the other platforms each time you make a extension a little bit better. Thankyou for that :grin:


Hi, can you please add this method to set to bring components forward or backward after dropping

I would suggest you to use the Component Tools extensionSetZ method to deal with components being put over each other, for example, if you set the z position for compnent A to 10, and for component B to 20, component A would go backward component B.

1 Like

I tried dragging a component in a vertical scroll arrangement and it drags but it doesn’t smoothly drag like it does in a vertical arrangement, could you please fix it @Mohamed_Tamer ?

Yes, i expect the drags not to be smooth when the component is in s scrollable layout, because of the fact, the scroll would intercept touch events caused from drags, i will work on a bugfix for this.


Thank you @Mohamed_Tamer for your response,

can you please pm me, i tried to PM you but it says currently, you are not accepting PMs

Version 3.0


  • Changed the dragging mechanism
    Now touch events which were being translated into drags, will not be dragged directly, but will require the developer to accept the drag first, this could help in allowing the developers to allow dragging only in case some conditions were met. This behavior can be disabled by enabling the AlwaysAcceptDrags (Thanks @broekmancompany )
  • Registered components are managed by IDs. A new id parameter is added for all blocks
  • The DragComponent block now has a duration parameter
  • Completely rewritten the extension’s code.
  • Migrated To Rush CLI for building the extension ( Thanks @Shreyash )
  • Fixes non-smooth dragging when the component’s parent is a scrollable component ( i.e: HorizontalScrollArrangement or VerticalScrollArrangement ) ( Thanks @Soham_Shah )

The extension is now open source:

The extension link has been updated in the first post.
Mohamed Tamer


I still get the version 2 extension when i download from the first post

Apparently, I didn’t correctly upload the extension, I have re-updated the topic.


Hi buddy,
What about your layout Tools extension?? @Mohamed_Tamer
Did you made any other extension which can set arrangement to full clickable like card view??

Can u improve extension move x y absolute by interpolate easy?

I am using your extension in Ai2 and having trouble with dragging to a location. Please PM me, this is documented on the Ai2 forum, Ill be happy to post whatever you need, or send privately

extension doesn’t work. white screen when loading extension. if you remove the extension, the application loads fine.
Is there a similar extension?

I also have same problem

I use this extension in 2 different apps, there’s nothing wrong with it. What version do you use? Do you use any other extensions in same project?