Difference between revisions of "MediaWiki:Common.js"

From Summertime Saga Wiki
Jump to: navigation, search
Line 19: Line 19:
 
var parseTags = function() {
 
var parseTags = function() {
 
// Loop through our tags
 
// Loop through our tags
$('.vid').each(function(){
+
vidTags.each(function(){
 
var elm = $(this);
 
var elm = $(this);
 
var vidId = elm.data('id');
 
var vidId = elm.data('id');
Line 27: Line 27:
 
});
 
});
 
};
 
};
 +
 +
var vidTags = $('.vid');
  
 
// Load magnificPopup if it isn't already
 
// Load magnificPopup if it isn't already
if (typeof $.magnificPopup === 'undefined') {
+
if (vidTags.length !== 0 && typeof $.magnificPopup === 'undefined') {
 
// Temporary work around due to lack of server access
 
// Temporary work around due to lack of server access
 
$.getScript('//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js', function() {
 
$.getScript('//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js', function() {
Line 35: Line 37:
 
// Load magnificPopup CSS
 
// Load magnificPopup CSS
 
headElm.append('<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css"/>');
 
headElm.append('<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css"/>');
 
// And fontawesome
 
headElm.append('<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"/>');
 
  
 
// Add our own custom CSS, again temporary
 
// Add our own custom CSS, again temporary

Revision as of 11:21, 6 February 2017

/* Any JavaScript here will be loaded for all users on every page load. */

// Test code for youtube embeds -sam9
$(function() {
	// Click handler
	$('#content').on('click', '.vid-embed', function(e) {
		e.preventDefault();

		var elm = $(this);
		$.magnificPopup.open({
			items: {
				src : elm.attr('href'),
				type : 'iframe'
			}
		});
	});

	// Main parsing function
	var parseTags = function() {
		// Loop through our tags
		vidTags.each(function(){
			var elm = $(this);
			var vidId = elm.data('id');
			var title = elm.text();

			elm.replaceWith('<a class="vid-embed" href="https://youtube.com/watch?v=' + vidId + '" target="_blank" style="background-image:url(//i.ytimg.com/vi/' + vidId + '/maxresdefault.jpg)"><span class="vid-embed-title">' + title + '</span></a>');
		});
	};

	var vidTags = $('.vid');

	// Load magnificPopup if it isn't already
	if (vidTags.length !== 0 && typeof $.magnificPopup === 'undefined') {
		// Temporary work around due to lack of server access
		$.getScript('//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js', function() {
			var headElm = $('head');
			// Load magnificPopup CSS
			headElm.append('<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css"/>');

			// Add our own custom CSS, again temporary
			headElm.append('<style type="text/css">a.vid-embed { position: relative; text-decoration: none; display: inline-block; width: 384px; height: 216px; margin-right: 10px; background-size: cover; background-position: center center; border: 1px solid #000; transition: border-color 0.15s ease-in-out; box-shadow: 0 0 10px 3px #191B26; border-radius: 2px; } a.vid-embed:hover { border-color: #777; text-decoration: none; } a.vid-embed:focus { outline: 0; } span.vid-embed-title { color: #bbb; text-align: left; margin: 8px 0 0 12px; font-size: 16px; display: block; }</style>');

			// Run our main function
			parseTags();
		});
	} else {
		// Run our main function
		parseTags();
	}
}());