미디어위키:Gadget-CreatePageUw.js: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
편집 요약 없음 |
편집 요약 없음 |
||
| 9번째 줄: | 9번째 줄: | ||
} | } | ||
function | function insertSproutImage( input, fieldLayout ) { | ||
var | var imageBox; | ||
var | var image; | ||
var | var insertionTarget; | ||
if ( | if ( | ||
document.querySelector( | |||
'pvz-createpage- | '.pvz-createpage-sprout' | ||
) | ) | ||
) { | ) { | ||
return; | |||
return | |||
} | } | ||
imageBox = document.createElement( 'div' ); | |||
imageBox.className = 'pvz-createpage-sprout'; | |||
image = document.createElement( 'img' ); | |||
'. | image.src = mw.util.getUrl( | ||
'Special:Redirect/file/Sprout_PvZ2.png' | |||
); | ); | ||
image.alt = ''; | |||
image.className = 'pvz-design-critical'; | |||
imageBox.appendChild( image ); | |||
insertionTarget = | |||
fieldLayout || | |||
input.closest( '.oo-ui-fieldLayout-field' ) || | |||
input.parentElement; | |||
if ( | |||
insertionTarget && | |||
insertionTarget.parentNode | |||
) { | |||
insertionTarget.parentNode.insertBefore( | |||
imageBox, | |||
insertionTarget | |||
); | |||
} | |||
} | |||
function customizeInput( input ) { | |||
var inputWidget; | |||
var fieldLayout; | |||
input.placeholder = | |||
'새로 재배할 문서의 제목을 입력하세요'; | '새로 재배할 문서의 제목을 입력하세요'; | ||
input.setAttribute( | |||
'aria-label', | 'aria-label', | ||
'새로 재배할 문서의 제목을 입력하세요' | '새로 재배할 문서의 제목을 입력하세요' | ||
); | ); | ||
input.classList.add( | |||
'pvz-createpage-input' | |||
); | |||
inputWidget = input.closest( | |||
'.oo-ui-textInputWidget' | |||
); | |||
if ( inputWidget ) { | |||
inputWidget.classList.add( | |||
'pvz-createpage-input-widget' | |||
); | |||
} | |||
fieldLayout = input.closest( | |||
'.oo-ui-fieldLayout' | |||
); | ); | ||
| 73번째 줄: | 86번째 줄: | ||
} | } | ||
insertSproutImage( | |||
input, | |||
fieldLayout | |||
); | |||
} | } | ||
function | function customizeSubmitButton( form ) { | ||
var submitButton; | |||
var submitWidget; | |||
var fieldLayout; | var fieldLayout; | ||
var | var label; | ||
submitButton = form.querySelector( | |||
'input[type="submit"], ' + | |||
'button[type="submit"], ' + | |||
'.oo-ui-buttonInputWidget-input, ' + | |||
'.oo-ui-buttonElement-button' | |||
); | |||
if ( !submitButton ) { | |||
return; | return; | ||
} | } | ||
submitButton.classList.add( | |||
'pvz-createpage-submit-button' | |||
' | |||
); | ); | ||
submitButton.setAttribute( | |||
'aria-label', | 'aria-label', | ||
'제출' | '제출' | ||
); | ); | ||
if ( | |||
submitButton.tagName.toLowerCase() === | |||
'input' | |||
) { | |||
' | submitButton.value = '제출'; | ||
} else { | |||
label = submitButton.querySelector( | |||
'.oo-ui-labelElement-label' | |||
); | |||
if ( label ) { | |||
label.textContent = '제출'; | |||
} else { | |||
submitButton.textContent = '제출'; | |||
} | } | ||
} | } | ||
submitWidget = submitButton.closest( | |||
'.oo-ui-buttonInputWidget, ' + | |||
'.oo-ui-buttonWidget' | |||
); | |||
if ( | if ( submitWidget ) { | ||
submitWidget.classList.add( | |||
'pvz-createpage-submit-widget' | |||
' | |||
); | ); | ||
} | } | ||
fieldLayout = submitButton.closest( | |||
'.oo-ui-fieldLayout' | |||
); | ); | ||
| 183번째 줄: | 153번째 줄: | ||
fieldLayout.classList.add( | fieldLayout.classList.add( | ||
'pvz-createpage-submit-layout' | 'pvz-createpage-submit-layout' | ||
); | ); | ||
} | } | ||
| 239번째 줄: | 158번째 줄: | ||
function initializeCreatePageUw() { | function initializeCreatePageUw() { | ||
var input; | var input; | ||
var form; | var form; | ||
input = document.getElementById( | |||
'mw-input-wptitle' | 'mw-input-wptitle' | ||
); | ); | ||
if ( ! | if ( !input ) { | ||
return; | return; | ||
} | } | ||
customizeInput( input ); | |||
form = input.closest( 'form' ); | form = input.closest( 'form' ); | ||
if ( | if ( form ) { | ||
customizeSubmitButton( form ); | |||
} | } | ||
} | } | ||
2026년 7월 25일 (토) 01:32 기준 최신판
( function () {
'use strict';
if (
mw.config.get( 'wgCanonicalSpecialPageName' ) !==
'CreatePage'
) {
return;
}
function insertSproutImage( input, fieldLayout ) {
var imageBox;
var image;
var insertionTarget;
if (
document.querySelector(
'.pvz-createpage-sprout'
)
) {
return;
}
imageBox = document.createElement( 'div' );
imageBox.className = 'pvz-createpage-sprout';
image = document.createElement( 'img' );
image.src = mw.util.getUrl(
'Special:Redirect/file/Sprout_PvZ2.png'
);
image.alt = '';
image.className = 'pvz-design-critical';
imageBox.appendChild( image );
insertionTarget =
fieldLayout ||
input.closest( '.oo-ui-fieldLayout-field' ) ||
input.parentElement;
if (
insertionTarget &&
insertionTarget.parentNode
) {
insertionTarget.parentNode.insertBefore(
imageBox,
insertionTarget
);
}
}
function customizeInput( input ) {
var inputWidget;
var fieldLayout;
input.placeholder =
'새로 재배할 문서의 제목을 입력하세요';
input.setAttribute(
'aria-label',
'새로 재배할 문서의 제목을 입력하세요'
);
input.classList.add(
'pvz-createpage-input'
);
inputWidget = input.closest(
'.oo-ui-textInputWidget'
);
if ( inputWidget ) {
inputWidget.classList.add(
'pvz-createpage-input-widget'
);
}
fieldLayout = input.closest(
'.oo-ui-fieldLayout'
);
if ( fieldLayout ) {
fieldLayout.classList.add(
'pvz-createpage-input-layout'
);
}
insertSproutImage(
input,
fieldLayout
);
}
function customizeSubmitButton( form ) {
var submitButton;
var submitWidget;
var fieldLayout;
var label;
submitButton = form.querySelector(
'input[type="submit"], ' +
'button[type="submit"], ' +
'.oo-ui-buttonInputWidget-input, ' +
'.oo-ui-buttonElement-button'
);
if ( !submitButton ) {
return;
}
submitButton.classList.add(
'pvz-createpage-submit-button'
);
submitButton.setAttribute(
'aria-label',
'제출'
);
if (
submitButton.tagName.toLowerCase() ===
'input'
) {
submitButton.value = '제출';
} else {
label = submitButton.querySelector(
'.oo-ui-labelElement-label'
);
if ( label ) {
label.textContent = '제출';
} else {
submitButton.textContent = '제출';
}
}
submitWidget = submitButton.closest(
'.oo-ui-buttonInputWidget, ' +
'.oo-ui-buttonWidget'
);
if ( submitWidget ) {
submitWidget.classList.add(
'pvz-createpage-submit-widget'
);
}
fieldLayout = submitButton.closest(
'.oo-ui-fieldLayout'
);
if ( fieldLayout ) {
fieldLayout.classList.add(
'pvz-createpage-submit-layout'
);
}
}
function initializeCreatePageUw() {
var input;
var form;
input = document.getElementById(
'mw-input-wptitle'
);
if ( !input ) {
return;
}
customizeInput( input );
form = input.closest( 'form' );
if ( form ) {
customizeSubmitButton( form );
}
}
if ( document.readyState === 'loading' ) {
document.addEventListener(
'DOMContentLoaded',
initializeCreatePageUw,
{ once: true }
);
} else {
initializeCreatePageUw();
}
}() );