ChiHungLam / gwtquery-plugins

Automatically exported from code.google.com/p/gwtquery-plugins
0 stars 0 forks source link

ResizableWidget #21

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I am currently using your wonderful Draggable plugin. Is there any possibility 
to interactively resize HTML widget wrapped by DraggableWidget ? How to do this 
?

Original issue reported on code.google.com by zdun...@gmail.com on 26 Sep 2011 at 1:52

GoogleCodeExporter commented 9 years ago
I think the best is to request to port the resizable plugin of jqueryUI

Original comment by julien.d...@gmail.com on 28 Sep 2011 at 12:50

GoogleCodeExporter commented 9 years ago
I am working against trunk of gwtquery-plugins, and am currently in need of a 
ResizablePlugin for Draggable.  I saw the implementation in gquery-ui, but was 
not impressed {especially with importing jquery js}.  I will gladly work on 
this plugin for the project, but a little guidance could save me some trouble.

First of all, in order to implement resizing, we will need to specify bounds 
for draggables.  The constrain plugin uses a selector for bounds, and this 
would make sense for resizable as well.  In theory, when resizing, the position 
of the helper should remain static until an edge is hit {grow width/height 
first}, then grow position {width&-left or height&-top} until the upper bounds 
are hit.  

With minimum sizing, should a resize drag shrink the helper until min size, 
then continue to move the element until the constraint bounds, or should it 
just stop acting when the drag crosses bounds?

Basically, should a resize operation be allowed to affect position to achieve 
resize?

I think I can implement all of this; though edge cases like, "what if the 
position is already being dragged" or "what if the users is not using a clone 
helper" may need to be addressed.

I'm working on this now, so any advice you could offer would be greatly 
appreciated.

I will request contrib if I manage to make anything useful,
or email source to julien if not. 

=}

Original comment by Ja...@wetheinter.net on 5 Jan 2012 at 8:47

GoogleCodeExporter commented 9 years ago
I suppose, if the whole frame was resizable, then each border area could just 
drag to it's own bounds, and allowing position drags would depend on which 
handle was moved...  This would be better for a widget impl than raw gquery, I 
think.  Anything that requires nine-box decoration should probably be a 
widget... 

I think, for starters, I'm just going to make a resizable box with a small 
handle in lower right, just like this comment box I'm typing this into 
{closure?}.

Version 1 will only resize from this single handle, and version 2 would be a 
widget that uses nine instances of version 1 to make all box borders resizable. 

Thoughts?

Original comment by Ja...@wetheinter.net on 5 Jan 2012 at 8:52

GoogleCodeExporter commented 9 years ago
I think that the plugin should have the same features than the resizable plugin 
of jquery-ui.
Do you already check at the examples of this plugin?
Try to understand the JavaScript code of this plugin can also really help you.

Original comment by julien.d...@gmail.com on 9 Jan 2012 at 11:53

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Yup, I went through the jquery through and through.

I duplicated the architecture of Draggable, put the implementation details into 
the ResizableHandler class, removed unused Draggable features / plugins, made a 
couple new ones, copied in the jquery css and put the different browser hacks 
jquery used into the comments for rebinding later.

The first draggable box just barely works; when I get some more time off work 
to finish it, I will submit it as a new issue to code review and include.

Original comment by Ja...@wetheinter.net on 10 Jan 2012 at 2:29

GoogleCodeExporter commented 9 years ago
Where should I put shared code that might be useful between all plugins?  
UiPlugin?  Enhance? UiExtras?

For example, to achieve String-or-element-or-query, I implemented a jso that 
stores lists of each, so I can map one HasSelector to one ResizableAxis, let 
users supply whatever resize handles they want to ResizableOptions; if the css 
selectors don't match, new elements are render based {for now} on jquery css.  

I am adding some features like an AxisRenderer which will default to jquery 
behavior, but can be replaced with gin or deferred binding.  I intend to extend 
the Resizable plugin with some gold from an old GQuery animation / element 
builder library I built a couple years ago, so I'm making this first 
implementation as close as possible to jquery, but I'm leaving room to 
deferred-binding replace things like the css manager so I can wire this 
directly into my project without importing anything into Resizable plugin.

Original comment by Ja...@wetheinter.net on 10 Jan 2012 at 2:37

GoogleCodeExporter commented 9 years ago
> Where should I put shared code that might be useful between all plugins?  
UiPlugin?  Enhance? UiExtras?
Put it in your plugin for the time being. We can move it after in GQuery  
project.

I'm looking forward to see your code !

Original comment by julien.d...@gmail.com on 10 Jan 2012 at 11:36

GoogleCodeExporter commented 9 years ago
Hi James

Any news about you plugin ?

Original comment by julien.d...@gmail.com on 3 Apr 2012 at 7:30

GoogleCodeExporter commented 9 years ago
Hey James, any luck with the plugin?

Original comment by pana...@gmail.com on 17 Jun 2013 at 4:36