Użytkownik:SH3VEK/mv.js

Z Nonsensopedii, polskiej encyklopedii humoru

Uwaga: aby zobaczyć zmiany po zapisaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5 lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer: Przytrzymaj Ctrl jednocześnie klikając Odśwież lub naciśnij klawisze Ctrl+F5
  • Konqueror: Kliknij polecenie Odśwież lub naciśnij klawisz F5
  • Opera: Wyczyść pamięć podręczną w Narzędzia → Preferencje
// Inteligentne przenoszenie strony
mw.loader.using(["jquery", "oojs-ui"], function() {
	function IPSDialog(config) {IPSDialog.super.call(this, config);}
	OO.inheritClass(IPSDialog, OO.ui.ProcessDialog);
	IPSDialog.static.name = "ipsDialog";
	IPSDialog.static.title = "Inteligentne przenoszenie strony";
	IPSDialog.static.actions = [
		{action: "move", label: "Przenieś", flags: ["primary", "constructive"]},
		{label: "Zamknij", flags: "safe"}
	];
	IPSDialog.prototype.initialize = function() {
		IPSDialog.super.prototype.initialize.apply(this, arguments);
		this.panel = new OO.ui.PanelLayout({padded: true, expanded: false});
		this.content = new OO.ui.FieldsetLayout();
		this.fromInput = new mw.widgets.TitleInputWidget();
		this.fromField = new OO.ui.FieldLayout(this.fromInput, {
			label: "Nazwa strony, którą chcesz przenieść", align: "top"
		});
		this.toInput = new OO.ui.TextInputWidget();
		this.toField = new OO.ui.FieldLayout(this.toInput, {
			label: "Nowy tytuł strony", align: "top"
		});
		
		this.content.addItems([this.fromField, this.toField]);
		this.panel.$element.append(this.content.$element);
		this.$body.append(this.panel.$element);
	};
	IPSDialog.prototype.getActionProcess = function(action) {
		var self = this;
		return IPSDialog.super.prototype.getActionProcess.call(this, action)
			.first(function() {return 1000})
			.next(function() {
				if (action == "move") self.doMove();
				else self.close({action: action});
			});
	};
	IPSDialog.prototype.doMove = function() {
		// Tu ma być kod do przeniesienia strony wraz z aktualizacją linków we wszystkich stronach linkujących do niej
	};
	
	var windowManager = new OO.ui.WindowManager();
	$( document.body ).append( windowManager.$element );
	
	var dialog = new IPSDialog();
	windowManager.addWindows([dialog]);
	
	var link = mw.util.addPortletLink("p-cactions", "#", "IPS", "ca-ips", "Inteligentne przenoszenie strony", "", "#ca-watch");
	$(link).click(function(e) {
		e.preventDefault();
		windowManager.openWindow(dialog);
	});
});