It is defined like this:
var GridBuild = function(){};
Object.extend(Object.extend(GridBuild.prototype, GridBase.prototype),
... code cut here ...
{
On Nov 9, 7:30 am, "T.J. Crowder" <[email protected]> wrote:
> Hi,
>
> > I get an error in prototypejs, "parent.subclasses is undefied" (occurs
> > at line 99) the code is:
>
> > parent.subclasses.push(klass);
>
> > Any ideas?
>
> The superclass (parent) must be a class that was defined with
> Class.create; from that error, I'm thinking GridBuild is defined
> "raw" (or in some other non-Class.create method).
>
> HTH,
>
> -- T.J. :-)
>
> On Nov 9, 2:18 am, kstubs <[email protected]> wrote:
>
>
>
> > If I do something like this:
>
> > var GymnastFind = Class.create(GridBuild,
> > Ajax.Application.Base.Prototype, UserState, {
> > HEAD: ['MSOID', 'USAG', 'Description', 'DOB'],
> > initialize: function(container, url) {
> > this.url = url;
> > this.container = $(container).select('div.grid_container')[0];
> > this.Form = $(container).select('form')[0]
> > this.Form.observe('keyup', this.form_keyup.bind(this));
> > },
>
> > ... code cut here ...
>
> > I get an error in prototypejs, "parent.subclasses is undefied" (occurs
> > at line 99) the code is:
>
> > parent.subclasses.push(klass);
>
> > Any ideas? Maybe I can't mix in Ajax.Application.Base, maybe I must
> > inherit it? So am I correct in assuming that the Javascript allows
> > you to inherit from more than one class, an in my previous
> > "Object.extend(Object.extend ..." syntax I am doing just this?
>
> > Thanks for the help.
> > Karl..
>
> > On Nov 8, 2:45 am, "T.J. Crowder" <[email protected]> wrote:
>
> > > Hi Karl,
>
> > > Class.create accepts a base class and multiple mix-ins[1]. The way
> > > JavaScript's instanceof operator works, you can't create a new class
> > > from two disparate base classes and have the new class be an
> > > "instanceof" both of the base classes, you have to choose one as a
> > > base and mix-in the other, but that's fine if the code you quoted is
> > > working for you, nothing is relying on instances of GymnastFind being
> > > "instanceof" Ajax.Application.Base.
>
> > > So if you want it to derive from GridBuild and mix-in
> > > Ajax.Application.Base:
>
> > > var GymnastFind = Class.create(GridBuild,
> > > Ajax.Application.Base.prototype);
>
> > > (Note that for the base class, we specify the class [the constructor
> > > function] rather than the prototype, but mix-ins are specified just as
> > > an object, so we use the prototype of Ajax.Application.Base.)
>
> > > If you want to specify your own methods as well, just include them as
> > > an object as a third parameter.
>
> > > [1]http://api.prototypejs.org/language/class.html
>
> > > HTH,
> > > --
> > > T.J. Crowder
> > > Independent Software Consultant
> > > tj / crowder software / comwww.crowdersoftware.com
>
> > > On Nov 7, 6:21 pm, kstubs <[email protected]> wrote:
>
> > > > The following is working, but I am looking for the pure prototypejs
> > > > equivelant. So, what would the equivilant code be for
>
> > > > var GymnastFind = Class.create();
> > > > Object.extend(Object.extend(GymnastFind.prototype,
> > > > GridBuild.prototype));
> > > > Object.extend(Object.extend(GymnastFind.prototype,
> > > > Ajax.Application.Base.prototype), {
> > > > HEAD: ['MSOID', 'USAG', 'Description', 'DOB'],
> > > > initialize: function(container, url) {
> > > > this.UserActive = false;
> > > > this.timer = null;
> > > > ...... code cut here ......
>
> > > > });
>
> > > > In plain English:
>
> > > > Create a GymnastFind Class which inherits from GridBuild class and
> > > > implements the abstract class Ajax.Application.Base.
>
> > > > Thanks,
> > > > Karl..
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Prototype & script.aculo.us" 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/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---