본문으로 이동

미디어위키:Gadget-JSONEditor.js: 두 판 사이의 차이

리버티게임(개발), 모두가 만들어가는 자유로운 게임
Senouis (토론 | 기여)
잔글편집 요약 없음
Senouis (토론 | 기여)
잔글편집 요약 없음
태그: 되돌려진 기여
4번째 줄: 4번째 줄:
   var targetJSON = "https://dev.libertygame.work/index.php/RPG_in_City/game.json?action=raw";
   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() {
   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) {
    console.log(result);
  const jsonEditorContainer = document.querySelector('.json-editor-container');
  const value = document.querySelector('#value');
  var schema = result;
  fetch(targetJSON).then(function(result){return result.json(); }).then(function (response) {
  fetch(targetJSON).then(function(result){return result.json(); }).then(function (response) {
    console.log(result);
  const jsonEditorContainer = document.querySelector('.json-editor-container');
  const value = document.querySelector('#value');
  var schema = result;
  const editor = new JSONEditor(jsonEditorContainer, {
  const editor = new JSONEditor(jsonEditorContainer, {
    schema: schema,
    theme: 'bootstrap4',
    theme: 'bootstrap4',
    show_errors: 'always',
    show_errors: 'always',
24번째 줄: 20번째 줄:
    value.value = JSON.stringify(editor.getValue(), null, 2);
    value.value = JSON.stringify(editor.getValue(), null, 2);
  });
  });
  }).catch('JSON 에디터 로딩 후 JSON 타겟 가져오기 실패');
  }).catch(function (e) { console.log('JSON 에디터 로딩 후 JSON 타겟 가져오기 실패');});
  }).catch(function (e) {
  console.log("JSON 에디터 로딩 중 장애 발생" + e.message);
  });
   });
   });
}
}


$(LoadJSONEditor);
$(LoadJSONEditor);

2024년 12월 22일 (일) 15:56 판

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(targetJSON).then(function(result){return result.json(); }).then(function (response) {
		  	  console.log(result);
			  const jsonEditorContainer = document.querySelector('.json-editor-container');
			  const value = document.querySelector('#value');
			
			  var schema = result;
			  const editor = new JSONEditor(jsonEditorContainer, {
			    theme: 'bootstrap4',
			    show_errors: 'always',
			    iconlib: 'fontawesome5',
			    keep_oneof_values: true
			  }, response);
			
			  editor.on('change', function () {
			    value.value = JSON.stringify(editor.getValue(), null, 2);
			  });
		  }).catch(function (e) { console.log('JSON 에디터 로딩 후 JSON 타겟 가져오기 실패');});
  });
}

$(LoadJSONEditor);