본문으로 이동

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

리버티게임(개발), 모두가 만들어가는 자유로운 게임
Senouis (토론 | 기여)
잔글편집 요약 없음
Senouis (토론 | 기여)
잔글편집 요약 없음
3번째 줄: 3번째 줄:
   if (document.getElementsByClassName("jsoneditor-container").length === 0) return;
   if (document.getElementsByClassName("jsoneditor-container").length === 0) return;
   Promise.all([
   Promise.all([
   mw.loader.load("https://cdn.jsdelivr.net/npm/@json-editor/json-editor@latest/dist/jsoneditor.min.js"),
   mw.loader.getScript("https://cdn.jsdelivr.net/npm/@json-editor/json-editor@latest/dist/jsoneditor.min.js"),
   mw.loader.load("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")
   mw.loader.getScript("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) {
   ]).then(function (result) {
     console.log(result);
     console.log(result);

2024년 12월 21일 (토) 00:04 판

function LoadJSONEditor() {
  if (document.getElementsByClassName("jsoneditor-container").length === 0) return;
  Promise.all([
  	mw.loader.getScript("https://cdn.jsdelivr.net/npm/@json-editor/json-editor@latest/dist/jsoneditor.min.js"),
  	mw.loader.getScript("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) {
  	  console.log(result);
	  var jsonEditorContainer = document.querySelector('.json-editor-container');
	  var value = document.querySelector('#value');
	
	  var schema = result[1];
	
	  var editor = new result[0].JSONEditor(jsonEditorContainer, {
	    schema: schema,
	    theme: 'bootstrap4',
	    show_errors: 'always',
	    iconlib: 'fontawesome5',
	    keep_oneof_values: false
	  });
	
	  editor.on('change', function () {
	    value.value = JSON.stringify(editor.getValue());
	  });
	
	  document.querySelector('.set-value').addEventListener('click', function () {
	    editor.setValue({ test: 0 });
	  });
  }).catch(function (e) {
  	console.log("JSON 에디터 로딩 중 장애 발생" + e.message);
  });
}

$(LoadJSONEditor);