Catatan: Setelah menyimpan, Anda harus memintas tembolok (cache) peramban Anda untuk melihat perubahannya. Google Chrome, Firefox, Microsoft Edge dan Safari: Tahan tombol Shift dan klik Muat ulang (Reload) di tombol bilah alat. Untuk detail dan instruksi tentang peramban lain, lihat halaman menghapus singgahan (Inggris).

/**
 * Instalasi:
 * 1. Buka [[Special:Mypage/vector.js]]
 * 2. Tambahkan kode `importScript("Pengguna:Kenrick95/online.js");`
 * 3. Simpan halaman
 * 
 * apparentlyOnline
 * - get RCFeed
 * - get list of admin
 * - see which admin is listed on RCFeed, report to a list, show as "apparently online"
 */
mw.loader.using("mediawiki.util", function () {
	function apparentlyOnline() {
		var online_sysops = [], online_sysops_msg = "Tidak ada", last_seen = [];
		var window_msg_data = null;
		var windowManager = null, messageDialog = null;
		
		
		function loadNow() {
			mw.loader.using("mediawiki.api", function () {
				var api = new mw.Api();
				var i;
				api.get({
					action: "query",
					list: "allusers|recentchanges",
					format: "json",
					rclimit: 500,
					rcprop: "user|userid|timestamp",
					rcshow: "!bot|!anon",
					augroup: "sysop",
					aulimit: 500
				})
				.done(function (data) {
					// console.log(data);
					var rc = data.query.recentchanges;
					var sysops = data.query.allusers;
					var is_sysop = {};
					for (i = 0; i < sysops.length; i++) {
						is_sysop[sysops[i].userid] = true;
					}
					for (i = 0; i < rc.length; i++) {
						if (is_sysop[rc[i].userid]) {
							if (online_sysops.indexOf(rc[i].user) < 0) {
								online_sysops.push(rc[i].user);
								last_seen.push(rc[i].timestamp);
							}
						}
					}
					// console.log(online_sysops);
					online_sysops_msg = "";
					if (online_sysops.length === 0) {
						online_sysops_msg = "Tidak ada";
					}
					for (i = 0; i < online_sysops.length; i++) {
						var time = new Date(last_seen[i]);
						online_sysops_msg += "<li><a href=\"" + mw.config.get("wgServer") + "/wiki/User:" + online_sysops[i] + "\">"
							+ online_sysops[i]
							+ "</a> (suntingan terakhir: "
							+ time.toLocaleString()
							+ ")</li>";
					}
					window_msg_data = {
					  title: 'Pengurus daring',
					  message: new OO.ui.HtmlSnippet("<div style=\"text-align:left;\">"
					  	+ "Pengurus yang daring berdasarkan 500 suntingan terakhir di perubahan terbaru:"
						+ "<br>" + online_sysops_msg + "</div> "),
					  actions: [
					    {
					      action: 'accept',
					      label: 'Tutup',
					      flags: 'primary'
					    }
					  ]
					};
					windowManager.openWindow(messageDialog, window_msg_data);
				});
			});
		}
		var link = mw.util.addPortletLink(
			'p-cactions', //p-cactions, p-tb, p-views
			'#',
			'Pengurus daring',
			't-prettylinkwidget',
			'Perlihatkan daftar pengurus yang daring',
			null,
			'#t-whatlinkshere'
		);
		
		mw.loader.using('oojs-ui', function() {
			messageDialog = new OO.ui.MessageDialog();
			windowManager = new OO.ui.WindowManager();
			$( 'body' ).append( windowManager.$element );
			windowManager.addWindows( [ messageDialog ] );
			messageDialog.setSize("large");
		});
		$(link).click(function (e) {
			e.preventDefault();
			online_sysops_msg = "Memuat...";
			loadNow();
		});
	}
	
	$(apparentlyOnline);
		
});