From: Anjo K. <kr...@lo...> - 2006-08-12 12:46:49
|
Hi Timo, thanks a lot for your patch! I had some trouble to integrate it first, because I was trying with the shell before I tried Eclipse, which really messed things up in a big way :) Someone should fix eclipse's team perspective so that it recognized when the version info it has is stale. Am 11.08.2006 um 23:31 schrieb Timo Hoepfner: > I've been working on Drag & Resize Ajax components in the last days > and would be glad if thy could find a place in the Wonder Ajax > framework. > > While implementing these components and the corresponding example, > I needed to make some small changes to existing classes: > > AjaxUtils/AjaxComponent/AjaxDynamicElement: > > -Added AjaxUtils.addStylesheetResouceInHead - does the same as > addScriptResourceInHead, just for CSS files, refactored out the > common parts. This was actually present in Jean-Francois' original > some day. > -Added a "framework" option to said methods, to be able to use > resources outside of the Ajax framework > -Added the corresponding methods to AjaxComponent and > AjaxDynamicElement OK. > AjaxUpdateLink: > > -I needed "evalScripts: true" on the Prototype Ajax.Updater when > "updateContainerID" is used. I reused the already existing > "evalScripts" binding to specify that option. This binding is now > used twice inside of that component, maybe not good. I think the > possibility to specify the evalScripts option should be added to > the other components using Ajax.Updater as well. No comment. Mike may know what that entails. > I've attached a patch (patch_base.txt) for these changes. > > The new components are wrapping the DragResize JS library form > Angus Turnbull (http://twinhelix.com/javascript/dragresize/, LGPL). > There are two components. The AjaxDragResizeContainer groups > AjaxDragResize components. Each AjaxDragResize is a draggable and > resizable element on the screen. The container gets Ajax request > upon change of these elements. A similar mechanism to the > AjaxDraggable/Droppable is used to drag around "real objects" - > should be probably refactored out to AjaxUtils. > > To demonstrate the functionality, I've made a proof-of-concept > implementation of photo annotations, the idea is taken from http:// > fotonotes.net/ (BTW: they're also using the dragresize JS lib). And > while at it, added some fancy resizable stickies on that page as > readme. This one is nice. I may actually for a change need one of those, as I need some clipping component pretty soon. It's a pity that the rest of the stuff has this weird "donationware" license. I like that menu as it's one of the few that actually work in safari and I think a Menu component would be a good addition. Something simple to handle, eg, you just have some <ul><li><ul><li>'s and do all the styling, effects and crap via css. > While implementing the demo, I wanted some lightbox-like effect, > but with the contents taken from an inner div. After some looking > around, I first experimented with thickbox (http://jquery.com/demo/ > thickbox/), but it uses JQuery instead of Prototype and even though > it was working stand-alone, it broke a lot of the other - Prototype > based - Ajax components, like AjaxRoundEffect and AjaxSubmitButton. > Finally I came across iBox (http://www.ibegin.com/blog/p_ibox.html, > MIT). While I'm quite unhappy with the name, I coded > AjaxIBoxComponentContent. It provides a link whose label is > specified by the "label" binding and whose WOComponentContent is > placed in a hidden div. Upon clicking the link, you get the > contents of the hidden div displayed in a lightbox-like way. I renamed this to AjaxModalContainer as this seemed to be what it does... I can't say I like this lib. The end result is cool and useful, bhe scriptaculous stuff has a nifty way to handle namespaces in javascript and this one just puts everything in the page level. But then again, if someone bothers, she can come up with his own stuff. You'd never call out that stuff in client code anyway. > All of that needs some more fiddeling, but it's a start. I've > attached patches for the new components, corresponding resources > and the demo integrated into AjaxExamples. Furthermore two images, > "indicator.gif", used by iBox, to be put in Ajax/WebServerResources > and "napoleon.jpg" for AjaxExamples/WebServerResources (BTW: this > is really our dog) Um, I'm more into cats, myself :) But I'm sure he's cute! > Hope you like it, Yep, I do :) Thanks again. Cheers, Anjo |