Just dropping by to give mad props to those involved with the creation
of Entwine! Currently, I'm working on a sweet Entwine powered widget
library and I'll probably be open sourcing it in the coming weeks.
More info to come!
Cheers,
Josh
Look forward to it. I've been wanting to do something similar (I
originally started Entwine partially because I didn't like jQuery UI's
API), but it's always been a fairly far future plan. I'll be
interested to see how you've structured things.
Hamish Friedlander
ep.widget.js >> http://pastebin.com/m52d1ad2
ep.widget.elements.js >> http://pastebin.com/m22a0c198 Some basic
form elements (these are known as "widgis")
ep.widget.TableView.js >> http://pastebin.com/m178a5bc2 A widget that
provides extJS gridlike functionality -- kinda sloppy atm, but it
works real well in our app.
The key part to my concept of widgets is the message passing
interaction. Widgets and widgis (which are basically standalone DOM
elements) can emit and respond to events (basically a pub/sub or
observer pattern). All events trickle up the DOM tree and are re-
emitted when they hit another widget. The TableView widget is a
container that allows for sortable headers and responds to various
child widgets (e.g. a Paginator). If you notice in ep.widget.js, a
Base widget is bound to a '*' selector. This gives all DOM elements to
take part in the rich ecosystem of events.
I chose to use Douglas Crockford's module pattern for building the
widgets, but I'd be open for other ideas of how to organize these
guys.
Let me know what you think!
Thanks,
Josh
No demo yet. I envision people being able to share widgets / html
snippets freely.... Might be kind of cool.
Josh
On Jan 20, 12:03 pm, hundleyj <josh.hund...@gmail.com> wrote:
> I haven't had time to package anything up, but here are few samples of
> how the widgets currently work. Note: the "ep" namespace is the
> namespace we're using at work.
>
> ep.widget.js >>http://pastebin.com/m52d1ad2
>
> ep.widget.elements.js >>http://pastebin.com/m22a0c198 Some basic
> form elements (these are known as "widgis")
>
> ep.widget.TableView.js >>http://pastebin.com/m178a5bc2A widget that
I like what ExtJS has done, but I'm not a fan of the configuration /
hundreds of properties/methods as you mentioned. Hopefully this thing
can present a way of strapping additional functionality on modularly.
The concrete pattern is perfect for this sort of loose coupling. I'll
be working out a demo soonish.
Josh
On Feb 9, 12:19 pm, Michael Frawley <frawl...@gmail.com> wrote:
> Sounds promising, I looked through the code a bit and its easy to follow. A
> demo or two would be nice to see it in action. I'm not sure what the
> widgi's are adding beyond the normal dom events that can be listened for.
>
> It would be fun to see if all the extra functionality could be added as
> extra entwine classes for the widgets. For example,
> $('.widgit.validate').entwine() contains validation logic, not $('.widgit')
> itself. Or an example from your grid, the first column checkbox behavior
> could be stored in a seperate entwine, and gets activated if your grid has a
> 'checkbox-column' dom class or something. Otherwise you might eventually
> end up with one big EXT like grid with hundreds of methods / properties /
> config options :~/ I guess it depends how much you want to use the entwine
> style in your widgets.
>
> Mike
>
>
>
> On Tue, Feb 9, 2010 at 11:09 AM, hundleyj <josh.hund...@gmail.com> wrote:
> >http://www.jqentropy.com
>
> > No demo yet. I envision people being able to share widgets / html
> > snippets freely.... Might be kind of cool.
>
> > Josh
>
> > On Jan 20, 12:03 pm, hundleyj <josh.hund...@gmail.com> wrote:
> > > I haven't had time to package anything up, but here are few samples of
> > > how the widgets currently work. Note: the "ep" namespace is the
> > > namespace we're using at work.
>
> > > ep.widget.js >>http://pastebin.com/m52d1ad2
>
> > > ep.widget.elements.js >>http://pastebin.com/m22a0c198Some basic
> > > form elements (these are known as "widgis")
>
> > > ep.widget.TableView.js >>http://pastebin.com/m178a5bc2Awidget that