미디어위키:Gadget-JSONEditor.js: 두 판 사이의 차이
보이기
잔글편집 요약 없음 |
잔글편집 요약 없음 |
||
2번째 줄: | 2번째 줄: | ||
function LoadJSONEditor() { | function LoadJSONEditor() { | ||
if (document.getElementsByClassName("jsoneditor-container").length === 0) return; | if (document.getElementsByClassName("jsoneditor-container").length === 0) return; | ||
let targetJSON = mw.util.wikiUrlencode('RPG in City/game.json'); | |||
if (document.getElementById("jsoneditor-target")) { | |||
targetJSON = mw.util.wikiUrlencode(document.getElementById("jsoneditor-target").dataSet.target); | |||
} | |||
mw.loader.getScript("https://cdn.jsdelivr.net/npm/@json-editor/json-editor@latest/dist/jsoneditor.min.js").then(function() { | mw.loader.getScript("https://cdn.jsdelivr.net/npm/@json-editor/json-editor@latest/dist/jsoneditor.min.js").then(function() { | ||
fetch("https://dev.libertygame.work/index.php/%EB%A6%AC%EB%B2%84%ED%8B%B0%EA%B2%8C%EC%9E%84:%EA%B2%8C%EC%9E%84_%EB%A9%94%ED%83%80%EB%8D%B0%EC%9D%B4%ED%84%B0/%EC%8A%A4%ED%82%A4%EB%A7%88.json?action=raw") | fetch("https://dev.libertygame.work/index.php/%EB%A6%AC%EB%B2%84%ED%8B%B0%EA%B2%8C%EC%9E%84:%EA%B2%8C%EC%9E%84_%EB%A9%94%ED%83%80%EB%8D%B0%EC%9D%B4%ED%84%B0/%EC%8A%A4%ED%82%A4%EB%A7%88.json?action=raw") | ||
8번째 줄: | 12번째 줄: | ||
const value = document.querySelector('#value'); | const value = document.querySelector('#value'); | ||
let schema = result; | |||
const editor = new JSONEditor(jsonEditorContainer, { | const editor = new JSONEditor(jsonEditorContainer, { | ||
16번째 줄: | 20번째 줄: | ||
iconlib: 'fontawesome5', | iconlib: 'fontawesome5', | ||
keep_oneof_values: false | keep_oneof_values: false | ||
}); | }, targetJSON); | ||
editor.on('change', function () { | editor.on('change', function () { |
2024년 12월 22일 (일) 15:38 판
function LoadJSONEditor() {
if (document.getElementsByClassName("jsoneditor-container").length === 0) return;
let targetJSON = mw.util.wikiUrlencode('RPG in City/game.json');
if (document.getElementById("jsoneditor-target")) {
targetJSON = mw.util.wikiUrlencode(document.getElementById("jsoneditor-target").dataSet.target);
}
mw.loader.getScript("https://cdn.jsdelivr.net/npm/@json-editor/json-editor@latest/dist/jsoneditor.min.js").then(function() {
fetch("https://dev.libertygame.work/index.php/%EB%A6%AC%EB%B2%84%ED%8B%B0%EA%B2%8C%EC%9E%84:%EA%B2%8C%EC%9E%84_%EB%A9%94%ED%83%80%EB%8D%B0%EC%9D%B4%ED%84%B0/%EC%8A%A4%ED%82%A4%EB%A7%88.json?action=raw")
.then(function (result) {
const jsonEditorContainer = document.querySelector('.json-editor-container');
const value = document.querySelector('#value');
let schema = result;
const editor = new JSONEditor(jsonEditorContainer, {
schema: schema,
theme: 'bootstrap4',
show_errors: 'always',
iconlib: 'fontawesome5',
keep_oneof_values: false
}, targetJSON);
editor.on('change', function () {
value.value = JSON.stringify(editor.getValue(), null, 2);
});
}).catch(function (e) {
console.log("JSON 에디터 로딩 중 장애 발생" + e.message);
});
});
}
$(LoadJSONEditor);