미디어위키:Gadget-JSONEditor.js
보이기
참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.
- 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
- 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
- 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
function LoadJSONEditor() {
if (document.getElementsByClassName("jsoneditor-container").length === 0) return;
var targetJSON = "https://dev.libertygame.work/index.php/RPG_in_City/game.json?action=raw";
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){return result.json(); })
.then(function (result) {
const jsonEditorContainer = document.querySelector('.json-editor-container');
const editorvalue = document.querySelector('#value');
var schema = result;
fetch(targetJSON).then(function(result){return result.json(); }).then(function (response) {
const editor = new JSONEditor(jsonEditorContainer, {
mode: 'tree',
schema: schema,
theme: 'bootstrap4',
ajv: null,
iconlib: 'fontawesome5',
keep_oneof_values: false
}, response);
editor.on('change', function () {
editorvalue.value = JSON.stringify(editor.getValue(), null, 2);
});
}).catch('JSON 에디터 로딩 후 JSON 타겟 가져오기 실패');
}).catch(function (e) {
console.log("JSON 에디터 로딩 중 장애 발생" + e.message);
});
});
}
$(LoadJSONEditor);