diff options
| author | Tristan Zur <tzur@web.web.ccwn.org> | 2014-03-27 22:27:47 +0100 |
|---|---|---|
| committer | Tristan Zur <tzur@web.web.ccwn.org> | 2014-03-27 22:27:47 +0100 |
| commit | b62676ca5d3d6f6ba3f019ea3f99722e165a98d8 (patch) | |
| tree | 86722cb80f07d4569f90088eeaea2fc2f6e2ef94 /js/dojo-1.7.2/dojox/embed/Object.js | |
Diffstat (limited to 'js/dojo-1.7.2/dojox/embed/Object.js')
| -rw-r--r-- | js/dojo-1.7.2/dojox/embed/Object.js | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/js/dojo-1.7.2/dojox/embed/Object.js b/js/dojo-1.7.2/dojox/embed/Object.js new file mode 100644 index 0000000..029a4dc --- /dev/null +++ b/js/dojo-1.7.2/dojox/embed/Object.js @@ -0,0 +1,110 @@ +//>>built +define("dojox/embed/Object", [ + "dojo/_base/kernel", + "dojo/_base/declare", // dojo.declare + "dojo/dom-geometry", + "dijit/_Widget", + "./Flash", + "./Quicktime" +], function (dojo, declare, domGeometry, _Widget, Flash, Quicktime) { +dojo.experimental("dojox.embed.Object"); + +return dojo.declare("dojox.embed.Object", _Widget, { + // summary: + // A widget you can use to embed either a Flash or Quicktime + // movie. + // + // example: + // From markup: + // | <div dojoType="dojox.embed.Object" src="path/to/movie.swf"></div> + // + // example: + // Programmatic: + // | var mov=new dojox.embed.Object({ + // | src: "path/to/movie.swf" + // | }, node); + // + // width: Number? + // The width of the movie. If not provided, the width of this.domNode is used. + // height: Number? + // The height of the movie. If not provided, the height of this.domNode is used. + // src: String + // The URL of the movie to embed. + // movie: HTMLEmbed + // The eventual reference to the movie embedded. If you are looking to script + // control over the movie, you'd access it this way. + // params: Object + // A property bag that is created postCreate. Any additional attributes you + // define on your domNode will be collected and placed into this, which will + // then be passed to the movie constructor. + // reFlash: RegExp + // Expression used on the src property to determine if this is Flash or Quicktime. + // reQtMovie: RegExp + // Expression used on the src property to determine if this is Flash or Quicktime. + // reQtAudio: RegExp + // Expression used on the src property to determine if this is Flash or Quicktime. + + width: 0, + height: 0, + src: "", + movie: null, + params: null, + + reFlash: /\.swf|\.flv/gi, + reQtMovie: /\.3gp|\.avi|\.m4v|\.mov|\.mp4|\.mpg|\.mpeg|\.qt/gi, + reQtAudio:/\.aiff|\.aif|\.m4a|\.m4b|\.m4p|\.midi|\.mid|\.mp3|\.mpa|\.wav/gi, + + postCreate: function(){ + // summary + // Constructs the movie and places it in the document. + if(!this.width || !this.height){ + // get the width and height from the domNode + var box=domGeometry.getMarginBox(this.domNode); + this.width=box.w, this.height=box.h; + } + + // the default embed constructor. + var em=Flash; + + // figure out what kind of movie this is. + if(this.src.match(this.reQtMovie) || this.src.match(this.reQtAudio)){ + em=Quicktime; + } + + // loop through any attributes and set up our params object. + if(!this.params){ + this.params={}; + if(this.domNode.hasAttributes()){ + // ignore list + var ignore = { + dojoType: "", + width: "", + height: "", + "class": "", + style: "", + id: "", + src: "" + }; + + var attrs=this.domNode.attributes; + for(var i=0, l=attrs.length; i<l; i++){ + if(!ignore[attrs[i].name]){ + this.params[attrs[i].name]=attrs[i].value; + } + } + } + } + + // set up our arguments. + var kwArgs={ + path: this.src, + width: this.width, + height: this.height, + params: this.params + }; + + // set up the movie. + this.movie=new (em)(kwArgs, this.domNode); + } +}); +}); |
