このテーマの前回: タスクリストを #HandyFlowy から #Trello に転送する試み その6
これまでの応用。
一番下層のトピックをシャッフルして、一定の枚数ごとにリストに分けて登録するだけ。
登録するのはトピック名だけで、ノートも期限もリンクも無し。
/* WFy2Trello_shuffle_cards.js */ var readCards = function (ele) { var cards = []; $(ele).each(function(){ var className = $(this).attr('class'); var classNameS = className.split(' '); var name = $(this).find("> .name > .content").text(); if (classNameS.indexOf("open")>=0) { cards = cards.concat( readCards($(this).find("> .children > .project") ) ) } else { var v = {}; v.number = (Math.random() * 65536).toFixed(); v.name = name; cards.push(v); } }); return cards; } var sheaf = readCards($('.project.selected > .children > .project')).sort(function(a, b){return a.number - b.number}); var cancel = false; do { var n = prompt("1リストあたり何カード?(1~50)","10"); if (n == null || n == "") { cancel = true; break; } } while (n < 1 || n > 50); if (!cancel) { var bunch = []; var i = 0; do { var d = {}; d.listName = "List" + i; d.cards = sheaf.splice(0,n); bunch.push(d); i++ } while (sheaf.length > 0); var bundle = {}; bundle.bunch = bunch; // console.log(bundle); var bundleJ = JSON.stringify(bundle); window.open('workflow://run-workflow?name=clip_to_Trello_shuffle&input=text&text=' + encodeURIComponent(bundleJ)); }