コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:鈴音雨/WKSpinner.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

// *************************
// @name WKSpinner
// @namespace 鈴音雨
// @author [[利用者:鈴音雨]]
// @version 0.10.11
// *************************
// このスクリプトはDragoniez氏のAN Reporterを参考にして作られています
// 解説ページ: [[利用者:鈴音雨/WKSpinner]]
// スクリプトの設定: [[利用者:鈴音雨/WKSpinner/Preferences]]
// このコードは圧縮されています!本来のコード: https://github.com/waki285/WKSpinner
//<nowiki>
/* global mw, $, OO */
/* jshint ignore:start */

"use strict";(()=>{var Rt=Object.create;var Je=Object.defineProperty;var Pt=Object.getOwnPropertyDescriptor;var At=Object.getOwnPropertyNames;var It=Object.getPrototypeOf,Nt=Object.prototype.hasOwnProperty;var Dt=(e,i)=>()=>(i||e((i={exports:{}}).exports,i),i.exports);var Lt=(e,i,a,n)=>{if(i&&typeof i=="object"||typeof i=="function")for(let o of At(i))!Nt.call(e,o)&&o!==a&&Je(e,o,{get:()=>i[o],enumerable:!(n=Pt(i,o))||n.enumerable});return e};var Mt=(e,i,a)=>(a=e!=null?Rt(It(e)):{},Lt(i||!e||!e.__esModule?Je(a,"default",{value:e,enumerable:!0}):a,e));var wt=Dt((ba,gt)=>{"use strict";gt.exports=function(i,a){for(var n=i.split("."),o=a.split("."),w=0;w<3;w++){var m=Number(n[w]),v=Number(o[w]);if(m>v)return 1;if(v>m)return-1;if(!isNaN(m)&&isNaN(v))return 1;if(isNaN(m)&&!isNaN(v))return-1}return 0}});var ve="0.10.11",N="WKSpinner",re="Wikipedia:削除依頼/",Ae="利用者:鈴音雨/WKSpinner/Preferences",Qe="利用者:鈴音雨/WKSpinner/Debug",ne="userjs-wkspinner",xe="userjs-wkspinner-version",U=" ([[利用者:鈴音雨/WKSpinner|"+N+"]]使用)",K='(<a href="/wiki/利用者:鈴音雨/WKSpinner" target="_blank">'+N+"</a>使用)",Ze="/wiki/利用者:鈴音雨/WKSpinner#リリースノート",Oe="p-wks",Xe="WK",ie="WKSPINNER_ISSUE_TEMPLATE_AREA",ge={disableMobile:!1,prefLinkInToolbar:!0,useIndividualPortlet:!1,versionNotify:"all",timezone:"UTC",historyTimeFormat:"(\\d{4})年(\\d{1,2})月(\\d{1,2})日 \\((.)\\) (\\d{2}):(\\d{2})|YMDWHm",mi:{enabled:!0,enableMobile:!0,default:{summary:"+$t"}},csd:{enabled:!0,enableMobile:!0,default:{summary:"+sd"}},csrd:{enabled:!0,enableMobile:!0,default:{summary:"+srd"}},skj:{enabled:!0,enableMobile:!0,default:{opv:"",summaryTemplate:"+Sakujo",summarySubmit:"削除依頼",summaryNote:"削除依頼の追加"},opvPresets:[{name:"削除",value:"{{AFD|削除}} 依頼者票。"},{name:"版指定削除",value:"{{AFD|版指定削除}} 依頼者票。"},{name:"なし",value:"依頼者票はありません。"}],signReason:!1},editCount:{enabled:!1,enableMobile:!1},warn:{enabled:!0,enableMobile:!0,default:{summary:"+{{$t}}"}},rfp:{enabled:!0,enableMobile:!0,default:{summaryTemplate:"+保護依頼",summarySubmit:"+$p"}}},we=[{type:"全般",name:"全般1",num:1,shortDesc:"内容が全く意味を持たないページ(意味不明な書き込み)",params:[],blank:!1},{type:"全般",name:"全般2",num:2,shortDesc:"投稿テストと思われるもの",params:[],blank:!1},{type:"全般",name:"全般3",num:3,shortDesc:"荒らしに分類される投稿",params:[],blank:!1},{type:"全般",name:"全般4",num:4,shortDesc:"宣伝・広告が目的であるページ",params:[{id:2,type:"input",name:"「露骨な宣伝・広告のみが目的」と判断される根拠",placeholder:"特売情報を前面に出しており、 出典も当該店の広告チラシへのリンクとなっている。",required:!0}],blank:!1},{type:"全般",name:"全般5",num:5,shortDesc:"削除されたページの改善なき再作成",params:[{id:2,type:"input",name:"過去の削除依頼",placeholder:"ほげほげ",required:!0}],blank:!1},{type:"全般",name:"全般6",num:6,shortDesc:"ウィキペディア内のコピペによる作成",params:[{id:2,type:"input",name:"コピペ元のページ",placeholder:"ほげほげ",required:!0},{id:3,type:"input",name:"言語コード(JAWPの場合不要)",placeholder:"en",required:!1}],blank:!0},{type:"全般",name:"全般8",num:8,shortDesc:"初版投稿者による依頼または白紙化",params:[],blank:!1},{type:"全般",name:"全般9",num:9,shortDesc:"著作権侵害が明白であると判断されるもの",params:[{id:2,name:"侵害元のページ",type:"input",placeholder:"https://example.com/hogehoge",required:!0}],blank:!0},{type:"全般",name:"全般10",num:10,shortDesc:"特定の荒らし利用者が作成したページ",params:[{id:2,name:"荒らし利用者",type:"select",choices:[{name:"未指定",id:"null"},{name:"Ellsiemall系 (LTA:ELLS) (カテゴリのみ)",id:"ellsiemall"},{name:"ヒースロー系 (LTA:HEATHROW)",id:"heathrow"},{name:"Hightechodap系 (LTA:HGTCHDP)",id:"hightechodap"}],required:!0}],blank:!1},{type:"記事",name:"記事1",num:1,shortDesc:"定義になっていない、あるいは文章になっていないもの",params:[{id:2,name:"定義なしと判断される理由",type:"input",placeholder:"数値データ表のみの記載で、定義となる説明文が一切ない",required:!0}],blank:!1},{type:"リダイレクト",name:"リダイレクト1-1",num:1.1,shortDesc:"直接関係のないページへのリダイレクト",params:[],blank:!1},{type:"リダイレクト",name:"リダイレクト1-2",num:1.2,shortDesc:"単純なタイプミスなど明らかな書き誤りのもの",params:[{id:2,name:"書き誤り箇所",type:"input",placeholder:"ニが漢字の二",required:!0}],blank:!1},{type:"リダイレクト",name:"リダイレクト1-3",num:1.3,shortDesc:"転送先がないリダイレクト",params:[],blank:!1},{type:"リダイレクト",name:"リダイレクト1-4",num:1.4,shortDesc:"他言語版へのリダイレクト",params:[],blank:!1},{type:"リダイレクト",name:"リダイレクト2-1",num:2.1,shortDesc:"全角と半角の使い分けに反するリダイレクト",params:[{id:2,name:"全角と半角の使い分けに反する箇所",type:"input",placeholder:"全角数字8",required:!0}],blank:!1},{type:"リダイレクト",name:"リダイレクト2-2",num:2.2,shortDesc:"作品名を鍵括弧等でくくったもの",params:[],blank:!1},{type:"リダイレクト",name:"リダイレクト2-3",num:2.3,shortDesc:"記事名が作品名でない場合における読み等の併記",params:[],blank:!1},{type:"リダイレクト",name:"リダイレクト2-5",num:2.5,shortDesc:"曖昧さ回避の括弧の付け方に反するリダイレクト",params:[{id:2,name:"曖昧さ回避の括弧の付け方に反する箇所",type:"input",placeholder:"括弧が全角丸括弧になっている",required:!0}],blank:!1},{type:"リダイレクト",name:"リダイレクト2-6",num:2.6,shortDesc:"人名の表記についての慣例に反するリダイレクト",params:[],blank:!1},{type:"リダイレクト",name:"リダイレクト4",num:4,shortDesc:"唯一の投稿者による移動の残骸で本人依頼のもの",params:[],blank:!1},{type:"ファイル",name:"ファイル1-2",num:1.2,shortDesc:"ウィキメディア・コモンズからのコピー",params:[{id:2,name:"コモンズのファイル名",type:"input",placeholder:"commons-file.png",required:!0}],blank:!1},{type:"ファイル",name:"ファイル1-3",num:1.3,shortDesc:"他プロジェクト由来のファイル",params:[{id:2,name:"コモンズのファイル名",type:"input",placeholder:"commons-file.png",required:!0}],blank:!1},{type:"ファイル",name:"ファイル1-4",num:1.4,shortDesc:"JAWPと同一の投稿者によって投稿されたファイル",params:[{id:2,name:"コモンズのファイル名",type:"input",placeholder:"commons-file.png",required:!0}],blank:!1},{type:"ファイル",name:"ファイル1-5",num:1.5,shortDesc:"ウィキメディア・コモンズへコピーされたファイル",params:[{id:2,name:"コモンズのファイル名",type:"input",placeholder:"commons-file.png",required:!0}],blank:!1},{type:"ファイル",name:"ファイル3",num:3,shortDesc:"重複ファイル",params:[{id:2,name:"重複ファイル名",type:"input",placeholder:"file.png",required:!0}],blank:!1},{type:"ファイル",name:"ファイル5",num:5,shortDesc:"著作権不明なファイル(投稿者に通知済み)",params:[{id:2,name:"投稿者への通知場所",type:"input",placeholder:"利用者―会話:Example",required:!0}],blank:!1},{type:"ファイル",name:"ファイル6",num:6,shortDesc:"著作権侵害が明白であると判断されるもの",params:[{id:2,name:"自由利用ができない根拠",type:"input",placeholder:"画像に著作権保護のマークが入っている",required:!0}],blank:!1},{type:"ファイル",name:"ファイル7",num:7,shortDesc:"コモンズのファイルページ",params:[],blank:!1},{type:"ファイル",name:"ファイル8",num:8,shortDesc:"存在しないファイルのファイルページ",params:[],blank:!1},{type:"ファイル",name:"ファイル9",num:9,shortDesc:"初版投稿者による即時削除貼り付け",params:[],blank:!1},{type:"カテゴリ",name:"カテゴリ1",num:1,shortDesc:"初版から他のページへのリダイレクト",params:[],blank:!1},{type:"カテゴリ",name:"カテゴリ3",num:3,shortDesc:"私的カテゴリ",params:[],blank:!1},{type:"カテゴリ",name:"カテゴリ6",num:6,shortDesc:"合意により空カテゴリになったもの",params:[{id:2,name:"合意の場所",type:"input",placeholder:"プロジェクト:カテゴリ関連/議論/20xx年/x月x日#議論セクション",required:!0}],blank:!1},{type:"利用者ページ",name:"利用者ページ1",num:1,shortDesc:"本人希望",params:[],blank:!0},{type:"利用者ページ",name:"利用者ページ2",num:2,shortDesc:"存在しない利用者",params:[],blank:!1},{type:"利用者ページ",name:"利用者ページ3",num:3,shortDesc:"IP利用者の利用者ページ",params:[],blank:!1}],Te=[{type:"1",name:"1-1",shortDesc:"荒らしによる著作権侵害・ライセンス問題",params:[{id:3,name:"著作権侵害の詳細",type:"input",placeholder:"https://example.com/hogehoge からの転載",required:!0}]},{type:"1",name:"1-2",shortDesc:"荒らしによるプライバシー侵害問題",params:[{id:3,name:"プライバシー侵害の詳細",type:"input",placeholder:"非公開氏名と電話番号の記載",required:!0}]},{type:"1",name:"1-3",shortDesc:"荒らしによる名誉毀損問題",params:[{id:3,name:"名誉毀損問題の詳細",type:"input",placeholder:"冒頭に虚偽の逮捕歴の記載",required:!0}]},{type:"2",name:"2",shortDesc:"パスワード公開",params:[]}],z=[{name:"出典の明記",id:"cite",params:[],aliases:["references","unreferenced","refimprove","出典明記","unref","出典なし"]},{name:"存命人物の出典明記",id:"cite-living",params:[],aliases:["blpsources","blp sources"]},{name:"存命人物の出典皆無",id:"cite-living-no",params:[],aliases:["blp unsourced"]},{name:"参照方法",id:"ref",params:[],aliases:["citation style"]},{name:"脚注の不足",id:"ref-lack",params:[],aliases:["more footnotes"]},{name:"未検証",id:"unverified",params:[],aliases:["not verified"]},{name:"単一の出典",id:"single",params:[],aliases:["one source","onesource","single source","singlesource","唯一の出典"]},{name:"一次資料",id:"primary",params:[],aliases:["一次資料のみ","primary sources"]},{name:"精度",id:"cite-accuracy",params:[]},{name:"更新",id:"update",params:[],aliases:["update","同期","sync"]},{name:"大言壮語",id:"boast",params:[]},{name:"観点",id:"view",params:[],aliases:["pov","npov","中立的な観点","中立","coi"]},{name:"独自研究",id:"research",params:[],aliases:["original research","独自の研究","独自調査"]},{name:"正確性",id:"accuracy",params:[],aliases:["disputed"]},{name:"要改訳",id:"translation",params:[]},{name:"言葉を濁さない",id:"vague",params:[],aliases:["weasel"]},{name:"特筆性",id:"notable",params:[{name:"分野",oneName:null,id:"genre",type:"select",choices:[{name:"未指定",id:"null"},{name:"ウェブ",id:"web"},{name:"音楽",id:"music"},{name:"書籍",id:"book"},{name:"人物",id:"person"},{name:"組織",id:"organization"},{name:"フィクション",id:"fiction"}],required:!1}],aliases:["notability","著名性"]},{name:"国際化",id:"i18n",params:[{name:"領域",id:"area",type:"input",required:!1}],aliases:["globalize","グローバル","worldwideview"]},{name:"宣伝",id:"advert",params:[],aliases:["advert","ad"]},{name:"孤立",id:"orphan",params:[],aliases:["orphan"]},{name:"Wikify",id:"wikify",params:[]},{name:"雑多な内容の箇条書き",id:"list",params:[],aliases:["雑多","trivia"]},{name:"内容過剰",id:"excessive",params:[]},{name:"画像過剰",id:"image",params:[]},{name:"物語世界内の観点",id:"fictional",params:[],aliases:["in-universe"]}],le=[{name:"Welcome",description:"新規利用者への歓迎",hasTitle:!1,defaultTitle:"ウィキペディアへようこそ!",params:[],category:"ようこそ"},{name:"アカウント作成のお願い",description:"よく活動してるIPユーザーにアカウント作成を促す案内",hasTitle:!1,defaultTitle:"アカウント作成のお願い",params:[],category:"ようこそ",nosubst:!0},{name:"Test0",description:"テキストを消してしまった場合の案内",hasTitle:!1,defaultTitle:"ご案内",params:[{type:"input",name:"項目名",id:"1",required:!1,placeholder:"ほげほげ"},{type:"input",name:"追加メッセージ",id:"2",required:!1,placeholder:"「ご参照ください。」の後ろのメッセージ"}],category:"Test (一般的なテストもしくは荒らし)"},{name:"Selftest",description:"テスト投稿を自分で差し戻した人に対しての案内",hasTitle:!1,defaultTitle:"ご案内",params:[],category:"Test (一般的なテストもしくは荒らし)"},{name:"Test1",description:"テスト投稿の案内",hasTitle:!1,defaultTitle:"ご案内",params:[{type:"input",name:"項目名",id:"1",required:!1,placeholder:"ほげほげ"}],category:"Test (一般的なテストもしくは荒らし)"},{name:"Test2",description:"荒らしの注意 (もしくはTestで注意後)",hasTitle:!1,defaultTitle:"注意",params:[{type:"input",name:"項目名",id:"1",required:!1,placeholder:"ほげほげ"}],category:"Test (一般的なテストもしくは荒らし)"},{name:"Test2a",description:"白紙化や記述除去荒らしの注意",hasTitle:!1,defaultTitle:"注意",params:[{type:"input",name:"項目名",id:"1",required:!1,placeholder:"ほげほげ"}],category:"Test (一般的なテストもしくは荒らし)"},{name:"Test3",description:"荒らしの警告",hasTitle:!1,defaultTitle:"警告",params:[{type:"input",name:"項目名",id:"1",required:!1,placeholder:"ほげほげ"}],category:"Test (一般的なテストもしくは荒らし)"},{name:"Test4",description:"荒らし行為への最後の警告",hasTitle:!1,defaultTitle:"最終警告",params:[{type:"input",name:"項目名",id:"1",required:!1,placeholder:"ほげほげ"}],category:"Test (一般的なテストもしくは荒らし)"},{name:"Preview",description:"プレビューの案内",hasTitle:!0,params:[{type:"input",name:"何回目?",id:"1",required:!1,placeholder:"3回目"}],category:"一括投稿・プレビュー"},{name:"PreviewMobile",description:"プレビューの案内 (モバイル)",hasTitle:!0,params:[{type:"input",name:"何回目?",id:"1",required:!1,placeholder:"3回目"}],category:"一括投稿・プレビュー"},{name:"一括",description:"一括投稿の案内",hasTitle:!0,params:[{type:"input",name:"何回目?",id:"1",required:!1,placeholder:"3回目"}],category:"一括投稿・プレビュー"},{name:"一括Preview",description:"一括投稿とプレビュー案内の組み合わせ",hasTitle:!0,params:[{type:"input",name:"何回目?",id:"1",required:!1,placeholder:"3回目"}],category:"一括投稿・プレビュー"},{name:"Sign",description:"署名の案内",hasTitle:!0,params:[],category:"コミュニケーション関係"},{name:"個人攻撃",description:"利用者に対する個人攻撃の警告",hasTitle:!0,params:[],category:"コミュニケーション関係"},{name:"編集合戦",description:"編集合戦への警告",hasTitle:!1,defaultTitle:"編集合戦はおやめください",params:[],category:"コミュニケーション関係"},{name:"Notchat",description:"ノートページで私的な会話を続ける利用者に対する注意",hasTitle:!0,params:[{type:"input",name:"ページ名",id:"1",required:!1,placeholder:"利用者‐会話:ウィキ助"}],category:"コミュニケーション関係"},{name:"Spam",description:"宣伝投稿への注意",hasTitle:!0,params:[{type:"input",name:"冒頭文",id:"1",required:!1,placeholder:"あなたの[[記事]]における編集を拝見致しました。"}],category:"投稿内容関係"},{name:"対話拒否",description:"対話を拒否する利用者への警告",hasTitle:!1,defaultTitle:"対話拒否はおやめください",params:[{type:"input",name:"対話拒否を行ったページ",id:"1",required:!1,placeholder:"ノート:ほげほげ"}],category:"コミュニケーション関係"},{name:"荒らしの差し戻し",description:"過剰な荒らしの差し戻しに対する警告",hasTitle:!0,params:[{type:"input",name:"差し戻しを繰り返したページ",id:"1",required:!1,placeholder:"ほげほげ"},{type:"input",name:"何回目?",id:"nth",required:!1,placeholder:"3"}],category:"投稿内容関係"},{name:"ご自身の記事",description:"利用者自身の記事の作成・編集に対する注意 (確信がない場合)",hasTitle:!0,params:[{type:"input",name:"編集したページ",id:"1",required:!0,placeholder:"ほげほげ"}],category:"投稿内容関係"},{name:"ご自身の記事2",description:"利用者自身の記事の作成に対する注意 (明白な場合)",hasTitle:!0,params:[{type:"input",name:"作成したページ",id:"1",required:!0,placeholder:"ほげほげ"}],category:"投稿内容関係"},{name:"機械翻訳の濫用",description:"機械翻訳の濫用に対する注意",hasTitle:!0,params:[{type:"input",name:"翻訳されたページ",id:"1",required:!0,placeholder:"ほげほげ"},{type:"input",name:"使用された機械翻訳 (推定)",id:"2",required:!0,placeholder:"Google翻訳",defaultValue:"Google翻訳"},{type:"input",name:"不自然な表現の例",id:"3",required:!0,placeholder:"「アルコール使用は主に男の人口の間で高かった」「急いで混雑していました」"},{type:"input",name:"全般8 (初版投稿者依頼 )が適用可能→1、削除依頼提出済み→2を入力",id:"4",required:!1,placeholder:"2"},{type:"input",name:"削除依頼ページ",id:"5",required:!1,placeholder:"[[Wikipedia:削除依頼/記事名]]"}],category:"投稿内容関係"},{name:"発言改竄",description:"発言改竄に対する注意",hasTitle:!0,params:[{type:"input",name:"改竄されたページ",id:"1",required:!0,placeholder:"ほげほげ"}],category:"コミュニケーション関係"},{name:"丸写し",description:"主に外部サイトからの丸写しの注意",hasTitle:!0,params:[{type:"input",name:"丸写しされた記事名",id:"1",required:!0,placeholder:"ほげほげ"},{type:"input",name:"コピー元",id:"2",required:!0,placeholder:"[URL ページ名]"},{type:"input",name:"削除依頼提出済み→削除依頼サブページ名、全般9→「即時削除」を入力",id:"3",required:!1,placeholder:"ほげほげ"}],category:"投稿内容関係"},{name:"スタブ未満作成停止のお願い",description:"短すぎる記事作成の繰り返しの注意",hasTitle:!0,params:[{type:"input",name:"何回目?",id:"1",required:!1,placeholder:"3回目"}],category:"投稿内容関係"},{name:"削除依頼タグ除去",description:"削除依頼タグの除去に対する注意",hasTitle:!0,params:[{type:"input",name:"削除依頼タグが除去されたページ",id:"1",required:!0,placeholder:"ほげほげ"}],category:"削除関係"},{name:"記述除去",description:"記述の無断除去に対する注意",hasTitle:!0,params:[{type:"input",name:"除去されたページ",id:"1",required:!1,placeholder:"ほげほげ"}],category:"投稿内容関係"},{name:"翻訳継承",description:"翻訳継承ができていない場合の案内",hasTitle:!0,params:[{type:"input",name:"翻訳されたページ",id:"1",required:!0,placeholder:"ほげほげ"},{type:"input",name:"翻訳元",id:"2",required:!0,placeholder:"[[:en:Main_Page]]"},{type:"input",name:"削除依頼提出済み→1、削除依頼提出をお願い→2を入力",id:"3",required:!1,placeholder:"1"},{type:"input",name:"削除依頼ページ",id:"4",required:!1,placeholder:"[[Wikipedia:削除依頼/記事名]]"}],category:"投稿内容関係"},{name:"不当な即時削除タグ除去",description:"即時削除タグの不当な除去の繰り返しに対する注意",hasTitle:!0,params:[{type:"input",name:"ページ名",id:"1",required:!0,placeholder:"ほげほげ"}],category:"削除関係"},{name:"即時削除の乱用",description:"即時削除の乱用に対する注意",hasTitle:!0,params:[],category:"削除関係"},{name:"出典提示のお願い",description:"出典を明記しない利用者に対する注意",hasTitle:!0,params:[{type:"input",name:"ページ名",id:"1",required:!1,placeholder:"ほげほげ"}],category:"投稿内容関係"},{name:"特筆性のない記事の作成停止のお願い",description:"特筆性のない記事の作成の繰り返しの注意",hasTitle:!0,params:[{type:"input",name:"何回目?",id:"1",required:!1,placeholder:"3回目"}],category:"投稿内容関係"},{name:"Image copyright",description:"著作権の状態が不明な画像のアップロードに対する注意",hasTitle:!0,params:[{type:"input",name:"画像名",id:"1",required:!0,placeholder:"ほげほげ.png"}],category:"画像の著作権"},{name:"Image pubart",description:"屋外美術画像のアップロード方針違反に対する注意",hasTitle:!0,params:[{type:"input",name:"画像名",id:"1",required:!0,placeholder:"ほげほげ.png"}],category:"画像の著作権"},{name:"Image source",description:"画像の出典・ライセンス明記を求める注意",hasTitle:!0,params:[{type:"input",name:"画像名",id:"1",required:!0,placeholder:"ほげほげ.png"}],category:"画像の著作権"},{name:"Image URAA",description:"日本で著作権が消滅し米国で著作権がある画像方針違反に対する注意",hasTitle:!0,params:[{type:"input",name:"画像名",id:"1",required:!0,placeholder:"ほげほげ.png"}],category:"画像の著作権"},{name:"メールを送りました",description:"ウィキメール送信の通知",hasTitle:!1,defaultTitle:"ウィキメールを送りました",params:[{type:"input",name:"件名",id:"subject",required:!1,placeholder:"ほげほげ"}],category:"その他",nosubst:!0}],X={unknownerror:"不明なエラーが発生しました。",protectednamespace:"保護された名前空間に対する編集はできません。",protectedpage:"保護されたページに対する編集はできません。",blocked:"あなたはブロックされているため、編集できません。",autoblocked:"あなたのIPアドレスがブロックされているため、編集できません。",ratelimited:"編集の頻度が高すぎます。しばらく待ってから再度編集してください。",missingtitle:"ページが存在しません。",spamdetected:"スパムの可能性がある編集が検出されました。","abusefilter-disallowed":"編集がフィルターによってブロックされました。",noedit:"編集が許可されていません。",pagedeleted:"ページが削除されました。",editconflict:"編集が競合しました。ページを再読み込みしてから再度編集してください。"},et=new Map([[0,"記事"],[2,"利用者ページ"],[6,"ファイル"],[14,"カテゴリ"]]),Ie=/w\/index\.php\?title=(.+?)(&action=edit)?&redlink=1/,Ce=new Map([["UTC",0],["JST",9]]);var se=e=>new Promise(i=>setTimeout(i,e)),fe;function C(e,i){i===void 0&&(i="");let a=function(){if(e==="load"||e==="check"||e==="cross"||e==="cancel")return fe.getIcon(e);{let n=document.createElement("img");switch(e){case"gear":n.src="https://upload.wikimedia.org/wikipedia/commons/0/05/OOjs_UI_icon_advanced.svg";break;case"exclamation":n.src="https://upload.wikimedia.org/wikipedia/commons/c/c6/OOjs_UI_icon_alert-warning-black.svg";break;case"bar":n.src="https://upload.wikimedia.org/wikipedia/commons/e/e5/OOjs_UI_icon_subtract.svg";break;case"clock":n.src="https://upload.wikimedia.org/wikipedia/commons/8/85/OOjs_UI_icon_clock-progressive.svg"}return n.style.cssText="vertical-align: middle; height: 1em; border: 0;",n}}();return a.style.cssText+=i,a}async function tt(e){e===void 0&&(e=!1);let i="ext.gadget.WpLibExtra"+(e?"Dev":""),a=async function(){return mw.loader.using(i).then(function(n){return fe=n(i),typeof(fe&&fe.version)!="string"?(console.error("Failed to load library"),!1):!0}).catch(function(){let n=[];for(let o=0;o<arguments.length;o++)n[o]=arguments[o];return console.error(n),!1})};return e?mw.loader.getScript("https://test.wikipedia.org/w/load.php?modules="+i).then(a).catch(function(){let n=[];for(let o=0;o<arguments.length;o++)n[o]=arguments[o];return console.error(n),!1}):a()}function Q(e,i,a){let n=mw.config.get("skin");return mw.util.addPortletLink(n==="minerva"?"p-tb":r("useIndividualPortlet")===!0?Oe:"p-cactions","#",e,i,a)||null}function G(e){return i=>{let a=$("<div>");return a.prop("id",`wks-${e}-dialog-${i}`),a}}function he(){try{return JSON.parse(mw.user?.options?.get(ne)||JSON.stringify(ge))}catch{return console.warn(`${N}: 保存されているオプションの値が不正です。デフォルトにフォールバックします。`),ge}}function r(e){let i=e.split("."),a=he();for(let n of i)if(n in a)a=a[n];else{a=ge;for(let o of i)if(o in a)a=a[o];else return;return a}return a}var pe=new Map(z.flatMap(e=>[[e.name.toLowerCase(),e.id],..."aliases"in e?e.aliases?.map(i=>[i,e.id])??[]:[]]));function at(e){let i=/\{\{([^}]+)\}\}/g,a,n=[];for(;(a=i.exec(e))!==null;){let o=a[1].split("|").map(v=>v.trim()),w=o[0].toLowerCase().replaceAll("_"," "),m={};if(["multiple","複数の問題","multiple issues","article issues"].includes(w))o.some(f=>f.replaceAll(" ","").startsWith("section="))||o.slice(1).forEach(f=>{let[l,h]=f.split("=").map(P=>P.trim());pe.has(l.toLowerCase())?(m={name:pe.get(l.toLowerCase()),date:h},n.push(m)):m[l]=h});else if(!o.some(f=>f.replaceAll(" ","").startsWith("section="))&&pe.has(w.toLowerCase())){if((w==="精度"||w.toLowerCase()==="disputed"||w==="正確性")&&o.slice(1).filter(h=>!h.replaceAll(" ","").startsWith("date=")&&!h.replaceAll(" ","").startsWith("ソートキー=")).length>0){n.push({name:pe.get(w.toLowerCase()),date:"",dubious:"true"});continue}m={name:pe.get(w.toLowerCase()),date:""};let f=o.find(l=>l.replaceAll(" ","").startsWith("date="));f&&(m.date=f.split("=")[1].trim()),o.slice(1).forEach(l=>{let[h,P]=l.split("=").map(S=>S.trim());pe.has(h.toLowerCase())||(m[h]=P)}),n.push(m)}}return console.log(n),n}function Se(e){let i=/\{\{([^}]+)\}\}/g,a,n=e,o=!1;for(;(a=i.exec(e))!==null;){let w=a[0],m=a[1].split("|").map(f=>f.trim()),v=m[0].toLowerCase();if(["multiple","複数の問題","multiple issues","article issues"].includes(v))m.some(l=>l.replaceAll(" ","").startsWith("section="))||(o?n=n.replace(w,""):(n=n.replace(w,ie),o=!0));else if([...pe.keys()].map(f=>f.toLowerCase()).includes(v)&&!m.some(l=>l.replaceAll(" ","").startsWith("section="))){if((v==="精度"||v.toLowerCase()==="disputed"||v==="正確性")&&m.slice(1).filter(h=>!h.replaceAll(" ","").startsWith("date=")&&!h.replaceAll(" ","").startsWith("ソートキー=")).length>0)continue;o?n=n.replace(w,""):(n=n.replace(w,ie),o=!0)}}return o||(n=ie+n),n}function nt(e,i,a,n,o,w){let m=Ce.get(w);if(m===void 0)throw new Error("Invalid timezone");let v=["日","月","火","水","木","金","土"],f=new Date(Date.UTC(e,i-1,a,n-m,o)),l=f.getUTCFullYear(),h=f.getUTCMonth()+1,P=f.getUTCDate(),S=v[f.getUTCDay()],T=("0"+f.getUTCHours()).slice(-2),D=("0"+f.getUTCMinutes()).slice(-2);return`${l}${h}${P}日 (${S}) ${T}:${D}`}function it(e){let i=e.split(":")[0]||"";return mw.config.get("wgNamespaceIds")[i.toLowerCase()]}async function st(){let e=$("#wkspinner-debug-area");e.empty();let i=$("<pre>"),a=he();i.text(JSON.stringify(a)),e.append(i);let n=$("<pre>");n.text(`Version: ${ve}
Skin: ${mw.config.get("skin")}`),e.append(n)}async function ot(){let e=mw.config.get("wgNamespaceNumber"),i=et.get(e),a=mw.config.get("wgRevisionId"),n=Q("即時削除","wks-csd","即時削除テンプレートを貼り付ける");if(!n){console.warn(`${N}: メニューの作成に失敗しました。`);return}n.addEventListener("click",async o=>{o.preventDefault();let w=G("csd"),m=$("<div>");m.css("max-height","70vh").dialog({dialogClass:"wks-csd-dialog",title:`${N} - 即時削除`,resizable:!1,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}});let v=$("<div>").prop("id","wks-csd-dialog-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));m.append(v);let l=(await new mw.Api().post({action:"query",format:"json",prop:"revisions",list:"",titles:mw.config.get("wgPageName"),formatversion:"2",rvprop:"content",rvslots:"main"})).query.pages[0].revisions[0].slots.main.content;v.empty();let h=$("<fieldset>");h.prop({id:"wks-csd-dialog-optionfield",innerHTML:"<legend>即時削除テンプレートの貼付</legend>"}),v.append(h);let P=w("type"),S=$("<select>");S.prop("id","wks-csd-dialog-type-select"),S.addClass("wks-input-full");let T=we.filter(O=>O.type==="全般");for(let O of T)S.append($("<option>").prop({value:O.name,text:`${O.name}: ${O.shortDesc}`}));let D=we.filter(O=>O.type===i);if(D.length>0)for(let O of D)S.append($("<option>").prop({value:O.name,text:`${O.name}: ${O.shortDesc}`}));if(mw.config.get("wgIsRedirect")){let O=we.filter(p=>p.type==="リダイレクト");for(let p of O)S.append($("<option>").prop({value:p.name,text:`${p.name}: ${p.shortDesc}`}))}let A=w("params"),g=w("blank"),E=$("<input>").prop({id:"wks-csd-dialog-blank-checkbox",type:"checkbox"});g.append(E),g.append($("<label>").html("ページを即時削除で置き換える(元ページの内容を削除する)").prop("for","wks-csd-dialog-blank-checkbox"));let s=()=>{let O=S.val(),p=we.find(u=>u.name===O);if(A.empty(),!!p){for(let u of p.params)if(A.append($("<label>").html(`${u.name}${u.required?' <span class="wks-red">*</span>':""}`).prop("for",`wks-csd-dialog-type-params-${u.id}`)),u.type==="input")A.append($("<input>").prop({id:`wks-csd-dialog-type-params-${u.id}`,type:"text",placeholder:u.placeholder,required:u.required,class:"wks-input-full"}));else if(u.type==="select"){let d=$("<select>").prop({id:`wks-csd-dialog-type-params-${u.id}`,required:u.required});for(let c of u.choices)d.append($("<option>").prop({value:c.id,text:c.name}));A.append(d)}p.blank?E.prop("checked",!0):E.prop("checked",!1)}};s(),S.on("change",s);let x=w("comment");x.append($("<label>").html("コメント").prop("for","wks-csd-dialog-comment"));let I=$("<input>").prop({id:"wks-csd-dialog-comment",type:"text",placeholder:"コメント",class:"wks-input-full"});x.append(I);let b=w("summary");b.append($("<label>").html(`編集の要約 (指定しない場合 "+sd") "${K}" が自動付加されます`).prop("for","wks-csd-dialog-summary-input")),b.append($("<input>").prop({id:"wks-csd-dialog-summary-input",type:"text",placeholder:"+sd",class:"wks-input-full",value:r("csd.default.summary")})),P.append(S),h.append(P),h.append(A),h.append(x),h.append(g),h.append(b);let t=()=>`${e===10?"<noinclude>":mw.config.get("wgPageName").endsWith(".css")||mw.config.get("wgPageName").endsWith(".js")?"/* ":""}{{即時削除|${S.val()}${A.children().toArray().filter(O=>O.tagName==="INPUT"||O.tagName==="SELECT").map(O=>{let p=$(O).first(),u=p.val();if(S.val()==="全般10")switch(u){case"ellsiemall":u="[[LTA:ELLS]]";break;case"heathrow":u="[[LTA:HEATHROW]]";break;case"hightechodap":u="[[LTA:HGTCHDP]]";break;default:break}return`|${p.prop("id").replace("wks-csd-dialog-type-params-","")}=${u}`}).join("")}${I.val()?`|コメント=${I.val()}`:""}}}${e===10?"</noinclude>":mw.config.get("wgPageName").endsWith(".css")||mw.config.get("wgPageName").endsWith(".js")?` */
`:`
`}`+(E.prop("checked")?"":l),k=()=>($("#wks-csd-dialog-summary-input").val()||"+sd")+U,y=()=>{let O=$("<ul>"),p=S.val(),u=we.find(c=>c.name===p);if(!u)return O.append($("<li>").text("理由が選択されていません")),O;let d=u.params;for(let c of d){let W=$(`#wks-csd-dialog-type-params-${c.id}`);c.type==="input"&&c.required&&!W.val()&&O.append($("<li>").text(`${c.name}が入力されていません`)),c.type==="select"&&c.required&&(!W.val()||W.val()==="null")&&O.append($("<li>").text(`${c.name}が選択されていません`))}return O.children().length?$("<div>").append($("<p>").text("入力にエラーがあります。")).append(O):null},R=async()=>{let O=y();if(O){mw.notify(O,{type:"error"});return}let p=$("<div>").css({maxHeight:"70vh",maxWidth:"80vw"}).dialog({dialogClass:"wks-csd-dialog wks-csd-dialog-preview",title:`${N} - 即時削除プレビュー`,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}}),u=$("<div>").prop("id","wks-dialog-preview-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));p.append(u);let d=await new mw.Api().post({action:"parse",title:mw.config.get("wgPageName"),text:t(),summary:k(),prop:"text|modules|jsconfigvars",pst:!0,disablelimitreport:!0,disableeditsection:!0,disabletoc:!0,formatversion:"2"});u.empty(),d.parse.modules.length&&mw.loader.load(d.parse.modules),d.parse.modulestyles.length&&mw.loader.load(d.parse.modulestyles);let c=$("<div>").html(d.parse.parsedsummary).prop("id","wks-csd-dialog-preview-summary"),W=$("<hr>").addClass("wks-hr"),j=$("<div>").html(d.parse.text).prop("id","wks-csd-dialog-preview-div").addClass("wks-dialog-preview-div");u.append(c),u.append(W),u.append(j),p.dialog({position:{my:"center",at:"center",of:window}})},M=async()=>{let O=y();if(O){mw.notify(O,{type:"error"});return}try{let p=await new mw.Api().postWithEditToken({action:"edit",title:mw.config.get("wgPageName"),nocreate:1,text:t(),summary:k(),formatversion:"2",baserevid:a});p.edit.result==="Success"?(mw.notify("ページの編集に成功しました。"),m.dialog("close"),window.location.reload()):mw.notify("エラー: "+X[p.error?.code]||p.error?.info||o)}catch(p){mw.notify("エラー: "+X[p]||p)}};m.dialog({buttons:[{text:"実行",click:function(){return M()}},{text:"プレビュー",click:function(){return R()}},{text:"閉じる",click:function(){return m.dialog("close")}}]}),m.dialog({position:{my:"top",at:"top+5%",of:window}})})}function jt(e){e.sort((m,v)=>m[1]-v[1]);let i=new RegExp(r("historyTimeFormat").split("|")[0]);e=e.map(m=>{let[v,f,l,h,P,S,T]=m[0].match(i),D=r("historyTimeFormat").split("|")[1],L,A,g,E,s;for(let I=0;I<D.length;I++)switch(D[I]){case"Y":L=f;break;case"M":A=l;break;case"D":g=h;break;case"W":break;case"H":E=S;break;case"m":s=T;break}return[nt(parseInt(L,10),parseInt(A,10),parseInt(g,10),parseInt(E,10),parseInt(s,10),r("timezone")||"UTC"),m[1]]});let a="",n=e[0][0],o=n,w=e[0][1];for(let m=1;m<e.length;m++){let v=e[m][0],f=e[m][1];f-w>1&&(a+=n===o?n:n+"〜"+o,a+="、",n=v),o=v,w=f}return a+=n===o?n:n+"〜"+o,a+="の版",a}async function rt(){let e=mw.config.get("wgNamespaceNumber"),i=!1,a=$("<button>").prop({id:"csrd-btn",class:"cdx-button",title:"WKSpinnerを使用し即時版指定削除申請を行う",type:"button"}).text("即時版指定削除 (WKSpinner)");$(".mw-history-compareselectedversions").first().append(a);let n=mw.config.get("wgCurRevisionId");$("#csrd-btn").on("click",async o=>{if(o.preventDefault(),i)return;i=!0;let w=$("<div>").prop({id:"csrd-box",class:"wks-box",style:"margin:16px auto;"});$(".mw-history-compareselectedversions").first().after(w);let m=$("<div>").prop("id","wks-csrd-dialog-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));$("#csrd-box").append(m);let f=(await new mw.Api().post({action:"query",format:"json",prop:"revisions",list:"",titles:mw.config.get("wgPageName"),formatversion:"2",rvprop:"content",rvslots:"main"})).query.pages[0].revisions[0].slots.main.content;m.empty();let l=G("csrd"),h=$("<fieldset>");h.prop({id:"wks-csrd-dialog-optionfield",innerHTML:"<legend>即時版指定削除テンプレートの貼付</legend>",style:"margin:0;"}),$("#csrd-box").append(h),await se(100);let P=l("type"),S=$("<select>");S.prop({id:"wks-csrd-dialog-type-select",style:"font-size: 16px;"});for(let p of Te)S.append($("<option>").prop({value:p.name,text:`${p.name}: ${p.shortDesc}`}));let T=l("params"),D=()=>{let p=S.val(),u=Te.find(d=>d.name===p);if(T.empty(),!!u)for(let d of u.params)T.append($("<label>").html(`${d.name}${d.required?' <span class="wks-red">*</span>':""}`).prop("for",`wks-csrd-dialog-type-params-${d.id}`)),d.type==="input"&&T.append($("<input>").prop({id:`wks-csrd-dialog-type-params-${d.id}`,type:"text",placeholder:d.placeholder,required:d.required,style:"width: 100%; font-size: 16px;"}))};D(),S.on("change",D);let L=l("additional");L.append($("<label>").html("追加情報").prop("for","wks-csrd-dialog-additional-tb")),L.append($("<input>").prop({id:"wks-csrd-dialog-additional-tb",type:"text",placeholder:"20xx年x月x日 (x) xx:xx (UTC) の版は要約欄を含む",style:"width: 100%; font-size: 16px;"}));let A=l("comment");A.append($("<label>").html("コメント").prop("for","wks-csrd-dialog-comment"));let g=$("<input>").prop({id:"wks-csrd-dialog-comment",type:"text",placeholder:"コメント",style:"width: 100%; font-size: 16px;"});A.append(g);let E=l("summary");E.append($("<label>").html(`編集の要約 (指定しない場合 "+srd") "${K}" が自動付加されます`).prop("for","wks-csrd-dialog-summary-input")),E.append($("<input>").prop({id:"wks-csrd-dialog-summary-input",type:"text",placeholder:"+srd",style:"width: 100%; font-size: 16px;",value:r("csrd.default.summary")})),P.append(S),h.append(P),h.append(T),h.append(L),h.append(A),h.append(E),h.append($("<p>").text(r("timezone")!=="UTC"?"注意: あなたはWKSpinnerの設定でタイムゾーンをUTC以外に設定しているため、タイムゾーンが自動で補正されます。":""));let s=[],x=[];document.querySelectorAll(".mw-changeslist-date").forEach((p,u)=>{let d=c=>{c.preventDefault(),p.classList.contains("wks-revision-selected")?(s.splice(s.findIndex(W=>W[1]===u),1),p.classList.remove("wks-revision-selected")):(s.push([p.textContent,u]),p.classList.add("wks-revision-selected")),console.log(s)};p.addEventListener("click",d),x.push(d)});let I=()=>`${e===10?"<noinclude>":mw.config.get("wgPageName").endsWith(".css")||mw.config.get("wgPageName").endsWith(".js")?"/* ":""}{{即時版指定削除|${S.val()}|${jt(s)}${$("#wks-csrd-dialog-additional-tb").val()?` ${$("#wks-csrd-dialog-additional-tb").val()}`:""}${T.children().toArray().filter(p=>p.tagName==="INPUT"||p.tagName==="SELECT").map(p=>{let u=$(p).first(),d=u.val();return`|${u.prop("id").replace("wks-csrd-dialog-type-params-","")}=${d}`}).join("")}${g.val()?`|コメント=${g.val()}`:""}}}${e===10?"</noinclude>":mw.config.get("wgPageName").endsWith(".css")||mw.config.get("wgPageName").endsWith(".js")?` */
`:`
`}`+f,b=()=>($("#wks-csrd-dialog-summary-input").val()||"+sd")+U,t=$("<button>").prop({id:"wks-csrd-dialog-button",class:"cdx-button",type:"button"}).text("即時版指定削除を行う");$("#csrd-box").append(t);let k=$("<button>").prop({id:"wks-csrd-dialog-preview-button",class:"cdx-button",type:"button"}).text("プレビュー");$("#csrd-box").append(k);let y=$("<button>").prop({id:"wks-csrd-dialog-cancel-button",class:"cdx-button",type:"button"}).text("キャンセル");$("#csrd-box").append(y);let R=()=>{let p=$("<ul>"),u=S.val(),d=Te.find(c=>c.name===u);if(!d)return p.append($("<li>").text("理由が選択されていません")),p;for(let c of d.params)c.required&&($(`#wks-csrd-dialog-type-params-${c.id}`).val()||p.append($("<li>").text(`${c.name}が入力されていません`)));return s.length===0&&p.append($("<li>").text("版が選択されていません")),p.children().length?$("<div>").append($("<p>").text("入力にエラーがあります。")).append(p):null},M=async()=>{let p=R();if(p){mw.notify(p,{type:"error"});return}try{let u=await new mw.Api().postWithEditToken({action:"edit",title:mw.config.get("wgPageName"),nocreate:1,text:I(),summary:b(),formatversion:"2",baserevid:n});u.edit.result==="Success"?(mw.notify("ページの編集に成功しました。"),$("#csrd-box").empty(),window.location.reload()):mw.notify("エラー: "+ERRORS[u.error?.code]||u.error?.info||o)}catch(u){mw.notify("エラー: "+ERRORS[u]||u)}},O=async()=>{let p=R();if(p){mw.notify(p,{type:"error"});return}let u=$("<div>").css({maxHeight:"70vh",maxWidth:"80vw"}).dialog({title:"プレビュー",height:"auto",width:"auto",modal:!0,dialogClass:"wks-csrd-dialog-preview",close:function(){$(this).empty().dialog("destroy")}}),d=$("<div>").prop("id","wks-dialog-preview-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));u.append(d);let c=await new mw.Api().post({action:"parse",title:mw.config.get("wgPageName"),text:I(),summary:b(),prop:"text|modules|jsconfigvars",pst:!0,disablelimitreport:!0,disableeditsection:!0,disabletoc:!0,formatversion:"2"});d.empty(),c.parse.modules.length&&mw.loader.load(c.parse.modules),c.parse.modulestyles.length&&mw.loader.load(c.parse.modulestyles);let W=$("<div>").html(c.parse.parsedsummary).prop("id","wks-csd-dialog-preview-summary"),j=$("<hr>").addClass("wks-hr"),_=$("<div>").html(c.parse.text).prop("id","wks-csd-dialog-preview-div").addClass("wks-dialog-preview-div");d.append(W),d.append(j),d.append(_),u.dialog({position:{my:"center",at:"center",of:window}})};t.on("click",async p=>{p.preventDefault(),await M()}),k.on("click",async p=>{p.preventDefault(),await O()}),y.on("click",p=>{p.preventDefault(),$("#csrd-box").remove(),i=!1,document.querySelectorAll(".mw-changeslist-date").forEach((u,d)=>{u.removeEventListener("click",x[d]),u.classList.contains("wks-revision-selected")&&u.classList.remove("wks-revision-selected")})})})}var lt=!1,Ne=new Map;function Ft(e){if(lt||(e=mw.util.$content||e),!e[0])return;let i=e[0].getElementsByTagName("a"),a=Array.prototype.slice.call(i);lt=!0;let n=[2,3].includes(mw.config.get("wgNamespaceNumber")),o=new Set;for(let l of a){if(l.role==="button"||l.children[0]?.nodeName==="IMG"||l.parentElement?.classList?.contains("autocomment"))continue;let h=l.getAttribute("href");if(!h)if(n&&l.classList.contains("mw-selflink"))h="/wiki/"+mw.config.get("wgPageName");else continue;if(h.includes("redlink=1")&&(h=`/wiki/${Ie.exec(h)?.[1]}`),!h||(h=decodeURIComponent(h),!(h.startsWith("/wiki/User:")||h.startsWith("/wiki/利用者:"))))continue;let T=/\/wiki\/(User|利用者):(.+)$/.exec(h)?.[2];if(T&&!T.includes("/")&&!mw.util.isIPAddress(T)){if(Ne.has(T)){let D=Ne.get(T);if(!l.children[1]?.classList.contains("wks-editcount")){let L=document.createElement("span");L.classList.add("wks-editcount"),L.textContent=`(${D})`,l.append(L)}continue}o.add(T)}}if(!o.size)return;let w=[],m=new mw.Api,v=[...o],f=[];for(;v.length;)f.push(v.splice(0,50));for(let l of f)w.push(m.get({action:"query",list:"users",ususers:[...l].join("|"),usprop:"editcount"}));Promise.all(w).then(l=>{let P=l.reduce((S,T)=>(S.query.users.push(...T.query.users),S)).query.users;for(let S of a){let T=S.getAttribute("href");if(!T||(T=decodeURIComponent(T),T.includes("redlink=1")&&(T=`/wiki/${Ie.exec(T)?.[1]}`),!(T.startsWith("/wiki/User:")||T.startsWith("/wiki/利用者:"))))continue;let A=/\/wiki\/(User|利用者):(.+)$/.exec(T)?.[2];if(!A||mw.util.isIPAddress(A))continue;let g=P.find(x=>x.name===A.replace(/_/g," "));if(!g)continue;let E=g.editcount;if(typeof E!="number")continue;Ne.set(A,E);let s=document.createElement("span");s.classList.add("wks-editcount"),s.textContent=`(${E})`,S.append(s)}})}function De(){mw.hook("wikipage.content").add(function(e){Ft(e)})}async function pt(){let e=mw.config.get("wgRevisionId"),i=Q("問題","wks-mi","問題テンプレートを貼り付ける");if(!i){console.warn(`${N}: メニューの作成に失敗しました。`);return}i.addEventListener("click",async a=>{a.preventDefault();let n=G("mi"),o=$("<div>");o.css("max-height","70vh").dialog({dialogClass:"wks-mi-dialog",title:`${N} - 問題`,resizable:!1,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}});let w=$("<div>").prop("id","wks-mi-dialog-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));o.append(w);let v=(await new mw.Api().post({action:"query",format:"json",prop:"revisions",list:"",titles:mw.config.get("wgPageName"),formatversion:"2",rvprop:"content",rvslots:"main"})).query.pages[0].revisions[0].slots.main.content,f=at(v);w.empty();let l=$("<fieldset>");l.prop({id:"wks-mi-dialog-optionfield",innerHTML:"<legend>問題テンプレートの貼付・除去</legend>"}),w.append(l);let h=n("type");for(let g of z){let E=$("<div>").addClass("wks-inline");if(E.append($("<input>").prop({id:`wks-mi-dialog-type-${g.id}`,type:"checkbox",checked:f.some(s=>s.name===g.id),disabled:f.some(s=>s.name===g.id&&s.dubious==="true")}).attr("data-date",f.some(s=>s.name===g.id)?f.find(s=>s.name===g.id).date:"")),E.append($("<label>").html(f.some(s=>s.name===g.id)?`${g.name} ${f.find(s=>s.name===g.id).dubious==="true"?"(特殊なパラメーターが指定されているため WKSpinner で変更できません)":`(${f.find(s=>s.name===g.id).date}) ${Object.entries(f.find(s=>s.name===g.id)).filter(s=>s[0]!=="name"&&s[0]!=="date").map(s=>`(${s[0]}: ${s[1]})`).join(", ")}`}`:g.name).prop("for",`wks-mi-dialog-type-${g.id}`)),g.params.length){let s=$("<div>").addClass("wks-inline");for(let x of g.params){s.append($("<label>").html(`${x.name}${x.required?' <span class="wks-red">*</span>':""}: `).prop("for",`wks-mi-dialog-type-params-${x.id}`).addClass("wks-shrink-0"));let I;switch(x.type){case"select":I=$("<select>");let b=new Map;for(let t of x.choices)I.append($("<option>").prop({value:t.id,text:t.name})),b.set(t.name,t.id);f.some(t=>t.name===g.id)&&I.val(b.get(f.find(t=>t.name===g.id)[x.name]));break;case"input":I=$("<input>").prop({type:"text",value:f.some(t=>t.name===g.id)?f.find(t=>t.name===g.id)[x.name]:""});break}s.append(I.prop({id:`wks-mi-dialog-type-params-${x.id}`,required:x.required,style:"width: 100%;"}))}E.append(s)}h.append(E)}l.append(h);let P=n("summary");P.append($("<label>").html(`編集の要約 (指定しない場合 "+複数の問題" もしくは単一の場合テンプレート名) "${K}" が自動付加されます`).prop("for","wks-mi-dialog-summary-input")),P.append($("<input>").prop({id:"wks-mi-dialog-summary-input",type:"text",placeholder:"+複数の問題",style:"width: 100%;",value:r("mi.default.summary")})),l.append(P);let S=()=>{let g=`${new Date().getFullYear()}${new Date().getMonth()+1}月`;if(z.filter(s=>$(`#wks-mi-dialog-type-${s.id}:not(:disabled)`).prop("checked")).length>=2)return Se(v).replace(ie,`{{複数の問題
${z.map(s=>{let x=$(`#wks-mi-dialog-type-${s.id}`).prop("checked"),I=f.some(t=>t.name===s.id),b=$(`#wks-mi-dialog-type-${s.id}`).attr("data-date");if(x){let t=z.find(k=>k.id===s.id).params;return`|${s.name}=${I?b:g}${t.length?`${t.map(k=>{let y=$(`#wks-mi-dialog-type-params-${k.id}`).val();return k.type==="select"&&y==="null"?"":`|${k.name}=${k.type==="select"?k.choices.find(R=>R.id===y).name:y}`}).join("|")}`:""}${f.some(k=>"ソートキー"in k&&z.find(y=>y.id===k.name)?.name===s.name)?`|ソートキー=${f.find(k=>k.ソートキー&&z.find(y=>y.id===k.name)?.name===s.name).ソートキー}`:""}
`}else return""}).join("")}}}
`);{let s=z.find(t=>$(`#wks-mi-dialog-type-${t.id}:not(:disabled)`).prop("checked"));if(!s)return Se(v).replace(ie,"");let x=s.params,I=f.some(t=>t.name===s.id),b=$(`#wks-mi-dialog-type-${s.id}`).attr("data-date");return Se(v).replace(ie,`{{${s.name}|date=${I?b:g}${x.length?`|${x.map(t=>{let k=$(`#wks-mi-dialog-type-params-${t.id}`).val();return t.type==="select"&&k==="null"?"":`${t.oneName===null?"":`${t.name}=`}${t.type==="select"?t.choices.find(y=>y.id===k).name:k}`}).join("|")}`:""}${f.some(t=>"ソートキー"in t&&z.find(k=>k.id===t.name)?.name===s.name)?`|ソートキー=${f.find(t=>t.ソートキー&&z.find(k=>k.id===t.name)?.name===s.name).ソートキー}`:""}}}
`)}},T=()=>{let g=z.filter(s=>$(`#wks-mi-dialog-type-${s.id}`).prop("checked")).length,E=g>=2?"複数の問題":g==0?"問題テンプレートを除去":z.find(s=>$(`#wks-mi-dialog-type-${s.id}`).prop("checked")).name;return($("#wks-mi-dialog-summary-input").val().replaceAll("$t",E)||`+${E}`)+U},D=()=>{let g=$("<ul>");for(let E of z)if($(`#wks-mi-dialog-type-${E.id}`).prop("checked")){let s=E.params;for(let x of s)if(x.required){let I=$(`#wks-mi-dialog-type-params-${x.id}`).val();x.type==="select"&&I==="null"?g.append($("<li>").text(`${E.name}${x.name}が選択されていません。`)):x.type==="input"&&I===""&&g.append($("<li>").text(`${E.name}${x.name}が入力されていません。`))}}return g.children().length?$("<div>").append($("<p>").text("入力にエラーがあります。")).append(g):!1},L=async()=>{let g=D();if(g){mw.notify(g,{type:"error"});return}let E=$("<div>").css({maxHeight:"70vh",maxWidth:"80vw"}).dialog({dialogClass:"wks-mi-dialog wks-mi-dialog-preview",title:`${N} - 問題プレビュー`,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}}),s=$("<div>").prop("id","anr-dialog-preview-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));E.append(s);let x=await new mw.Api().post({action:"parse",title:mw.config.get("wgPageName"),text:S(),summary:T(),prop:"text|modules|jsconfigvars",pst:!0,disablelimitreport:!0,disableeditsection:!0,disabletoc:!0,formatversion:"2"});s.empty(),x.parse.modules.length&&mw.loader.load(x.parse.modules),x.parse.modulestyles.length&&mw.loader.load(x.parse.modulestyles);let I=$("<div>").html(x.parse.parsedsummary).prop("id","wks-mi-dialog-preview-summary"),b=$("<hr>").addClass("wks-hr"),t=$("<div>").html(x.parse.text).prop("id","wks-mi-dialog-preview-div").addClass("wks-dialog-preview-div");s.append(I),s.append(b),s.append(t),E.dialog({position:{my:"center",at:"center",of:window}})},A=async()=>{try{let g=await new mw.Api().postWithEditToken({action:"edit",title:mw.config.get("wgPageName"),nocreate:1,text:S(),summary:T(),formatversion:"2",baserevid:e});g.edit.result==="Success"?(mw.notify("ページの編集に成功しました。"),o.dialog("close"),window.location.reload()):mw.notify("エラー: "+X[g.error?.code]||g.error?.info)}catch(g){mw.notify("エラー: "+X[g.toString()]||g.toString())}};o.dialog({buttons:[{text:"実行",click:function(){return A()}},{text:"プレビュー",click:function(){return L()}},{text:"閉じる",click:function(){return o.dialog("close")}}]}),o.dialog({position:{my:"top",at:"top+5%",of:window}})})}function Wt(){let e=new Date,i,a=e.getDate();return a<11?i="上旬":a<21?i="中旬":i="下旬",`${e.getMonth()+1}${i}`}async function dt(){let e=Q("保護依頼","wks-rfp","保護依頼をする");if(!e){console.warn(`${N}: メニューの作成に失敗しました。`);return}e.addEventListener("click",async i=>{i.preventDefault();let a=G("rfp"),n=$("<div>");n.css("max-height","70vh").dialog({dialogClass:"wks-rfp-dialog",title:`${N} - 保護依頼`,resizable:!1,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}});let o=$("<div>").prop("id","wks-rfp-dialog-content");n.append(o),o.empty();let w=$("<fieldset>");w.prop({id:"wks-rfp-dialog-optionfield",innerHTML:"<legend>保護依頼の提出</legend>"}),o.append(w);let m=[1],v=a("page-names"),f=a("page-name-1").addClass("wks-inline").addClass("wks-mb-1");f.append($("<label>").html("ページ").prop("for","wks-rfp-dialog-page-name-1-input").addClass("wks-shrink-0")),f.append($("<input>").prop({id:"wks-rfp-dialog-page-name-1-input",type:"text",placeholder:"ページ名",class:"wks-input-full",value:mw.config.get("wgPageName")})),v.append(f);let l=a("add-page").addClass("wks-inline"),h=$("<button>").prop("id","wks-rfp-dialog-add-page-button").text("ページを追加");l.append(h),w.append(v),w.append(l),h.on("click",()=>{let b=m.length+1;m.push(b);let t=a(`page-name-${b}`).addClass("wks-inline").addClass("wks-mb-1");t.append($("<label>").html("ページ").prop("for",`wks-rfp-dialog-page-name-${b}-input`).addClass("wks-shrink-0")),t.append($("<input>").prop({id:`wks-rfp-dialog-page-name-${b}-input`,type:"text",placeholder:"ページ名",class:"wks-input-full"}));let k=()=>{t.remove(),m.splice(m.indexOf(b),1)},y=$("<button>").prop("id",`wks-rfp-dialog-remove-page-${b}-button`).text("削除").addClass("wks-shrink-0").on("click",k);t.append(y),v.append(t)});let P=a("template").addClass("wks-inline");P.append($("<input>").prop({id:"wks-rfp-dialog-template-cb",type:"checkbox",checked:!0})),P.append($("<label>").html('{{<a href="/wiki/Template:保護依頼" target="_blank">保護依頼</a>}}を貼り付ける (複数ページの場合非推奨)').prop("for","wks-rfp-dialog-template-cb")),w.append(P),w.append($("<hr>").addClass("wks-hr"));let S=a("header");S.append($("<label>").html("見出し").prop("for","wks-rfp-dialog-header-input")),S.append($("<input>").prop({id:"wks-rfp-dialog-header-input",type:"text",placeholder:"保護依頼",class:"wks-input-full",value:`{{Page|${mw.config.get("wgPageName").includes("=")?"1=":""}${mw.config.get("wgPageName")}}}`})),w.append(S);let T=a("desc");T.append($("<label>").html("理由 (署名不要)").prop("for","wks-rfp-dialog-desc-input")),T.append($("<textarea>").prop({id:"wks-rfp-dialog-desc-input",placeholder:"[[LTA:HOGE]]によって荒らしが断続的に行われているため、半保護を依頼します。",class:"wks-input-full"})),w.append(T);let D=a("summaries");D.append($("<span>").html("編集の要約 「"+K+"」 が自動付加されます 任意").addClass("wks-shrink-0"));let L=$("<div>").addClass("wks-inline");L.append($("<label>").html("保護依頼貼り付け: ").prop("for","wks-rfp-dialog-summary-template").addClass("wks-shrink-0")),L.append($("<input>").prop({id:"wks-rfp-dialog-summary-template",type:"text",placeholder:"+保護依頼",class:"wks-input-full",value:r("rfp.default.summaryTemplate")})),D.append(L);let A=$("<div>").addClass("wks-inline");A.append($("<label>").html("依頼ページ編集 ($p: ページ名の羅列): ").prop("for","wks-rfp-dialog-summary-submit").addClass("wks-shrink-0")),A.append($("<input>").prop({id:"wks-rfp-dialog-summary-submit",type:"text",placeholder:"+$p",class:"wks-input-full",value:r("rfp.default.summarySubmit")})),D.append(A),w.append(D);let g=(b,t)=>`${b===10?"<noinclude>":""}{{保護依頼}}${b===10?"</noinclude>":`
`}`,E=()=>`==== ${$("#wks-rfp-dialog-header-input").val()} ====
${m.length===1?"":m.length>3?`{{MultiProtect
${m.map((b,t)=>`|${$("#wks-rfp-dialog-page-name-"+b+"-input").val().includes("=")?`${t+1}=`:""}${$("#wks-rfp-dialog-page-name-"+b+"-input").val()}`).join(`
`)+`
}}
`}`:m.map(b=>`* {{Page|${$("#wks-rfp-dialog-page-name-"+b+"-input").val().includes("=")?"1=":""}${$("#wks-rfp-dialog-page-name-"+b+"-input").val()}}}`).join(`
`)+`
`}${$("#wks-rfp-dialog-desc-input").val()} --~~~~`,s=()=>{let b=$("<ul>");return $("#wks-rfp-dialog-page-name-1-input").val()||b.append($("<li>").text("ページ名を入力してください。")),$("#wks-rfp-dialog-desc-input").val()||b.append($("<li>").text("理由を入力してください。")),b.children().length?$("<div>").append($("<p>").text("入力にエラーがあります。")).append(b):!0},x=async()=>{let b=s();if(b!==!0){mw.notify(b,{type:"error"});return}let t=$("<div>").css({maxHeight:"70vh",maxWidth:"80vw"}).dialog({dialogClass:"wks-rfp-dialog wks-rfp-dialog-preview",title:`${N} - 保護依頼`,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}});t.dialog({position:{my:"center",at:"center",of:window}});let k=$("<p>").addClass("wks-red").css("font-weight","bold").text("注意: 保護依頼中はタブを閉じないでください!");t.append(k);let y=u=>{u.returnValue="During the RFP progress!"};addEventListener("beforeunload",y);let R=$("<div>").prop("id","wks-dialog-progress-submit-rfp").addClass("wks-inline").append(C("load","")).append($("<span>").text("保護依頼中"));t.append(R);let M="Wikipedia:保護依頼",p=(await fe.Wikitext.newFromTitle(M)).parseSections();try{let u=await new mw.Api().postWithEditToken({action:"edit",format:"json",title:M,section:p.find(d=>d.title.includes(Wt())).index.toString(),summary:$("#wks-rfp-dialog-summary-submit").val().replaceAll("$p",m.map(d=>$("#wks-rfp-dialog-page-name-"+d+"-input").val()).map(d=>`[[特別:PageHistory/${d}|${d}]]`).join(", "))+U,nocreate:1,appendtext:`

${E()}`,formatversion:"2"});if(u.edit.result!=="Success"){R.empty(),R.append(C("cross","")),R.append($("<span>").html(`保護依頼ページの編集に失敗しました: ${JSON.stringify(u.edit)}`)),t.dialog({buttons:[{text:"閉じる",click:function(){return t.dialog("close")}}]}),removeEventListener("beforeunload",y);return}if(R.empty(),R.append(C("check","")),R.append($("<span>").html(`保護依頼ページの編集に成功しました: <a href="/wiki/${M}">${M}</a>`)),!$("#wks-rfp-dialog-template-cb").prop("checked"))t.dialog({buttons:[{text:"閉じる",click:function(){return t.dialog("close")}}]}),removeEventListener("beforeunload",y);else{let d=$("<div>").prop("id","wks-dialog-progress-content-wait1").addClass("wks-inline").append(C("load","")).append($("<span>").text("5秒待機します..."));t.append(d),await se(5e3),d.empty(),d.append(C("check","")),d.append($("<span>").html("5秒待機します..."));let c=$("<div>").prop("id","wks-dialog-progress-content-template").addClass("wks-inline").append(C("load","")).append($("<span>").text(`保護依頼テンプレートの貼り付け中 (ページ数: ${m.length}, 成功: 0, 失敗: 0)`)),W=0,j=0;t.append(c);let _=m.map(F=>$("#wks-rfp-dialog-page-name-"+F+"-input").val());for(let F of _){let J=$("#wks-rfp-dialog-header-input").val(),q=g(it(F),J);try{let H=await new mw.Api().postWithEditToken({action:"edit",format:"json",title:F,summary:$("#wks-rfp-dialog-summary-template").val()+U,prependtext:q,nocreate:!0,formatversion:"2"});if(H.edit.result!=="Success"){let B=$("<div>").prop("id",`wks-dialog-progress-content-template-fail-${Date.now()}`).addClass("wks-inline");B.append(C("cross","")),B.append($("<span>").html(`保護依頼テンプレートの貼り付けに失敗しました: ${F}: ${JSON.stringify(H.edit)}`)),t.append(B),j++}else W++}catch(H){let B=$("<div>").prop("id",`wks-dialog-progress-content-template-fail-${Date.now()}`).addClass("wks-inline");B.append(C("cross","")),B.append($("<span>").html(`保護依頼テンプレートの貼り付けに失敗しました: ${F}: ${H}`)),t.append(B),j++}finally{c.empty(),c.append(C("load","")),c.append($("<span>").text(`保護依頼テンプレートの貼り付け中 (ページ数: ${m.length}, 成功: ${W}, 失敗: ${j})`))}await se(3e3)}t.dialog({buttons:[{text:"閉じる",click:function(){return t.dialog("close")}}]}),c.empty(),c.append(C("check","")),c.append($("<span>").text(`保護依頼テンプレートの貼り付けが完了しました (ページ数: ${m.length}, 成功: ${W}, 失敗: ${j})`)),removeEventListener("beforeunload",y)}}catch(u){R.empty(),R.append(C("cross","")),R.append($("<span>").html(`保護依頼ページの編集に失敗しました: ${u}`)),t.dialog({buttons:[{text:"閉じる",click:function(){return t.dialog("close")}}]}),removeEventListener("beforeunload",y);return}},I=async()=>{let b=s();if(b!==!0){mw.notify(b,{type:"error"});return}let t="Wikipedia:保護依頼",k=$("<div>").css({maxHeight:"70vh",maxWidth:"80vw"}).dialog({dialogClass:"wks-rfp-dialog wks-rfp-dialog-preview",title:`${N} - 保護依頼プレビュー`,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}}),y=$("<div>").prop("id","wks-dialog-preview-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));k.append(y);let R=await new mw.Api().post({action:"parse",title:t,text:E(),summary:($("#wks-rfp-dialog-summary-template").val()||"+保護依頼")+U,prop:"text|modules|jsconfigvars",pst:!0,disablelimitreport:!0,disableeditsection:!0,disabletoc:!0,contentmodel:"wikitext",formatversion:"2"});y.empty(),R.parse.modules.length&&mw.loader.load(R.parse.modules),R.parse.modulestyles.length&&mw.loader.load(R.parse.modulestyles);let M=$("<div>").html("編集の要約: "+R.parse.parsedsummary).prop("id","wks-rfp-dialog-preview-summary"),O=$("<hr>").addClass("wks-hr"),p=$("<div>").html(R.parse.text).addClass("wks-dialog-preview-div");y.append(M),y.append(O),y.append(p),k.dialog({position:{my:"top",at:"top+5%",of:window}})};n.dialog({buttons:[{text:"実行",click:function(){return x()}},{text:"プレビュー",click:function(){return I()}},{text:"閉じる",click:function(){return n.dialog("close")}}]}),n.dialog({position:{my:"top",at:"top+5%",of:window}})})}async function ct(){let e=mw.config.get("wgRevisionId"),i=Q("削除依頼","wks-skj","削除依頼をする");if(!i){console.warn(`${N}: メニューの作成に失敗しました。`);return}i.addEventListener("click",async a=>{a.preventDefault();let n=G("skj"),o=$("<div>");o.css("max-height","70vh").dialog({dialogClass:"wks-skj-dialog",title:`${N} - 削除依頼`,resizable:!1,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}});let w=$("<div>").prop("id","wks-skj-dialog-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));o.append(w);let[m,v]=await Promise.all([new mw.Api().post({action:"query",format:"json",prop:"revisions",list:"",titles:mw.config.get("wgPageName"),formatversion:"2",rvprop:"content",rvslots:"main"}),new mw.Api().post({action:"query",format:"json",titles:re+mw.config.get("wgPageName"),formatversion:"2"})]),f=m.query.pages[0].revisions[0].slots.main.content;w.empty();let l=$("<fieldset>");l.prop({id:"wks-skj-dialog-optionfield",innerHTML:"<legend>削除依頼の提出</legend>"}),w.append(l);let h=n("page-name");h.append($("<label>").html("ページ名").prop("for","wks-skj-dialog-page-name-input"));let P=$("<div>").addClass("wks-inline");P.append($("<span>").text(re).addClass("wks-shrink-0"));let S=new Date().toISOString().split("T")[0].replace(/-/g,"");P.append($("<input>").prop({id:"wks-skj-dialog-page-name-input",type:"text",placeholder:"ページ名",style:"width: 100%;",value:v.query.pages[0].missing?mw.config.get("wgPageName"):`${mw.config.get("wgPageName")} ${S}`})),v.query.pages[0].missing||mw.notify("すでに削除依頼ページが存在していたので、サブページ名に日付を追加しました。"),h.append(P),l.append(h);let T=n("cr").addClass("wks-inline");T.append($("<input>").prop({id:"wks-skj-dialog-cr-cb",type:"checkbox"})),T.append($("<label>").html('{{<a href="/wiki/Template:Copyrights">Copyrights</a>}}を貼り付ける').prop("for","wks-skj-dialog-cr-cb"));let D=n("blank").addClass("wks-inline");D.append($("<input>").prop({id:"wks-skj-dialog-blank-cb",type:"checkbox"})),D.append($("<label>").html("ページをテンプレートで置き換える(元ページの内容を削除する)").prop("for","wks-skj-dialog-blank-cb"));let L=n("use-id").addClass("wks-inline");L.append($("<input>").prop({id:"wks-skj-dialog-use-id-cb",type:"checkbox"})),L.append($("<label>").html("ページ名を使用せず、ページIDを使用する (サブページ名に名称を入れないようにしてください!)").prop("for","wks-skj-dialog-use-id-cb")),l.append(T),l.append(D),l.append(L),l.append($("<hr>").addClass("wks-hr"));let A=n("mark-rights").addClass("wks-inline");A.append($("<input>").prop({id:"wks-skj-dialog-mark-rights-cb",type:"checkbox"})),A.append($("<label>").html("権利侵害 (*)").prop("for","wks-skj-dialog-mark-rights-cb"));let g=n("mark-emer").addClass("wks-inline");g.append($("<input>").prop({id:"wks-skj-dialog-mark-emer-cb",type:"checkbox"})),g.append($("<label>").html("緊急案件 (緊)").prop("for","wks-skj-dialog-mark-emer-cb"));let E=n("mark-rev").addClass("wks-inline");E.append($("<input>").prop({id:"wks-skj-dialog-mark-rev-cb",type:"checkbox"})),E.append($("<label>").html("版指定削除 (特)").prop("for","wks-skj-dialog-mark-rev-cb")),l.append(A),l.append(g),l.append(E),l.append($("<hr>").addClass("wks-hr"));let s=n("desc");s.append($("<label>").html("理由").prop("for","wks-skj-dialog-desc-input")),s.append($("<textarea>").prop({id:"wks-skj-dialog-desc-input",placeholder:"ケースE、特筆性なし。〜〜〜",style:"width: 100%;"})),l.append(s);let x=n("opv");x.append($("<label>").html("依頼者票 (署名不要)").prop("for","wks-skj-dialog-opv-input")),x.append($("<input>").prop({id:"wks-skj-dialog-opv-input",placeholder:"{{AFD|削除}} 依頼者票。",style:"width: 100%;",value:r("skj.default.opv")||""}));let I=$("<div>").addClass("wks-inline");I.html(`プリセット: ${r("skj.opvPresets").map((d,c)=>`<button id="wks-skj-preset-id${c}">${d.name}</button>`).join(" ")}`),x.append(I),l.append(x);let b=n("summaries");b.append($("<span>").html("編集の要約 「"+K+"」 が自動付加されます 任意").addClass("wks-shrink-0"));let t=$("<div>").addClass("wks-inline");t.append($("<label>").html("Sakujo貼り付け: ").prop("for","wks-skj-dialog-summary-template").addClass("wks-shrink-0")),t.append($("<input>").prop({id:"wks-skj-dialog-summary-template",type:"text",placeholder:"+Sakujo",style:"width: 100%;",value:r("skj.default.summaryTemplate")})),b.append(t);let k=$("<div>").addClass("wks-inline");k.append($("<label>").html("依頼ページ作成: ").prop("for","wks-skj-dialog-summary-submit").addClass("wks-shrink-0")),k.append($("<input>").prop({id:"wks-skj-dialog-summary-submit",type:"text",placeholder:"削除依頼",style:"width: 100%;",value:r("skj.default.summarySubmit")})),b.append(k),l.append(b);let y=$("<div>").addClass("wks-inline");y.append($("<label>").html("ログへの追記: ").prop("for","wks-skj-dialog-summary-note").addClass("wks-shrink-0")),y.append($("<input>").prop({id:"wks-skj-dialog-summary-note",type:"text",placeholder:"削除依頼の追加",style:"width: 100%;",value:r("skj.default.summaryNote")})),b.append(y),l.append(b),r("skj.opvPresets").forEach((d,c)=>{$(`#wks-skj-preset-id${c}`).on("click",()=>{$("#wks-skj-dialog-opv-input").val(d.value)})});let R=(d=!1)=>[d||$("#wks-skj-dialog-blank-cb").prop("checked"),`${mw.config.get("wgNamespaceNumber")===10?"<noinclude>":""}{{subst:Sakujo${$("#wks-skj-dialog-page-name-input").val()==mw.config.get("wgPageName")?"":`|${$("#wks-skj-dialog-page-name-input").val()}`}}}${$("#wks-skj-dialog-cr-cb").prop("checked")?`
{{Copyrights${$("#wks-skj-dialog-blank-cb").prop("checked")?"|白紙化=1":""}}}`:""}${mw.config.get("wgNamespaceNumber")===10?"</noinclude>":`
`}${!$("#wks-skj-dialog-blank-cb").prop("checked")&&d?f:""}`],M=()=>`{{subst:新規削除依頼サブページ
|ページ名=${$("#wks-skj-dialog-use-id-cb").prop("checked")?"":mw.config.get("wgPageName")}
|ID=${$("#wks-skj-dialog-use-id-cb").prop("checked")?mw.config.get("wgArticleId"):""}
|特記号=${$("#wks-skj-dialog-mark-rights-cb").prop("checked")?"*":""}${$("#wks-skj-dialog-mark-emer-cb").prop("checked")?"緊":""}${$("#wks-skj-dialog-mark-rev-cb").prop("checked")?"特":""}
|理由=${$("#wks-skj-dialog-desc-input").val()} ${r("skj.signReason")?"--~~~~":""}
|依頼者票=${$("#wks-skj-dialog-opv-input").val()} --~~~~
}}`,O=()=>{let d=$("<ul>");return $("#wks-skj-dialog-page-name-input").val()||d.append($("<li>").text("ページ名を入力してください。")),$("#wks-skj-dialog-desc-input").val()||d.append($("<li>").text("理由を入力してください。")),$("#wks-skj-dialog-opv-input").val()||d.append($("<li>").text("依頼者票を入力してください。")),d.children().length?$("<div>").append($("<p>").text("入力にエラーがあります。")).append(d):!0},p=async()=>{let d=O();if(d!==!0){mw.notify(d,{type:"error"});return}let c=$("<div>").css({maxHeight:"70vh",maxWidth:"80vw"}).dialog({dialogClass:"wks-mi-dialog wks-mi-dialog-preview",title:`${N} - 削除依頼`,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}});c.dialog({position:{my:"center",at:"center",of:window}});let W=$("<p>").addClass("wks-red").css("font-weight","bold").text("注意: 削除依頼中はタブを閉じないでください!");c.append(W);let j=H=>{H.returnValue="During the Sakujo progress!"};addEventListener("beforeunload",j);let _=$("<div>").prop("id","wks-dialog-progress-content-check-exists").addClass("wks-inline").append(C("load","")).append($("<span>").text("ページの存在チェック中"));c.append(_);let F=()=>re+$("#wks-skj-dialog-page-name-input").val();if(!(await new mw.Api().post({action:"query",format:"json",titles:F(),formatversion:"2"})).query.pages[0].missing){_.empty(),_.append(C("cross","")),_.append($("<span>").html(`削除依頼ページが<a href="/wiki/${F()}">既に存在します</a>。`)),c.dialog({buttons:[{text:"閉じる",click:function(){return c.dialog("close")}}]}),removeEventListener("beforeunload",j);return}_.empty(),_.append(C("check","")),_.append($("<span>").html("削除依頼ページが存在しません。"));let q=$("<div>").prop("id","wks-dialog-progress-content-prepend-tl").addClass("wks-inline").append(C("load","")).append($("<span>").text("テンプレートの貼付中"));c.append(q);try{let[H,B]=R();if((await new mw.Api().postWithEditToken({action:"edit",title:mw.config.get("wgPageName"),nocreate:1,text:H?B:void 0,prependtext:H?void 0:B,summary:($("#wks-skj-dialog-summary-template").val()||"+Sakujo").replaceAll("$d",F()).replaceAll("$p",mw.config.get("wgPageName"))+U,formatversion:"2",baserevid:e,notminor:1})).edit.result!=="Success"){q.empty(),q.append(C("cross","")),q.append($("<span>").html("テンプレートの貼付に失敗しました。(Conflict?)")),c.dialog({buttons:[{text:"閉じる",click:function(){return c.dialog("close")}}]}),removeEventListener("beforeunload",j);return}q.empty(),q.append(C("check","")),q.append($("<span>").html("テンプレートの貼付に成功しました。"));let ee=$("<div>").prop("id","wks-dialog-progress-content-wait1").addClass("wks-inline").append(C("load","")).append($("<span>").text("5秒待機します..."));c.append(ee),await se(5e3),ee.empty(),ee.append(C("check","")),ee.append($("<span>").html("5秒待機します..."));let V=$("<div>").prop("id","wks-dialog-progress-content-submit").addClass("wks-inline").append(C("load","")).append($("<span>").text("依頼ページの作成中"));c.append(V);try{if((await new mw.Api().postWithEditToken({action:"edit",title:F(),createonly:1,text:M(),summary:($("#wks-skj-dialog-summary-submit").val()||"削除依頼").replaceAll("$d",F()).replaceAll("$p",mw.config.get("wgPageName"))+U,formatversion:"2"})).edit.result!=="Success"){V.empty(),V.append(C("cross","")),V.append($("<span>").html("依頼ページの作成に失敗しました。(Conflict?)")),c.dialog({buttons:[{text:"閉じる",click:function(){return c.dialog("close")}}]}),removeEventListener("beforeunload",j);return}V.empty(),V.append(C("check","")),V.append($("<span>").html(`依頼ページの作成に成功しました。(<a href="/wiki/${F()}" target="_blank">リンク</a>)`));let oe=$("<div>").prop("id","wks-dialog-progress-content-wait2").addClass("wks-inline").append(C("load","")).append($("<span>").text("5秒待機します..."));c.append(oe),await se(5e3),oe.empty(),oe.append(C("check","")),oe.append($("<span>").html("5秒待機します..."));let Y=$("<div>").prop("id","wks-dialog-progress-content-note").addClass("wks-inline").append(C("load","")).append($("<span>").text("ログへの追記中"));c.append(Y);let de=re+`ログ/${new Date().getFullYear()}${new Date().getMonth()+1}${new Date().getDate()}日`,be=(await new mw.Api().post({action:"query",format:"json",prop:"revisions",list:"",titles:de,formatversion:"2",rvprop:"content",rvslots:"main"})).query.pages[0].revisions[0].slots.main.content.replace(/(\r\n|\n)+$/,"");try{if((await new mw.Api().postWithEditToken({action:"edit",title:de,nocreate:1,text:`${be}
{{${F()}}}`,summary:($("#wks-skj-dialog-summary-note").val()||"削除依頼の追加").replaceAll("$d",F()).replaceAll("$p",mw.config.get("wgPageName"))+U,formatversion:"2"})).edit.result!=="Success"){Y.empty(),Y.append(C("cross","")),Y.append($("<span>").html("ログへの追記に失敗しました。(Conflict?)")),c.dialog({buttons:[{text:"閉じる",click:function(){return c.dialog("close")}}]}),removeEventListener("beforeunload",j);return}Y.empty(),Y.append(C("check","")),Y.append($("<span>").html(`ログへの追記に成功しました。(<a href="/wiki/${de}" target="_blank">リンク</a>)`)),removeEventListener("beforeunload",j)}catch($e){Y.empty(),Y.append(C("cross","")),Y.append($("<span>").html(`ログへの追記に失敗しました。(${$e})`)),c.dialog({buttons:[{text:"閉じる",click:function(){return c.dialog("close")}}]}),removeEventListener("beforeunload",j);return}}catch(ye){V.empty(),V.append(C("cross","")),V.append($("<span>").html(`依頼ページの作成に失敗しました。(${ye})`)),c.dialog({buttons:[{text:"閉じる",click:function(){return c.dialog("close")}}]}),removeEventListener("beforeunload",j);return}}catch(H){q.empty(),q.append(C("cross","")),q.append($("<span>").html(`テンプレートの貼付に失敗しました。(${H})`)),c.dialog({buttons:[{text:"閉じる",click:function(){return c.dialog("close")}}]}),removeEventListener("beforeunload",j);return}},u=async()=>{let d=O();if(d!==!0){mw.notify(d,{type:"error"});return}let c=re+$("#wks-skj-dialog-page-name-input").val(),W=$("<div>").css({maxHeight:"70vh",maxWidth:"80vw"}).dialog({dialogClass:"wks-skj-dialog wks-skj-dialog-preview",title:`${N} - 削除依頼プレビュー`,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}}),j=$("<div>").prop("id","wks-dialog-preview-content").text("読み込み中").append(C("load","margin-left: 0.5em;")),_=$("<div>").prop("id","wks-dialog-preview-content2").text("読み込み中").append(C("load","margin-left: 0.5em;"));W.append(j),W.append($("<hr>").addClass("wks-hr")),W.append(_);let[F,J]=await Promise.all([new mw.Api().post({action:"parse",title:mw.config.get("wgPageName"),text:R(!0)[1],summary:($("#wks-skj-dialog-summary-template").val()||"+Sakujo").replaceAll("$d",c).replaceAll("$p",mw.config.get("wgPageName"))+U,prop:"text|modules|jsconfigvars",pst:!0,disablelimitreport:!0,disableeditsection:!0,disabletoc:!0,contentmodel:"wikitext",formatversion:"2"}),new mw.Api().post({action:"parse",title:re+$("#wks-skj-dialog-page-name-input").val(),text:M(),summary:($("#wks-skj-dialog-summary-submit").val()||"削除依頼").replaceAll("$d",c).replaceAll("$p",mw.config.get("wgPageName"))+U,prop:"text|modules|jsconfigvars",pst:!0,disablelimitreport:!0,disableeditsection:!0,disabletoc:!0,contentmodel:"wikitext",formatversion:"2"})]);j.empty(),F.parse.modules.length&&mw.loader.load(F.parse.modules),F.parse.modulestyles.length&&mw.loader.load(F.parse.modulestyles);let q=$("<div>").html("編集の要約: "+F.parse.parsedsummary+"<br>注意: これはプレビューであり、依頼ページはまだ作成されていないと表示されることに留意してください。").prop("id","wks-skj-dialog-preview-summary"),H=$("<hr>").addClass("wks-hr"),B=$("<div>").html(F.parse.text).addClass("wks-dialog-preview-div");j.append(q),j.append(H),j.append(B),_.empty(),J.parse.modules.length&&mw.loader.load(J.parse.modules),J.parse.modulestyles.length&&mw.loader.load(J.parse.modulestyles);let ke=$("<div>").html("編集の要約: "+J.parse.parsedsummary).prop("id","wks-skj-dialog-preview-summary"),ee=$("<hr>").addClass("wks-hr"),V=$("<div>").html(J.parse.text).addClass("wks-dialog-preview-div");_.append(ke),_.append(ee),_.append(V),W.dialog({position:{my:"top",at:"top+5%",of:window}})};o.dialog({buttons:[{text:"実行",click:function(){return p()}},{text:"プレビュー",click:function(){return u()}},{text:"閉じる",click:function(){return o.dialog("close")}}]}),o.dialog({position:{my:"top",at:"top+5%",of:window}})})}async function mt(){let e=mw.config.get("wgNamespaceNumber"),i=Q("通知","wks-warn","ユーザーへ通知・警告を行う");if(!i){console.warn(`${N}: メニューの作成に失敗しました。`);return}let a=e===3?mw.config.get("wgPageName"):`${mw.config.get("wgFormattedNamespaces")[3]}:${mw.config.get("wgTitle")}`;i.addEventListener("click",async n=>{n.preventDefault(),a.includes("/")&&mw.notify(`${N}: 警告: ノートページのサブページに警告を行おうとしています!`,{type:"warn"});let o=G("warn"),w=$("<div>");w.css("max-height","70vh").dialog({dialogClass:"wks-warn-dialog",title:`${N} - ユーザーへ通知・警告`,resizable:!1,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}});let m=$("<div>").prop("id","wks-warn-dialog-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));w.append(m),m.empty();let v=$("<fieldset>");v.prop({id:"wks-warn-dialog-optionfield",innerHTML:"<legend>通知・警告テンプレートの貼付</legend>"}),m.append(v);let f=o("type"),l=$("<select>");l.prop("id","wks-warn-dialog-type-select"),l.addClass("wks-input-full");for(let t of le){let k=l.find(`optgroup[label="${t.category}"]`);k.length?k.append($("<option>").prop({value:t.name,text:`${t.name}: ${t.description}`})):l.append($("<optgroup>").prop("label",t.category).append($("<option>").prop({value:t.name,text:`${t.name}: ${t.description}`})))}let h=o("params"),P=o("sectiontitle"),S=()=>{let t=l.val(),k=le.find(y=>y.name===t);if(h.empty(),!!k){for(let y of k.params)h.append($("<label>").html(`${y.name}${y.required?' <span class="wks-red">*</span>':""}`).prop("for",`wks-warn-dialog-type-params-${y.id}`)),y.type==="input"&&h.append($("<input>").prop({id:`wks-warn-dialog-type-params-${y.id}`,type:"text",placeholder:y.placeholder,required:y.required,class:"wks-input-full",value:"defaultValue"in y?y.defaultValue:""}));P.empty(),k.hasTitle||(P.append($("<label>").html("セクションタイトル").prop("for","wks-warn-dialog-sectiontitle-input")),P.append($("<input>").prop({id:"wks-warn-dialog-sectiontitle-input",type:"text",placeholder:"セクションタイトル",class:"wks-input-full",value:k.defaultTitle})))}};S(),l.on("change",S);let T=o("comment");T.append($("<label>").html("追加コメント").prop("for","wks-warn-dialog-comment"));let D=$("<textarea>").prop({id:"wks-warn-dialog-comment",placeholder:"コメント",class:"wks-input-full",rows:3});T.append(D);let L=o("summary");L.append($("<label>").html(`編集の要約 (指定しない場合 "+{{$t}}") ($tにはテンプレート名) "${K}" が自動付加されます`).prop("for","wks-warn-dialog-summary-input")),L.append($("<input>").prop({id:"wks-warn-dialog-summary-input",type:"text",placeholder:"$t",class:"wks-input-full",value:r("warn.default.summary")||"$t"}));let A=o("subscribe"),g=$("<input>").prop({id:"wks-warn-dialog-subscribe-checkbox",type:"checkbox",checked:!0});A.append(g),A.append($("<label>").html("このセクションを購読する").prop("for","wks-warn-dialog-subscribe-checkbox")),f.append(l),v.append(f),v.append(P),v.append(h),v.append(T),v.append(L),v.append(A);let E=()=>{let t=le.find(k=>k.name===l.val());return`{{${"nosubst"in t&&t.nosubst?"":"subst:"}`+l.val()+t.params.map(k=>{let y=$(`#wks-warn-dialog-type-params-${k.id}`);return y.val()?`|${k.id}=${y.val()}`:""}).join("")+`}}
`+D.val()},s=()=>($("#wks-warn-dialog-summary-input").val()||"$t").toString().replace("$t",l.val()?.toString()||"")+U,x=()=>{let t=$("<ul>"),k=l.val(),y=le.find(M=>M.name===k);if(!y)return t.append($("<li>").text("テンプレートが選択されていません")),t;let R=y.params;for(let M of R){let O=$(`#wks-warn-dialog-type-params-${M.id}`);M.type==="input"&&M.required&&!O.val()&&t.append($("<li>").text(`${M.name}が入力されていません`))}return t.children().length?$("<div>").append($("<p>").text("入力にエラーがあります。")).append(t):null},I=async()=>{let t=x();if(t){mw.notify(t,{type:"error"});return}let k=l.val(),y=le.find(u=>u.name===k),R=$("<div>").css({maxHeight:"70vh",maxWidth:"80vw"}).dialog({dialogClass:"wks-warn-dialog wks-warn-dialog-preview",title:`${N} - 通知プレビュー`,height:"auto",width:"auto",modal:!0,close:function(){$(this).empty().dialog("destroy")}}),M=$("<div>").prop("id","wks-dialog-preview-content").text("読み込み中").append(C("load","margin-left: 0.5em;"));R.append(M);let O=(await new mw.Api().post({action:"discussiontoolspreview",page:a,type:"topic",sectiontitle:y?.hasTitle?"":$("#wks-warn-dialog-sectiontitle-input").val(),wikitext:E(),uselang:"ja",useskin:mw.config.get("skin"),formatversion:"2"})).discussiontoolspreview;M.empty(),O.parse.modules.length&&mw.loader.load(O.parse.modules),O.parse.modulestyles.length&&mw.loader.load(O.parse.modulestyles);let p=$("<div>").html(O.parse.text).prop("id","wks-warn-dialog-preview-div").addClass("wks-dialog-preview-div");M.append(p),R.dialog({position:{my:"center",at:"center",of:window}})},b=async()=>{let t=x();if(t){mw.notify(t,{type:"error"});return}let k=l.val(),y=le.find(R=>R.name===k);try{let R=await new mw.Api().postWithEditToken({action:"discussiontoolsedit",page:a,uselang:"ja",useskin:mw.config.get("skin"),wikitext:E(),summary:s(),formatversion:"2",paction:"addtopic",dtenable:1,dttags:"discussiontools,discussiontools-source,discussiontools-source-enhanced,discussiontools-newtopic",sectiontitle:y?.hasTitle?"":$("#wks-warn-dialog-sectiontitle-input").val(),allownosectiontitle:!0,autosubscribe:$("#wks-warn-dialog-subscribe-checkbox").prop("checked")?"yes":"no"});(R.discussiontoolsedit?.result||R.edit?.result)?.toLowerCase()==="success"?(mw.notify("ページの編集に成功しました。"),w.dialog("close"),window.location.href=mw.util.getUrl(a)):mw.notify("エラー: "+X[R.error?.code]||R.error?.info||R.toString())}catch(R){mw.notify("エラー: "+X[R]||(R??"Unknown error").toString())}};w.dialog({buttons:[{text:"実行",click:function(){return b()}},{text:"プレビュー",click:function(){return I()}},{text:"閉じる",click:function(){return w.dialog("close")}}]}),w.dialog({position:{my:"top",at:"top+5%",of:window}})})}async function ut(){let e=$("#wkspinner-config-area");e.empty();let i=$("<h2>").text(`${N} 設定`).prop("style","margin-top:0;");e.append(i);let a=new OO.ui.CheckboxInputWidget({value:"disable-mobile",selected:r("disableMobile")}),n=new OO.ui.FieldLayout(a,{label:"モバイルでは全ての機能を無効にする (すべてのモバイル設定を上書きします)",align:"inline"});e.append(n.$element);let o=new OO.ui.CheckboxInputWidget({value:"pref-link-in-toolbar",selected:r("prefLinkInToolbar")}),w=new OO.ui.FieldLayout(o,{label:"この設定ページへのリンクをツールバーに配置する",align:"inline"});e.append(w.$element);let m=new OO.ui.CheckboxInputWidget({value:"use-individual-portlet",selected:r("useIndividualPortlet")}),v=new OO.ui.FieldLayout(m,{label:"「その他」タブではなく、新たに「WK」というタブを作りそこに機能を配置",align:"inline",help:"これはモバイルには効果がありません。",helpInline:!0});e.append(v.$element);let f=new OO.ui.RadioOptionWidget({data:"all",label:"すべて"}),l=new OO.ui.RadioOptionWidget({data:"minor",label:"メジャー・マイナーバージョンのみ"}),h=new OO.ui.RadioOptionWidget({data:"none",label:"通知しない"}),P=new OO.ui.RadioSelectWidget({items:[f,l,h]}),S=new OO.ui.FieldLayout(P,{label:"バージョンアップ通知",align:"inline"});e.append(S.$element),P.selectItemByData(r("versionNotify"));let T=new OO.ui.TextInputWidget({value:r("timezone"),placeholder:"UTC"}),D=new OO.ui.FieldLayout(T,{label:"タイムゾーン",align:"top",help:"ウィキの個人設定で設定しているものと同じものを設定してください。即時版指定削除機能での時間をUTCに調節するために使用します。現時点ではUTCとJSTのみ使用可能です。",helpInline:!0});e.append(D.$element);let L=new OO.ui.TextInputWidget({value:r("historyTimeFormat"),placeholder:"(\\d{4})年(\\d{1,2})月(\\d{1,2})日 \\((.)\\) (\\d{2}):(\\d{2})"}),A=new OO.ui.FieldLayout(L,{label:"履歴ページの日時正規表現",align:"top",help:"履歴ページの日時を取得するための正規表現を設定します。ウィキの言語を日本語にしている限りここを修正する必要はありません。",helpInline:!0});e.append(A.$element);let g=new OO.ui.FieldsetLayout({label:"問題テンプレート貼り付け",classes:["container","wks-pref-container"]}),E=new OO.ui.CheckboxInputWidget({value:"mi-enabled",selected:r("mi.enabled")}),s=new OO.ui.FieldLayout(E,{label:"有効にする",align:"inline"}),x=new OO.ui.CheckboxInputWidget({value:"mi-enable-mobile",selected:r("mi.enableMobile")}),I=new OO.ui.FieldLayout(x,{label:"モバイルでも有効にする",align:"inline"}),b=new OO.ui.TextInputWidget({value:r("mi.default.summary"),placeholder:"+$t"}),t=new OO.ui.FieldLayout(b,{label:"編集の要約デフォルト値",align:"top",help:"$t にはテンプレート名 (複数の問題, 特筆性 etc.) が入ります",helpInline:!0});g.addItems([s,I,t]),e.append(g.$element);let k=new OO.ui.FieldsetLayout({label:"即時削除テンプレート貼り付け",classes:["container","wks-pref-container"]}),y=new OO.ui.CheckboxInputWidget({value:"csd-enabled",selected:r("csd.enabled")}),R=new OO.ui.FieldLayout(y,{label:"有効にする",align:"inline"}),M=new OO.ui.CheckboxInputWidget({value:"csd-enable-mobile",selected:r("csd.enableMobile")}),O=new OO.ui.FieldLayout(M,{label:"モバイルでも有効にする",align:"inline"}),p=new OO.ui.TextInputWidget({value:r("csd.default.summary"),placeholder:"+sd"}),u=new OO.ui.FieldLayout(p,{label:"編集の要約デフォルト値",align:"inline"});k.addItems([R,O,u]),e.append(k.$element);let d=new OO.ui.FieldsetLayout({label:"即時版指定削除テンプレート貼り付け",classes:["container","wks-pref-container"]}),c=new OO.ui.CheckboxInputWidget({value:"csrd-enabled",selected:r("csrd.enabled")}),W=new OO.ui.FieldLayout(c,{label:"有効にする",align:"inline"}),j=new OO.ui.CheckboxInputWidget({value:"csrd-enable-mobile",selected:r("csrd.enableMobile")}),_=new OO.ui.FieldLayout(j,{label:"モバイルでも有効にする",align:"inline"}),F=new OO.ui.TextInputWidget({value:r("csrd.default.summary"),placeholder:"+srd"}),J=new OO.ui.FieldLayout(F,{label:"編集の要約デフォルト値",align:"inline"});d.addItems([W,_,J]),e.append(d.$element);let q=new OO.ui.FieldsetLayout({label:"削除依頼提出",classes:["container","wks-pref-container"]}),H=new OO.ui.CheckboxInputWidget({value:"skj-enabled",selected:r("skj.enabled")}),B=new OO.ui.FieldLayout(H,{label:"有効にする",align:"inline"}),ke=new OO.ui.CheckboxInputWidget({value:"skj-enable-mobile",selected:r("skj.enableMobile")}),ee=new OO.ui.FieldLayout(ke,{label:"モバイルでも有効にする",align:"inline"}),V=new OO.ui.TextInputWidget({value:r("skj.default.opv"),placeholder:"{{AFD|削除}} 依頼者票。"}),ye=new OO.ui.FieldLayout(V,{label:"依頼者票デフォルト",align:"inline"}),oe=new OO.ui.TextInputWidget({value:r("skj.default.summaryTemplate"),placeholder:"+Sakujo"}),Y=new OO.ui.FieldLayout(oe,{label:"編集の要約 (Sakujoテンプレート貼り付け) デフォルト値",align:"inline"}),de=new OO.ui.TextInputWidget({value:r("skj.default.summarySubmit"),placeholder:"削除依頼"}),Le=new OO.ui.FieldLayout(de,{label:"編集の要約 (削除依頼ページ作成) デフォルト値",align:"inline"}),be=new OO.ui.TextInputWidget({value:r("skj.default.summaryNote"),placeholder:"削除依頼の追加"}),$e=new OO.ui.FieldLayout(be,{label:"編集の要約 (削除依頼ページ追記) デフォルト値",align:"inline",help:"$d には削除依頼ページが入ります (例: Wikipedia:削除依頼/ほげほげ 20240314) $p には削除依頼対象ページが入ります (例: ほげほげ) 三つの要約欄すべてに適用できます",helpInline:!0}),Me=new OO.ui.CheckboxInputWidget({value:"skj-sign-reason",selected:r("skj.signReason")}),ft=new OO.ui.FieldLayout(Me,{label:"削除依頼理由にも署名する",align:"inline",help:"削除依頼で、理由部分にも署名をします。この設定をした場合でも、依頼者票部分に署名します。",helpInline:!0});q.addItems([B,ee,ye,Y,Le,$e,ft]);let ht=r("skj.opvPresets"),te=[];for(let{name:ue,value:Z}of ht){let ae=new OO.ui.ButtonWidget({label:"削除",flags:["destructive","progressive"],title:"このプリセットを削除します",icon:"trash"}),Pe=new OO.ui.HorizontalLayout({items:[new OO.ui.TextInputWidget({value:ue,placeholder:"ボタンラベル",classes:["wks-pref-preset-name"]}),new OO.ui.TextInputWidget({value:Z,placeholder:"依頼者票"}),ae],classes:["wks-pref-preset-horizontal"]});ae.on("click",()=>{Pe.$element.remove(),te.splice(te.indexOf(Pe),1)}),te.push(Pe)}let je=new OO.ui.ButtonWidget({label:"プリセットを追加",flags:["progressive"],title:"プリセットを追加します",icon:"add",classes:["wks-mb-4"]}),kt=new OO.ui.FieldLayout(je,{align:"top"}),Re=new OO.ui.FieldsetLayout({label:"依頼者票プリセット",classes:["wks-pref-container"]});Re.addItems([kt,...te]),q.addItems([Re]),e.append(q.$element),je.on("click",()=>{let ue=new OO.ui.ButtonWidget({label:"削除",flags:["destructive","progressive"],title:"このプリセットを削除します",icon:"trash"}),Z=new OO.ui.HorizontalLayout({items:[new OO.ui.TextInputWidget({value:"",placeholder:"ボタンラベル",classes:["wks-pref-preset-name"]}),new OO.ui.TextInputWidget({value:"",placeholder:"依頼者票",classes:["wks-grow"]}),ue],classes:["wks-pref-preset-horizontal","wks-w-full"]});ue.on("click",()=>{Z.$element.remove(),te.splice(te.indexOf(Z),1)}),te.push(Z),Re.addItems([Z])});let Fe=new OO.ui.FieldsetLayout({label:"編集回数表示",classes:["container","wks-pref-container"]}),We=new OO.ui.CheckboxInputWidget({value:"ec-enabled",selected:r("editCount.enabled")}),yt=new OO.ui.FieldLayout(We,{label:"有効にする",align:"inline",help:"有効にすると、最近の更新、新しいページでユーザー名の右に編集回数が表示されます。",helpInline:!0}),_e=new OO.ui.CheckboxInputWidget({value:"ec-enable-mobile",selected:r("editCount.enableMobile")}),bt=new OO.ui.FieldLayout(_e,{label:"モバイルでも有効にする",align:"inline"});Fe.addItems([yt,bt]),e.append(Fe.$element);let qe=new OO.ui.FieldsetLayout({label:"ユーザーへの通知 (旧名称: 警告)",classes:["container","wks-pref-container"]}),Ue=new OO.ui.CheckboxInputWidget({value:"warn-enabled",selected:r("warn.enabled")}),$t=new OO.ui.FieldLayout(Ue,{label:"有効にする",align:"inline"}),He=new OO.ui.CheckboxInputWidget({value:"warn-enable-mobile",selected:r("warn.enableMobile")}),vt=new OO.ui.FieldLayout(He,{label:"モバイルでも有効にする",align:"inline"}),Ve=new OO.ui.TextInputWidget({value:r("warn.default.summary"),placeholder:"+$t"}),xt=new OO.ui.FieldLayout(Ve,{label:"編集の要約デフォルト値",align:"top",help:"$t にはテンプレート名 (Test, ご自身の記事 etc.) が入ります",helpInline:!0});qe.addItems([$t,vt,xt]),e.append(qe.$element);let ze=new OO.ui.FieldsetLayout({label:"保護依頼",classes:["container","wks-pref-container"]}),Be=new OO.ui.CheckboxInputWidget({value:"rfp-enabled",selected:r("rfp.enabled")}),Ot=new OO.ui.FieldLayout(Be,{label:"有効にする",align:"inline"}),Ye=new OO.ui.CheckboxInputWidget({value:"rfp-enable-mobile",selected:r("rfp.enableMobile")}),Tt=new OO.ui.FieldLayout(Ye,{label:"モバイルでも有効にする",align:"inline"}),Ke=new OO.ui.TextInputWidget({value:r("rfp.default.summarySubmit"),placeholder:"保護依頼"}),Ct=new OO.ui.FieldLayout(Ke,{label:"編集の要約 (保護依頼ページ編集) デフォルト値",align:"inline",help:"$p には保護依頼対象ページのリンクの羅列が入ります",helpInline:!0}),Ge=new OO.ui.TextInputWidget({value:r("rfp.default.summaryTemplate"),placeholder:"+保護依頼"}),St=new OO.ui.FieldLayout(Ge,{label:"編集の要約 (保護依頼テンプレート貼り付け) デフォルト値",align:"inline"});ze.addItems([Ot,Tt,Ct,St]),e.append(ze.$element);let ce=new OO.ui.ButtonWidget({label:"保存",flags:["progressive"],title:"設定を保存します",icon:"check"}),me=new OO.ui.ButtonWidget({label:"設定をリセット",flags:["destructive","progressive"],title:"設定をデフォルトの状態にリセットします",icon:"trash"}),Et=new OO.ui.FieldLayout(new OO.ui.Widget({content:[new OO.ui.HorizontalLayout({items:[ce,me]})]}),{});e.append(Et.$element),ce.on("click",()=>{if(console.log("Save Button Clicked!!"),![...Ce.keys()].includes(T.getValue())){mw.notify("タイムゾーンが正しくありません。",{type:"error"});return}ce.setDisabled(!0),me.setDisabled(!0);let Z={disableMobile:a.isSelected(),prefLinkInToolbar:o.isSelected(),useIndividualPortlet:m.isSelected(),versionNotify:P.findSelectedItem().getData(),timezone:T.getValue()||"UTC",historyTimeFormat:L.getValue()||"(\\d{4})年(\\d{1,2})月(\\d{1,2})日 \\((.)\\) (\\d{2}):(\\d{2})",mi:{enabled:E.isSelected(),enableMobile:x.isSelected(),default:{summary:b.getValue()||""}},csd:{enabled:y.isSelected(),enableMobile:M.isSelected(),default:{summary:p.getValue()||""}},csrd:{enabled:c.isSelected(),enableMobile:j.isSelected(),default:{summary:F.getValue()||""}},skj:{enabled:H.isSelected(),enableMobile:ke.isSelected(),default:{opv:V.getValue()||"",summaryTemplate:oe.getValue()||"",summarySubmit:de.getValue()||"",summaryNote:be.getValue()||""},opvPresets:te.filter(ae=>ae.items[0]?.value&&ae.items[1]?.value).map(ae=>({name:ae.items[0].value,value:ae.items[1].value})),signReason:Me.isSelected()},editCount:{enabled:We.isSelected(),enableMobile:_e.isSelected()},warn:{enabled:Ue.isSelected(),enableMobile:He.isSelected(),default:{summary:Ve.getValue()||""}},rfp:{enabled:Be.isSelected(),enableMobile:Ye.isSelected(),default:{summarySubmit:Ke.getValue()||"",summaryTemplate:Ge.getValue()||""}}};console.log(Z),new mw.Api().postWithEditToken({action:"options",format:"json",optionname:ne,optionvalue:JSON.stringify(Z),formatversion:"2"}).then(()=>{mw.notify("セーブしました。"),location.reload()}).catch(()=>{mw.notify("セーブに失敗しました"),ce.setDisabled(!1),me.setDisabled(!1)})}),me.on("click",()=>{confirm("初期化しますか?")&&(ce.setDisabled(!0),me.setDisabled(!0),new mw.Api().postWithEditToken({action:"options",format:"json",optionname:ne,optionvalue:JSON.stringify(ge),formatversion:"2"}).then(()=>{mw.notify("初期化しました。"),location.reload()}).catch(()=>{mw.notify("初期化に失敗しました。"),ce.setDisabled(!1),me.setDisabled(!1)}))})}var Ee=Mt(wt());mw.loader.load(mw.config.get("wgServer")+mw.config.get("wgScript")+"?action=raw&ctype=text/css&title="+mw.util.wikiUrlencode("利用者:鈴音雨/WKSpinner.css"),"text/css");async function _t(){let e=mw.config.get("wgUserGroups",[]),i=mw.config.get("wgNamespaceNumber");e&&!e.includes("autoconfirmed")&&mw.notify(`${N}: 自動承認されたユーザーのみが使用できます。`);let a=mw.config.get("skin")==="minerva";if(r("prefLinkInToolbar")){let n=mw.util.addPortletLink(a?"pt-preferences":"p-tb",`/wiki/${Ae}`,`${N}の設定`,"pt-wks-pref");a&&n&&$("#pt-wks-pref").find(".minerva-icon").addClass("minerva-icon--settings")}if(await tt(),mw.config.get("wgAction")==="view"&&mw.config.get("wgPageName")===Ae&&await ut(),mw.config.get("wgAction")==="view"&&mw.config.get("wgPageName")===Qe&&await st(),!(r("disableMobile")===!0&&a)){if(Math.sign(i)===-1){r("editCount.enabled")===!0&&(a&&r("editCount.enableMobile")===!1||(mw.config.get("wgCanonicalSpecialPageName")==="Recentchanges"||mw.config.get("wgCanonicalSpecialPageName")==="Watchlist"||mw.config.get("wgCanonicalSpecialPageName")==="Newpages")&&De());return}mw.config.get("wgAction")==="history"&&r("editCount.enabled")===!0&&!(a&&r("editCount.enableMobile")===!1)&&De(),r("useIndividualPortlet")===!0&&!a&&mw.util.addPortlet(Oe,Xe,"#p-search"),await qt(),Ut(),r("csd.enabled")===!0&&!(a&&r("csd.enableMobile")===!1)&&await ot(),r("csrd.enabled")===!0&&!(a&&r("csrd.enableMobile")===!1)&&mw.config.get("wgAction")==="history"&&await rt(),r("mi.enabled")===!0&&!(a&&r("mi.enableMobile")===!1)&&(i===0||i===2)&&await pt(),r("skj.enabled")===!0&&!(a&&r("skj.enableMobile")===!1)&&await ct(),r("warn.enabled")===!0&&!(a&&r("warn.enableMobile")===!1)&&(i===2||i===3)&&await mt(),r("rfp.enabled")===!0&&!(a&&r("rfp.enableMobile")===!1)&&await dt()}}async function qt(){let e=mw.user.options.get(xe)||"0.0.0";if((0,Ee.default)(e,"0.10.6")===-1){let i=he();i?.rfp?.default?.summarySubmit==="保護依頼"&&(i.rfp.default.summarySubmit="+$p",await new mw.Api().postWithEditToken({action:"options",format:"json",optionname:ne,optionvalue:JSON.stringify(i),formatversion:"2"}))}if((0,Ee.default)(e,"0.10.10")===-1){let i=he();i?.warn?.default?.summary==="$t"&&(i.warn.default.summary="+{{$t}}",await new mw.Api().postWithEditToken({action:"options",format:"json",optionname:ne,optionvalue:JSON.stringify(i),formatversion:"2"}))}}async function Ut(){let e=ve,i=mw.user.options.get(xe)||"0.0.0";if((0,Ee.default)(e,i)===1){await new mw.Api().saveOption(xe,e);let a=r("versionNotify"),n=()=>mw.notify($(`<span>${N}: 新しいバージョン ${e} にアップデートされました。詳細は<a href="${Ze}" target="_blank">リリースノート</a>を参照。</span>`));if(a==="all")n();else if(a==="minor"){let o=e.split("."),w=i.split(".");(o[0]!==w[0]||o[1]!==w[1])&&n()}}}_t();})();
/* jshint ignore:end */
//</nowiki>