Skip to content
This repository was archived by the owner on Apr 11, 2022. It is now read-only.

Commit 0b4ba70

Browse files
committed
make a new button instead of replace the existing one
1 parent c0c0aa6 commit 0b4ba70

File tree

2 files changed

+37
-10
lines changed

2 files changed

+37
-10
lines changed

index.user.js

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// ==UserScript==
22
// @name AtCoder dos2unix UserScript
33
// @namespace https://github.com/kmyk
4-
// @version 1.5
4+
// @version 1.6
55
// @description submit code using LF instead of CRLF
66
// @author Kimiyuki Onaka
77
// @match *://atcoder.jp/contests/*/submit*
@@ -23,12 +23,25 @@ function post(path, payload, expectedURL) {
2323
alert("AtCoder dos2unix UserScript: something wrong / なんか変だよ ソースコードが空だったり連投制限に引っ掛かってたりしませんか");
2424
}
2525
}
26+
function addNewButton(normalButton) {
27+
const button = document.createElement("button");
28+
button.innerText = "提出 (dos2unix)";
29+
for (const value of normalButton.classList) {
30+
button.classList.add(value);
31+
}
32+
button.classList.remove("btn-primary");
33+
button.classList.add("btn-success");
34+
normalButton.parentNode.insertBefore(button, normalButton.nextSibling);
35+
const space = document.createTextNode(" ");
36+
normalButton.parentNode.insertBefore(space, button);
37+
return button;
38+
}
2639
function beta() {
2740
const taskScreenName = document.getElementsByName("data.TaskScreenName")[0];
2841
const sourceCode = document.getElementsByName("sourceCode")[0];
2942
const csrfToken = document.getElementsByName("csrf_token")[0];
30-
const submit = document.getElementById("submit");
31-
submit.innerText += " (dos2unix)";
43+
const normalSubmit = document.getElementById("submit");
44+
const submit = addNewButton(normalSubmit);
3245
submit.addEventListener("click", function (e) {
3346
e.preventDefault();
3447
// NOTE: I didn't know why, but the "data.LanguageId" must be gotten here. see https://github.com/kmyk/atcoder-dos2unix-userscript/issues/2
@@ -56,8 +69,8 @@ function alpha() {
5669
const languageId207 = document.getElementsByName("language_id_207")[0];
5770
const languageId2520 = document.getElementsByName("language_id_2520")[0];
5871
const sourceCode = document.getElementsByName("source_code")[0];
59-
const submit = document.getElementsByTagName("button")[0];
60-
submit.innerText += " (dos2unix)";
72+
const normalSubmit = document.getElementsByTagName("button")[0];
73+
const submit = addNewButton(normalSubmit);
6174
submit.addEventListener("click", function (e) {
6275
e.preventDefault();
6376
const data = [];

index.user.ts

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// ==UserScript==
22
// @name AtCoder dos2unix UserScript
33
// @namespace https://github.com/kmyk
4-
// @version 1.5
4+
// @version 1.6
55
// @description submit code using LF instead of CRLF
66
// @author Kimiyuki Onaka
77
// @match *://atcoder.jp/contests/*/submit*
@@ -27,13 +27,27 @@ function post(path: string, payload: string, expectedURL: string): void {
2727
}
2828
}
2929

30+
function addNewButton(normalButton: HTMLElement): HTMLElement {
31+
const button = document.createElement("button");
32+
button.innerText = "提出 (dos2unix)";
33+
for (const value of normalButton.classList) {
34+
button.classList.add(value);
35+
}
36+
button.classList.remove("btn-primary");
37+
button.classList.add("btn-success");
38+
normalButton.parentNode.insertBefore(button, normalButton.nextSibling);
39+
const space = document.createTextNode(" ");
40+
normalButton.parentNode.insertBefore(space, button);
41+
return button;
42+
}
43+
3044
function beta(): void {
3145
const taskScreenName = <HTMLInputElement>document.getElementsByName("data.TaskScreenName")[0];
3246
const sourceCode = <HTMLInputElement>document.getElementsByName("sourceCode")[0];
3347
const csrfToken = <HTMLInputElement>document.getElementsByName("csrf_token")[0];
3448

35-
const submit = document.getElementById("submit");
36-
submit.innerText += " (dos2unix)";
49+
const normalSubmit = document.getElementById("submit");
50+
const submit = addNewButton(normalSubmit);
3751
submit.addEventListener("click", function (e) {
3852
e.preventDefault();
3953

@@ -66,8 +80,8 @@ function alpha(): void {
6680
const languageId2520 = <HTMLInputElement>document.getElementsByName("language_id_2520")[0];
6781
const sourceCode = <HTMLInputElement>document.getElementsByName("source_code")[0];
6882

69-
const submit = document.getElementsByTagName("button")[0];
70-
submit.innerText += " (dos2unix)";
83+
const normalSubmit = document.getElementsByTagName("button")[0];
84+
const submit = addNewButton(normalSubmit);
7185
submit.addEventListener("click", function (e) {
7286
e.preventDefault();
7387

0 commit comments

Comments
 (0)