사용자:Bd3076/common.js: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
백괴게임>Bd3076
편집 요약 없음
백괴게임>Bd3076
편집 요약 없음
19번째 줄: 19번째 줄:
    var variable = $(this).attr("data-var");
    var variable = $(this).attr("data-var");
    var value = $(this).attr("data-val");
    var value = $(this).attr("data-val");
   
    console.log(jsonDoc + "." + variable + "." + value);
     
     
    jsonData[variable] = value;
    jsonData[variable] = value;
26번째 줄: 24번째 줄:
    mp.set(jsonDoc, JSON.stringify(jsonData));
    mp.set(jsonDoc, JSON.stringify(jsonData));
});
});
console.log(mp);
mp.forEach(function(value, key) {
mp.forEach(function(value, key) {
console.log(key + ', ' + value);
if(key === undefined){
if(key === undefined){
console.log("error: document name is undefined");
console.log("error: document name is undefined");

2019년 2월 14일 (목) 15:48 판

/** JSON 편집을 편리하게 해 주는 기능.
 *  [[틀:JSON수정]]을 위한 플러그인입니다.
 *  작성자: [[사:Bd3076|Bd3076]]
 */

function uncy_jsonEdit(){
	var mp = new Map();
	var api = MediaWikiAPI();
	
	$('.uncy-jsonedit').each(function() {
	    var jsonDoc = $(this).attr("data-title");
	    var jsonData;
	    if(mp.get(jsonDoc) === undefined){
	    	jsonData = JSON.parse(api.getDocument(jsonDoc));
	    }
	    else{
	    	jsonData = JSON.parse(mp.get(jsonDoc));
	    }
	    var variable = $(this).attr("data-var");
	    var value = $(this).attr("data-val");
	    
	    jsonData[variable] = value;
	    
	    mp.set(jsonDoc, JSON.stringify(jsonData));
	});
	
	mp.forEach(function(value, key) {
		if(key === undefined){
			console.log("error: document name is undefined");
			return;
		}
		if(value === undefined){
			console.log("error: variable or value is wrong");
			return;
		}
		api.changeDocument(key, "JSON 데이터 수정", value, 1);
	});
	
}
$(uncy_jsonEdit());