baseBuild.html revision a091e633a8a28a2f787150f3b87e4e4ec8e717ba
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater <script type="text/javascript" src="/build/yui/yui.js"></script>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <!--script type="text/javascript" src="http://yui.yahooapis.com/3.2.0/build/yui/yui.js"></script-->
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews YUI({filter:"raw"}).use("base", "plugin", function(Y) {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews // ----- Main Class -----
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews function MainPlugin() {}
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews MainPlugin.NS = "mainplugin";
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews MainPlugin.NAME = "mainplugin";
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews function Main(config) {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Main.superclass.constructor.apply(this, arguments);
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews value: "mainA"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews value: "mainB"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews main: "yui-main"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews methodA : function() {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Y.log("methodA called - Attr value:" + this.get("mainA"));
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews methodB : function() {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Y.log("Main methodB called - Attr value:" + this.get("mainB"));
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews initializer : function() {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Y.log("Main initializer");
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews // ----- ExtOne --
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews function ExtOnePlugin() {}
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ExtOnePlugin.NS = "extoneplugin";
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ExtOnePlugin.NAME = "extoneplugin";
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews function ExtOne() {
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User Y.log("ExtOne initializer");
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User value: "extOne"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews extOne : "yui-extone"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ExtOnePlugin
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User methodB : function() {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Y.log("ExtOne methodB called - Attr value:" + this.get("extOne"));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User methodC : function() {
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("methodC called - Attr value:" + this.get("extOne"));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User methodD : function() {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Y.log("methodD called - Attr value:" + this.get("extOne"));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User // ----- ExtTwo --
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews function ExtTwoPlugin() {}
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ExtTwoPlugin.NS = "exttwoplugin";
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User ExtTwoPlugin.NAME = "exttwoplugin";
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User function ExtTwo() {
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("ExtTwo initializer");
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User value: "extTwo"
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User extTwo : "yui-exttwo"
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User methodB : function() {
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("ExtTwo methodB called - Attr value:" + this.get("extTwo"));
6d45011a65dfc43f476ca15c3fd9ee5227eb968fTinderbox User methodE : function() {
6d45011a65dfc43f476ca15c3fd9ee5227eb968fTinderbox User Y.log("methodE called - Attr value:" + this.get("extTwo"));
6d45011a65dfc43f476ca15c3fd9ee5227eb968fTinderbox User methodF : function() {
6d45011a65dfc43f476ca15c3fd9ee5227eb968fTinderbox User Y.log("methodF called - Attr value:" + this.get("extTwo"));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User var CustMain = Y.Base.build("custmain", Main, [ExtOne, ExtTwo], {aggregates:["PLUGINS", "CLASSNAMES"]});
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews var c = new CustMain({mainA:"custMainA", extOne:"custExtOne"});
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("CustMain === Main [false]:" + (CustMain === Main));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("CustMain.superclass === Main [true]:" + (CustMain.superclass.constructor === Main));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("Main.superclass === Y.Base [true]:" + (Main.superclass.constructor === Y.Base));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("c instanceof Main [true]:" + (c instanceof Main));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("c instanceof CustMain [true]:" + (c instanceof CustMain));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("c instanceof Base [true]:" + (c instanceof Y.Base));
659d063f23a35d77ad5826e6556d3137672bb937Tinderbox User Y.log("c.hasImpl(Main) [false]:" + (c.hasImpl(Main)));
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Y.log("c.hasImpl(ExtOne) [true]:" + (c.hasImpl(ExtOne)));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.log("c.hasImpl(ExtTwo) [true]:" + (c.hasImpl(ExtTwo)));
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User Y.log("CustMain.PLUGINS.length [3]:" + (CustMain.PLUGINS.length));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var main = new Main();
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.log('main.methodA [true]' + !!(main.methodA));
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Y.log('main.methodB [true]' + !!(main.methodB));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.log('main.methodC [false]' + !!(main.methodC));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.log('main.methodD [false]' + !!(main.methodD));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.log('main.methodE [false]' + !!(main.methodE));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.log('main.methodF [false]' + !!(main.methodF));
395c95214142142854509945adf3293c0270e1c5Tinderbox User function checkClass(clz) {
395c95214142142854509945adf3293c0270e1c5Tinderbox User Y.log("# Methods");
395c95214142142854509945adf3293c0270e1c5Tinderbox User Y.log("# PLUGINS");
395c95214142142854509945adf3293c0270e1c5Tinderbox User checkClass(Main);
395c95214142142854509945adf3293c0270e1c5Tinderbox User checkClass(CustMain);
395c95214142142854509945adf3293c0270e1c5Tinderbox User checkClass(ExtOne);
395c95214142142854509945adf3293c0270e1c5Tinderbox User checkClass(ExtOne);