MediaWiki: Common.js
From ShareRice Wiki (AFN)
| Line 69: | Line 69: | ||
} | } | ||
this.minimize = function() { | this.minimize = function() { | ||
| + | if( this.is_maximized() ) { | ||
| + | this.restorer.hide(); | ||
| + | this.embedded.width(this.widths.embedded + 'px') | ||
| + | this.embedded.height(this.heights.embedded + 'px'); | ||
| + | |||
| + | this.container.width(this.widths.container + 'px') | ||
| + | this.container.height(this.heights.container + 'px') | ||
| + | } | ||
| + | |||
this.restorer.hide(); | this.restorer.hide(); | ||
this.embedded.width(this.widths.embedded + 'px') | this.embedded.width(this.widths.embedded + 'px') | ||
Revision as of 02:17, 24 July 2011
/* Any JavaScript here will be loaded for all users on every page load. */
// Provide easy access to default values, neatly hidden in a "namespace" that SHOULDN'T conflict with any other environmental variables.
var _asianfuse = {
video_panels: {
add: function(key, val) {
if ( this.has_key(key) || val == undefined ) { return; }
this[key] = val;
},
has_key: function(key) { return(this[key] != undefined); }
},
maxWidth: 425,
minWidth: 150,
maxHeight: 350,
minHeight: 124
}
function do_resize (rand, dir) {
key = '#af-video-restore_' + rand
if ( dir == 'max') {
_asianfuse.video_panels.add(key, jQuery(key).parent().height());
jQuery('.af-video-embed_' + rand).width(_asianfuse.maxWidth + 'px');
jQuery('.af-video-embed_' + rand).height(_asianfuse.maxHeight + 'px');
// Reset the width relative to the width of the embedded video,
// because we cannot count on it's parent element's calculated width to cause this to display as expected
jQuery('#af-video-restore_' + rand).width(_asianfuse.maxWidth * 0.98 + 'px');
jQuery('#af-video-restore_' + rand).show();
} else if ( dir == 'min' ) {
jQuery('#af-video-restore_' + rand).hide();
jQuery('.af-video-embed_' + rand).width(_asianfuse.minWidth + 'px')
jQuery('.af-video-embed_' + rand).height(_asianfuse.minHeight + 'px');
jQuery(key).parent().width('150px')
if( _asianfuse.video_panels.has_key(key) ) {
jQuery(key).parent().height(_asianfuse.video_panels[key] + 'px');
}
}
}
addOnloadHook( do_resize );
video_panel = function(id, cfg) {
this.config = cfg
this.container = jQuery('#af-media-embed-container_' + id)
this.embedded = jQuery('#af-media-embed_' + id)
this.restorer = jQuery('#af-media-restore_' + id)
this.widths = { container: this.container.width(), embedded: this.embedded.width() }
this.heights = { container: this.container.height(), embedded: this.embedded.height() }
this.maximize = function() {
if( this.is_maximized() ) { return; }
this.container.width(this.config.maxWidth + 'px');
this.container.height(this.config.maxHeight + 45 + 'px');
this.embedded.width(this.config.maxWidth + 'px');
this.embedded.height(this.config.maxHeight + 'px');
// Reset the width relative to the width of the embedded video,
// because we cannot count on it's parent element's calculated width to cause this to display as expected
this.restorer.width((this.config.maxWidth * 0.98) + 'px');
this.restorer.show();
}
this.minimize = function() {
if( this.is_maximized() ) {
this.restorer.hide();
this.embedded.width(this.widths.embedded + 'px')
this.embedded.height(this.heights.embedded + 'px');
this.container.width(this.widths.container + 'px')
this.container.height(this.heights.container + 'px')
}
this.restorer.hide();
this.embedded.width(this.widths.embedded + 'px')
this.embedded.height(this.heights.embedded + 'px');
this.container.width(this.widths.container)
this.container.height(this.heights.container)
}
this.is_maximized = function() {
o = (this.container.length > 0 ? 'container' : 'embedded');
return parseInt(this[o].height()) == parseInt(this.config.maxHeight) &&
parseInt(this[o].width()) == parseInt(this.config.maxWidth);
}
}
var _asianfuse2 = {
maxWidth: 425,
maxHeight: 350,
video_panels: [],
add: function(id, config) {
this.video_panels[id] = new video_panel(id, config);
}
}