Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
(#wagon-configurator-slots) |
(jQuery UI Dragging Test) |
||
Line 25: | Line 25: | ||
$(this).css("background-image", 'url(' + ')'); | $(this).css("background-image", 'url(' + ')'); | ||
}); | }); | ||
+ | |||
+ | `mw.loader.load('jquery.ui').then(function(){ | ||
+ | jQuery.fn.swap = function(b){ | ||
+ | b = jQuery(b)[0]; | ||
+ | var a = this[0]; | ||
+ | var t = a.parentNode.insertBefore(document.createTextNode(''), a); | ||
+ | b.parentNode.insertBefore(a, b); | ||
+ | t.parentNode.insertBefore(b, t); | ||
+ | t.parentNode.removeChild(t); | ||
+ | return this; | ||
+ | }; | ||
+ | |||
+ | $( ".wagon-slot" ).draggable({helper: "clone"}); | ||
+ | $( ".wagon-slot" ).droppable({ | ||
+ | accept: ".wagon-slot", | ||
+ | activeClass: "ui-state-hover", | ||
+ | hoverClass: "ui-state-active", | ||
+ | drop: function(event, ui){ | ||
+ | var draggable = ui.draggable, droppable = $(this), | ||
+ | dragPos = draggable.position(), dropPos = droppable.position(); | ||
+ | draggable.swap(droppable); | ||
+ | } | ||
+ | }); | ||
+ | })` | ||
}); | }); |
Revision as of 16:43, 5 August 2021
/* Any JavaScript here will be loaded for all users on every page load. */ $(document).ready(function(){ var wagonConfiguratorList; var wagonSelection; var wagonImages = {"wagonNone" : "", "wagonBrake" : "https://unrailed-wiki.com/images/thumb/8/83/BrakeWagon_3.png/128px-BrakeWagon_3.png", "wagonBuckinator" : "https://unrailed-wiki.com/images/thumb/0/01/BuckinatorWagon_3.png/128px-BuckinatorWagon_3.png", "wagonCollector" : "https://unrailed-wiki.com/images/thumb/0/0a/CollectorWagon_3.png/128px-CollectorWagon_3.png", "wagonCompass" : "https://unrailed-wiki.com/images/thumb/8/88/CompassWagon_1.png/128px-CompassWagon_1.png", "wagonCrafter" : "https://unrailed-wiki.com/images/thumb/f/f8/CraftingWagon_3.png/128px-CraftingWagon_3.png", "wagonDynamite" : "https://unrailed-wiki.com/images/thumb/8/89/DynamiteWagon_3.png/128px-DynamiteWagon_3.png", "wagonGhost" : "https://unrailed-wiki.com/images/thumb/1/1f/GhostWagon_1.png/128px-GhostWagon_1.png", "wagonLight" : "https://unrailed-wiki.com/images/thumb/7/7a/LightWagon_2.png/128px-LightWagon_2.png", "wagonMilk" : "https://unrailed-wiki.com/images/thumb/5/59/MilkWagon_3.png/128px-MilkWagon_3.png", "wagonMiner" : "https://unrailed-wiki.com/images/thumb/a/ab/MinerWagon_3.png/128px-MinerWagon_3.png", "wagonSlots" : "https://unrailed-wiki.com/images/thumb/1/13/SlotMachineWagon_3.png/128px-SlotMachineWagon_3.png", "wagonStorage" : "https://unrailed-wiki.com/images/thumb/1/1f/StorageWagon_3.png/128px-StorageWagon_3.png", "wagonSupercharger" : "https://unrailed-wiki.com/images/thumb/7/70/SuperchargerWagon_3.png/128px-SuperchargerWagon_3.png", "wagonTank" : "https://unrailed-wiki.com/images/thumb/f/f1/TankWagon_3.png/128px-TankWagon_3.png", "wagonTransformer" : "https://unrailed-wiki.com/images/thumb/4/4b/TransformerWagon_3.png/128px-TransformerWagon_3.png"}; $('#wagon-configurator-list li').click(function(){ $(this).addClass('selected'); $(this).siblings().removeClass('selected'); }); $('#wagon-configurator-slots li.wagon-slot').click(function(){ if ($('#wagon-configurator-list li.wagonNone').hasClass('selected')){ $(this).removeClass('wagon-tank wagon-storage wagon-crafter'); } wagonConfiguratorList = $('#wagon-configurator-list li.selected')[0].classList[0]; window['wagonConfiguratorList'] = wagonConfiguratorList; $(this).css("background-image", 'url(' + wagonImages[wagonConfiguratorList] + ')'); }); $('#wagon-configurator-slots li.wagon-slot').bind('contextmenu', function(e){ e.preventDefault(); $(this).css("background-image", 'url(' + ')'); }); `mw.loader.load('jquery.ui').then(function(){ jQuery.fn.swap = function(b){ b = jQuery(b)[0]; var a = this[0]; var t = a.parentNode.insertBefore(document.createTextNode(''), a); b.parentNode.insertBefore(a, b); t.parentNode.insertBefore(b, t); t.parentNode.removeChild(t); return this; }; $( ".wagon-slot" ).draggable({helper: "clone"}); $( ".wagon-slot" ).droppable({ accept: ".wagon-slot", activeClass: "ui-state-hover", hoverClass: "ui-state-active", drop: function(event, ui){ var draggable = ui.draggable, droppable = $(this), dragPos = draggable.position(), dropPos = droppable.position(); draggable.swap(droppable); } }); })` });