<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.runerealm.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-smwlistsfull-core.js</id>
	<title>MediaWiki:Gadget-smwlistsfull-core.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.runerealm.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-smwlistsfull-core.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-smwlistsfull-core.js&amp;action=history"/>
	<updated>2026-04-11T05:10:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-smwlistsfull-core.js&amp;diff=42216&amp;oldid=prev</id>
		<title>Alex at 11:06, 20 October 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-smwlistsfull-core.js&amp;diff=42216&amp;oldid=prev"/>
		<updated>2024-10-20T11:06:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-smwlistsfull-core.js&amp;amp;diff=42216&amp;amp;oldid=846&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-smwlistsfull-core.js&amp;diff=846&amp;oldid=prev</id>
		<title>Alex: Created page with &quot;// &lt;nowiki&gt; var SMW_TEMPLATES = [ 	{ name: &#039;Drop sources (without RDT)&#039;, template: &#039;Drop sources&#039;, short: &#039;drops&#039; }, 	{ name: &#039;Drop sources&#039;, template: &#039;Drop sources&#039;, short: &#039;dropsrdt&#039;, extra_params: &#039;|incrdt=y&#039; }, 	{ name: &#039;Store locations&#039;, template: &#039;Store locations list&#039;, short: &#039;stores&#039; }, 	{ name: &#039;Products&#039;, template: &#039;Uses material list&#039;, short: &#039;products&#039; }, 	{ name: &#039;Facilities&#039;, template: &#039;Uses facility list&#039;, short: &#039;facilities&#039; }, 	{ name: &#039;Tools&#039;, template...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-smwlistsfull-core.js&amp;diff=846&amp;oldid=prev"/>
		<updated>2024-10-13T00:30:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;// &amp;lt;nowiki&amp;gt; var SMW_TEMPLATES = [ 	{ name: &amp;#039;Drop sources (without RDT)&amp;#039;, template: &amp;#039;Drop sources&amp;#039;, short: &amp;#039;drops&amp;#039; }, 	{ name: &amp;#039;Drop sources&amp;#039;, template: &amp;#039;Drop sources&amp;#039;, short: &amp;#039;dropsrdt&amp;#039;, extra_params: &amp;#039;|incrdt=y&amp;#039; }, 	{ name: &amp;#039;Store locations&amp;#039;, template: &amp;#039;Store locations list&amp;#039;, short: &amp;#039;stores&amp;#039; }, 	{ name: &amp;#039;Products&amp;#039;, template: &amp;#039;Uses material list&amp;#039;, short: &amp;#039;products&amp;#039; }, 	{ name: &amp;#039;Facilities&amp;#039;, template: &amp;#039;Uses facility list&amp;#039;, short: &amp;#039;facilities&amp;#039; }, 	{ name: &amp;#039;Tools&amp;#039;, template...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// &amp;lt;nowiki&amp;gt;&lt;br /&gt;
var SMW_TEMPLATES = [&lt;br /&gt;
	{ name: &amp;#039;Drop sources (without RDT)&amp;#039;, template: &amp;#039;Drop sources&amp;#039;, short: &amp;#039;drops&amp;#039; },&lt;br /&gt;
	{ name: &amp;#039;Drop sources&amp;#039;, template: &amp;#039;Drop sources&amp;#039;, short: &amp;#039;dropsrdt&amp;#039;, extra_params: &amp;#039;|incrdt=y&amp;#039; },&lt;br /&gt;
	{ name: &amp;#039;Store locations&amp;#039;, template: &amp;#039;Store locations list&amp;#039;, short: &amp;#039;stores&amp;#039; },&lt;br /&gt;
	{ name: &amp;#039;Products&amp;#039;, template: &amp;#039;Uses material list&amp;#039;, short: &amp;#039;products&amp;#039; },&lt;br /&gt;
	{ name: &amp;#039;Facilities&amp;#039;, template: &amp;#039;Uses facility list&amp;#039;, short: &amp;#039;facilities&amp;#039; },&lt;br /&gt;
	{ name: &amp;#039;Tools&amp;#039;, template: &amp;#039;Uses tool list&amp;#039;, short: &amp;#039;tools&amp;#039; }&lt;br /&gt;
];&lt;br /&gt;
function find_short(x) {&lt;br /&gt;
	return SMW_TEMPLATES.find(function(el){return el.short === x});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var $dmlfForm, $dmlfOut, typeSelect, txtField, submitButton;&lt;br /&gt;
&lt;br /&gt;
function submit() {&lt;br /&gt;
	var val = txtField.getValue(), smw_type = typeSelect.findSelectedItem();&lt;br /&gt;
	val = String(val).trim();&lt;br /&gt;
	if (val.length === 0) {&lt;br /&gt;
		$dmlfOut.text(&amp;#039;Please enter an item name&amp;#039;).addClass(&amp;#039;smw-list-error&amp;#039;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	if (smw_type === null) {&lt;br /&gt;
		$dmlfOut.text(&amp;#039;Please select a list type&amp;#039;).addClass(&amp;#039;smw-list-error&amp;#039;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	smw_type = smw_type.getData();&lt;br /&gt;
	console.log(smw_type);&lt;br /&gt;
	var smw_data = find_short(smw_type);&lt;br /&gt;
	if (smw_data === undefined) {&lt;br /&gt;
		$dmlfOut.text(&amp;#039;Something went wrong, please refresh and try again (ERR: no smw_type)&amp;#039;).addClass(&amp;#039;smw-list-error&amp;#039;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	$dmlfOut.text(&amp;#039;Loading...&amp;#039;).removeClass(&amp;#039;smw-list-error&amp;#039;);&lt;br /&gt;
	var extra_params = smw_data.extra_params === undefined ? &amp;#039;&amp;#039; : smw_data.extra_params;&lt;br /&gt;
	$.getJSON(&amp;#039;/api.php&amp;#039;, {&lt;br /&gt;
		format: &amp;#039;json&amp;#039;,&lt;br /&gt;
		action: &amp;#039;parse&amp;#039;,&lt;br /&gt;
		text: &amp;#039;{{&amp;#039;+smw_data.template+&amp;#039;|&amp;#039; + val + &amp;#039;|limit=10000&amp;#039;+extra_params+&amp;#039;}}&amp;#039;,&lt;br /&gt;
		title: val,&lt;br /&gt;
		disablelimitreport: true,&lt;br /&gt;
		contentmodel: &amp;#039;wikitext&amp;#039;&lt;br /&gt;
	}, function (data) {&lt;br /&gt;
		var $html = $(data.parse.text[&amp;#039;*&amp;#039;]);&lt;br /&gt;
		var $tbl = $html.find(&amp;#039;table&amp;#039;);&lt;br /&gt;
		if ($tbl.length&amp;lt;1) {&lt;br /&gt;
			$dmlfOut.addClass(&amp;#039;smw-list-error&amp;#039;).text(&amp;#039;No results found for &amp;#039; + val);&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		var intro = &amp;#039;&amp;lt;div class=&amp;quot;smw-list-intro&amp;quot;&amp;gt;Showing all &amp;#039;+($tbl.find(&amp;#039;tr&amp;#039;).length-1)+&amp;#039; results.&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
		$dmlfOut.removeClass(&amp;#039;smw-list-error&amp;#039;).empty().append(intro, $tbl);&lt;br /&gt;
		var uri = new mw.Uri(), uri2 = new mw.Uri();&lt;br /&gt;
		uri.query = { page: val, type: smw_data.short };&lt;br /&gt;
		uri2.fragment = uri.getQueryString();&lt;br /&gt;
		window.history.replaceState(window.history.state, &amp;#039;&amp;#039;, uri2.toString());&lt;br /&gt;
		if ($tbl.hasClass(&amp;#039;sortable&amp;#039;)) {&lt;br /&gt;
			$tbl.tablesorter();&lt;br /&gt;
		}&lt;br /&gt;
	}).fail(function () {&lt;br /&gt;
		$dmlfOut.addClass(&amp;#039;smw-list-error&amp;#039;).text(&amp;#039;Something went wrong when loading data&amp;#039;)&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function init() {&lt;br /&gt;
	if (!$(&amp;#039;#smw-list-full&amp;#039;).length) return;&lt;br /&gt;
	$dmlfForm = $(&amp;#039;&amp;lt;div&amp;gt;&amp;#039;).addClass(&amp;#039;smw-list-form&amp;#039;);&lt;br /&gt;
	$dmlfOut = $(&amp;#039;&amp;lt;div&amp;gt;&amp;#039;).addClass(&amp;#039;smw-list-output&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	var buttonoptions = [];&lt;br /&gt;
	for (var i=0; i&amp;lt;SMW_TEMPLATES.length; i++) {&lt;br /&gt;
		var d = SMW_TEMPLATES[i];&lt;br /&gt;
		buttonoptions.push(new OO.ui.ButtonOptionWidget({&lt;br /&gt;
			label: d.name,&lt;br /&gt;
			data: d.short&lt;br /&gt;
		}));&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	typeSelect = new OO.ui.ButtonSelectWidget({&lt;br /&gt;
		items: buttonoptions&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	txtField = new OO.ui.TextInputWidget({ placeholder: &amp;#039;Enter item name&amp;#039; });&lt;br /&gt;
	submitButton = new OO.ui.ButtonInputWidget({&lt;br /&gt;
		label: &amp;#039;Submit&amp;#039;&lt;br /&gt;
	});&lt;br /&gt;
	submitButton.on(&amp;#039;click&amp;#039;, submit);&lt;br /&gt;
	txtField.on(&amp;#039;enter&amp;#039;, submit);&lt;br /&gt;
&lt;br /&gt;
	var fieldset = new OO.ui.FieldsetLayout();&lt;br /&gt;
	fieldset.addItems([&lt;br /&gt;
		new OO.ui.FieldLayout(typeSelect, {label: &amp;#039;List to display&amp;#039;, align: &amp;#039;left&amp;#039; }),&lt;br /&gt;
		new OO.ui.FieldLayout(txtField, {label: &amp;#039;Item name&amp;#039;, align: &amp;#039;left&amp;#039; }),&lt;br /&gt;
		submitButton&lt;br /&gt;
	]);&lt;br /&gt;
	$dmlfForm.append(fieldset.$element);&lt;br /&gt;
&lt;br /&gt;
	$(&amp;#039;#smw-list-full&amp;#039;).empty().append($dmlfForm, $dmlfOut);&lt;br /&gt;
&lt;br /&gt;
	var uri = new mw.Uri();&lt;br /&gt;
	if (typeof uri.fragment === &amp;#039;string&amp;#039;) {&lt;br /&gt;
		var uri2 = new mw.Uri(uri.path + &amp;#039;?&amp;#039; + uri.fragment);&lt;br /&gt;
		var qs = $.extend({}, uri.query, uri2.query);&lt;br /&gt;
		if (qs.page &amp;amp;&amp;amp; qs.type) {&lt;br /&gt;
			txtField.setValue(qs.page);&lt;br /&gt;
			typeSelect.selectItemByData(qs.type)&lt;br /&gt;
			submit();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$(init);&lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
</feed>