Converter tags da criação de projeto para atualização do projeto

by Elvis de Freitas

HTML

<script src="https://rawgit.com/zenorocha/clipboard.js/v1.5.9/dist/clipboard.min.js"></script>
<form id="form">
<label>Tags</label>
<textarea id="inTags"></textarea>
</form>
<br />
<label>Seu JSON aqui</label>
<textarea id="converted" ></textarea>
<button id="doConvert">convert</button>
<button id="doUnConvert">uncovert</button>
<button class="btn" data-clipboard-target="#converted">copy to clipboard</button>

CSS

textarea{
  width: 100%;
  height: 80px;
}

JavaScript

new Clipboard('.btn');
$("#doConvert").on("click", function(){
	var newTags = toTagsUpdateTaiga(JSON.parse($("#inTags").val()));
  var json = JSON.stringify(newTags, null, '  ');
  console.debug(json);
  $('#converted').val(json);
});
$("#doUnConvert").on("click", function(){
	var newTags = toCreateTaigaTags(JSON.parse($("#converted").val()));
  var json = JSON.stringify(newTags, null, '  ');
  console.debug(json);
  $('#inTags').val(json);
});

function toTagsUpdateTaiga(tags){
  var newTags = {};
  tags.forEach(function(tagArr){
    newTags[tagArr[0]] = tagArr[1];
  });
  return newTags;
}
function toCreateTaigaTags(json){
  var fArr = [];
  Object.keys(json).forEach(tagName => {
    fArr.push([tagName, json[tagName]]);
  });
	return fArr;
}