MediaWiki: Common.js
From ShareRice Wiki (AFN)
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* Any JavaScript here will be loaded for all users on every page load. */ 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.is_maximized = function() { o = (this.container.length > 0 ? 'container' : 'embedded'); return parseInt(this[o].height()) == parseInt(this.config.maxHeight + (this.container.length > 0 ? 40 : 0)) && parseInt(this[o].width()) == parseInt(this.config.maxWidth); } } // Provide easy access to default values, neatly hidden in a "namespace" that SHOULDN'T conflict with any other environmental variables. var _asianfuse2 = { maxWidth: 425, maxHeight: 350, video_panels: [], add: function(id, config) { this.video_panels[id] = new video_panel(id, config); } } function initAsianFuseVideoPanels() { jQuery('.afv').each(function(i, el) { id = el.id.split('_', 2) _asianfuse2.add(id[1], _asianfuse2); }); } addOnloadHook( initAsianFuseVideoPanels );