| 17 | | dojo.debug('testing expanded usage for dojo.declare'); |
| 18 | | dojo.debug(''); |
| 19 | | dojo.debug(''); |
| 20 | | |
| 21 | | // usually taken care of by dojo.provide |
| 22 | | dojo.evalObjPath('my.classes', true); |
| 23 | | |
| 24 | | dojo.debug("> dojo.declare('my.classes.foo'..."); |
| 25 | | // out-of-line initializer declaration |
| 26 | | my.classes.foo = function(arg) { |
| 27 | | dojo.debug('foo: initializing instance' + (arg ? ' [' + arg + ']' : '')); |
| 28 | | this.id = 'foo'; |
| 29 | | } |
| 30 | | // note array of property objects |
| 31 | | dojo.declare('my.classes.foo', null, [{ protoId: 'foo' }, { |
| 32 | | getId: function() { |
| 33 | | return "I am a foo"; |
| 34 | | }, |
| 35 | | method: function() { |
| 36 | | return "A method in foo"; |
| | 17 | dojo.addOnLoad(function(){ |
| | 18 | dojo.debug('testing expanded usage for dojo.declare'); |
| | 19 | dojo.debug(''); |
| | 20 | dojo.debug(''); |
| | 21 | |
| | 22 | // usually taken care of by dojo.provide |
| | 23 | dojo.evalObjPath('my.classes', true); |
| | 24 | |
| | 25 | dojo.debug("> dojo.declare('my.classes.foo'..."); |
| | 26 | // out-of-line initializer declaration |
| | 27 | my.classes.foo = function(arg) { |
| | 28 | dojo.debug('foo: initializing instance' + (arg ? ' [' + arg + ']' : '')); |
| | 29 | this.id = 'foo'; |
| | 30 | } |
| | 31 | // note array of property objects |
| | 32 | dojo.declare('my.classes.foo', null, [{ protoId: 'foo' }, { |
| | 33 | getId: function() { |
| | 34 | return "I am a foo"; |
| | 35 | }, |
| | 36 | method: function() { |
| | 37 | return "A method in foo"; |
| | 38 | } |
| | 39 | }] |
| | 40 | ); |
| | 41 | |
| | 42 | dojo.debug("> dojo.declare('my.classes.bar'..."); |
| | 43 | // out-of-line initializer declaration |
| | 44 | my.classes.bar = function(arg) { |
| | 45 | dojo.debug('bar: initializing instance' + (arg ? ' [' + arg + ']' : '')); |
| | 46 | this.id = 'bar'; |
| | 47 | } |
| | 48 | dojo.declare('my.classes.bar', my.classes.foo, { |
| | 49 | getId: function(extra) { |
| | 50 | return "I am a bar and " + my.classes.bar.superclass.getId.apply(this, arguments); |
| 38 | | }] |
| 39 | | ); |
| 40 | | |
| 41 | | dojo.debug("> dojo.declare('my.classes.bar'..."); |
| 42 | | // out-of-line initializer declaration |
| 43 | | my.classes.bar = function(arg) { |
| 44 | | dojo.debug('bar: initializing instance' + (arg ? ' [' + arg + ']' : '')); |
| 45 | | this.id = 'bar'; |
| 46 | | } |
| 47 | | dojo.declare('my.classes.bar', my.classes.foo, { |
| 48 | | getId: function(extra) { |
| 49 | | return "I am a bar and " + my.classes.bar.superclass.getId.apply(this, arguments); |
| | 52 | }); |
| | 53 | dojo.debug('******'); |
| | 54 | |
| | 55 | dojo.debug('> b = new my.classes.bar()'); |
| | 56 | b = new my.classes.bar(); |
| | 57 | dojo.debug('******'); |
| | 58 | |
| | 59 | dojo.debug("> dojo.declare('my.classes.zot'..."); |
| | 60 | // out-of-line initializer declaration |
| | 61 | my.classes.zot = function(arg) { |
| | 62 | dojo.debug('zot: initializing instance' + (arg ? ' [' + arg + ']' : '')); |
| | 63 | this.id = 'zot'; |
| | 65 | dojo.declare('my.classes.zot', my.classes.bar, { |
| | 66 | getId: function(extra) { |
| | 67 | return "I am a zot and " + my.classes.zot.superclass.getId.apply(this, arguments); |
| | 68 | } |
| | 69 | }); |
| | 70 | dojo.debug('******'); |
| | 71 | |
| | 72 | dojo.debug('> f = new my.classes.foo()'); |
| | 73 | f = new my.classes.foo(); |
| | 74 | dojo.debug('******'); |
| | 75 | |
| | 76 | dojo.debug('> z = new my.classes.zot("with an argument")'); |
| | 77 | z = new my.classes.zot("with an argument"); |
| | 78 | dojo.debug('******'); |
| | 79 | |
| | 80 | dojo.debug('> f.getId()'); |
| | 81 | dojo.debug(f.getId()); |
| | 82 | dojo.debug('******'); |
| | 83 | |
| | 84 | dojo.debug('> b.getId()'); |
| | 85 | dojo.debug(b.getId()); |
| | 86 | dojo.debug('******'); |
| | 87 | |
| | 88 | dojo.debug('> z.getId()'); |
| | 89 | dojo.debug(z.getId()); |
| | 90 | dojo.debug('******'); |
| 52 | | dojo.debug('******'); |
| 53 | | |
| 54 | | dojo.debug('> b = new my.classes.bar()'); |
| 55 | | b = new my.classes.bar(); |
| 56 | | dojo.debug('******'); |
| 57 | | |
| 58 | | dojo.debug("> dojo.declare('my.classes.zot'..."); |
| 59 | | // out-of-line initializer declaration |
| 60 | | my.classes.zot = function(arg) { |
| 61 | | dojo.debug('zot: initializing instance' + (arg ? ' [' + arg + ']' : '')); |
| 62 | | this.id = 'zot'; |
| 63 | | } |
| 64 | | dojo.declare('my.classes.zot', my.classes.bar, { |
| 65 | | getId: function(extra) { |
| 66 | | return "I am a zot and " + my.classes.zot.superclass.getId.apply(this, arguments); |
| 67 | | } |
| 68 | | }); |
| 69 | | dojo.debug('******'); |
| 70 | | |
| 71 | | dojo.debug('> f = new my.classes.foo()'); |
| 72 | | f = new my.classes.foo(); |
| 73 | | dojo.debug('******'); |
| 74 | | |
| 75 | | dojo.debug('> z = new my.classes.zot("with an argument")'); |
| 76 | | z = new my.classes.zot("with an argument"); |
| 77 | | dojo.debug('******'); |
| 78 | | |
| 79 | | dojo.debug('> f.getId()'); |
| 80 | | dojo.debug(f.getId()); |
| 81 | | dojo.debug('******'); |
| 82 | | |
| 83 | | dojo.debug('> b.getId()'); |
| 84 | | dojo.debug(b.getId()); |
| 85 | | dojo.debug('******'); |
| 86 | | |
| 87 | | dojo.debug('> z.getId()'); |
| 88 | | dojo.debug(z.getId()); |
| 89 | | dojo.debug('******'); |