@Robert & @John, Check out this thread: http://groups.google.com/group/jquery-dev/browse_thread/thread/664cb89b43ccb92c. I've written something similar.
Down towards the bottom of the page, I posted some code that would demonstrate 3 ways to add namespaced plugins to both jQuery and jQuery.prototype (fn). -- Trey On May 5, 12:10 pm, Robert Katić <[email protected]> wrote: > Well, I wrote an solution that would be simple to use but with > inheritance that is in my opinion is nice to have in larger projects. > > Simple use: > > $.plugin("simple_plugin", { > options: { > className: "simple_plugin", > opt1: false > }, > init: function( options ) { > $(this.node).addClass(options.className); > if ( options.opt1 ) { > //... > } > } > > }); > > To have an alternative simple_plugin but with some different default > options we can simply: > > $.plugin("simple_plugin_2", { > base: $.simple_plugin, > options: { > opt1: true > } > > }); > > Later, we can change some default options to simple_plugin that will > also apply to simple_plugin_2 if not overrided. > > $.simple_plugin.setOptions({ > className: "sim_plugin" > > }); > > $.simple_plugin_2.options.className == "sim_plugin"; // TRUE! > > JQuery UI would inherit $.plugin.base to define $.widget: > > $.widget = $.plugin.base.extended({ > init: function( options ) { > //$.plugin.base.fn.init.call(this, options); > this.call($.plugin.base, 'init', options); > //... > }, > fn: { > enable: function() { > //... > } > //... > } > > }); > > $.plugin("tabs", { > base: $.widget > //... > > }); > > $.base is an generic base "class" (not plugin). > > "class" in my implementation is an object (not function) to provide > static property inheritance too. Instead of the "new" operator, you > will use "$" static method to create an instance... > > Hope this short intro will make my solution more clear to understand. > > On May 5, 3:30 am, John Resig <[email protected]> wrote: > > > It's not completely clear what your code does or how it would be used, from > > looking at it - do you have any examples? > > > --John > > > On Mon, May 4, 2009 at 7:43 PM, Robert Katić <[email protected]> wrote: > > > > After some readings on the "A Modest Proposal: jQuery Enterprise" > > > discussion at > > >http://groups.google.com/group/jquery-dev/browse_frm/thread/1ec4dca6e... > > > , > > > it is clear that jQuery needs an own widget system that will expose an > > > standard way to write widgets/plugins. This need is more evident on > > > larger projects. JQuery UI implements an own. > > > > Some ideas: > > > jQuery UI:http://jquery-ui.googlecode.com/svn/trunk/ui/ui.core.js > > > John:http://dev.jquery.com/~john/plugins/widget/widget.js<http://dev.jquery.com/%7Ejohn/plugins/widget/widget.js> > > > my try with > > > inheritance:http://bender.fesb.hr/~robert/jquery.plugin.js<http://bender.fesb.hr/%7Erobert/jquery.plugin.js> > > > > Thoughts? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---
