사용자:하늘/page.js

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
/**
 * mediawiki.api easifier
 * for Wiki Site Script
 */

/**
 * @typedef {{ any : * }} dict
 */

/**
 * @constructor
 * @param {string} title
 */
function Page(title) {
    /**
     * @type {string}
     */
    this.title = title;

    /**
     * set title
     * @param {string} title 
     */
    this.SetTitle = function (title) { this.title = title; };
    

    var mainParam = {
        format: "json", formatversion: "latest", utf8: "1"
    };

    /**
     * @param {dict} params 
     * @returns {dict}
     */
    this.MakeParam = function (params) {
        return Object.assign({}, mainParam, params);
    };

    /**
     * @param {string} to 
     * @param {string} reason 
     */
    this.Moveto = function (to, reason) {
        if (this.title === null) return;

        return new mw.Api().postWithToken('csrf', this.MakeParam({
            "action": "move",
            "from": this.title,
            "to": to,
            "reason": reason,
            "movetalk": 1,
            "noredirect": 1,
            "movesubpages": 1
        })).done(data => {
            mw.notify('이동 완료!').done(function() {
                location.href = mw.config.values.wgArticlePath.replace('$1', to)});

        }).fail(data => {
            mw.notify('이동 실패');
            console.log(data);
        });
    };
}