.&1|?" {}:+dt 4BEn!3_${Eڞtڹċ.5[oBdi:-9Y`셾1rec-3'Cj4|PwɊ85x~@P3#f&oföΫ(A~"~X௸CۑT=ftFj}ǧ?z4V8~mĒ~>P~ $i%dxbCډһJq򂙼I%OA]m -/[>N{m} 7"΂6\2KȘ  jJH87]'բ s=p3 q>KެcMюPJᛮbUC0(!jJCcYiuDv_/A|#4/]]qmU/ͳTK:S KOBYL𿀟v]G+lCΪojDQ e#C>8FP("d= =a~vK&& r ,1H0N!'5ޏY \8UJUAV{>/w>3@pve.ehh z2K7\ׇ k|:܏[q0<ӿ Wa2wuWwWg;0qgS F>6Ͼ!NyN^sT Ŷfur\Z®"-{47%{A h[bUĨ+s#%8<;f9CX| }'^lÇ Hm^g1(H~w319$_N ~z( 5f~ѣ ˆIs?uxV2 Y\8ŧSeU (V ڑ/D|{Ғ[ yzVvrLȠ+"i g<"܂lg8]g %O뙳7 &j&9vtn:OV] !I,0q}! >Htg%6akCqy",שB\I TQ͙|ѓw-$B jd1=ԢmO UPE6rf]VG9+񏐧L`BPArʪbi ŗ8nn&,`\ff>va3 3930h*-Y-ՂӠ_˦3vf!ޑ;52^}N^c|ӭ]ލt6Z }ً4f6|~8nn&,`\f9i"$I>K,azrLnLb#Y0.ފXT|!Cϛ]_GA nͻ p6bMh|!+#rg Д t*𭶄#Z18nn&,`\f$stzA3] F/ 6FpWk x9ڞ}e,8nn&,`\fO *iZ+z65Zfq5 e]qb4íȶLqOb2 }~*\ƴz&t1F "%Zg#ؘK!f C%a2Zus @4P8nn&,`\fwl-\Yc28ߚ_@:a.!g!r}!B%+rbyٛ5 X5QUdja?\M6ȦŔ%5J5ڤ@ +'DQP^NΆ* h4P6+&NpNo4e|NafM;UEEfls"IE\8nn&,`\fNz}'qhB;0툶=\GldDiC쁄R&e" :x,8f)hIq<98z ј9Dͻ|xIV *-Y-ՂӠ_n#»MV&]95(kgATٸ% (E}]-~:%b^4󅅭A|w|z+&$m$[Mh9CA@Mmbw38.Y?noi-E8nn&,`\fl2CpASpz/b'ʐtq#(e}FR-A..wg⮶.H3>i (Nz ј9D#aV̊*#o&kEw0c, XoU&zZ'nƭBu4__ts 8nn&,`\f)k ;:Ӥf1P<0kS8 NA~SPR`F.8Q6˰%_9>du s j_K(X͎.tko.3f j\sC{Άo0:.vA9 V3;`xgO6 7 ; eax/ M~[ ohx[mw# 9LIeYA `aCqe`꺈U+A^8nn&,`\f}.UX~НCg0qL`Oyn϶ĵI ZOo1*'JG)CY~=j/ˆگ"-cFCĶ&e&Xxv bxɂBauU.gԽAY- JsPU7,?{N8nn&,`\fF.:C=PQ!hgR;qQX@.O!8H?z%IЩ.S[ŏA8nn&,`\fF.:C=PQillNmM6׮k8H?z%IЩتEb6[*zn"-cFCĶ&e&Xxv +Ӱy˘N 6!X Ns0,Cq-AY- JsP9=x:k8nn&,`\fZ '8,m8Q306׮k8H?z%IЩDN_0PQcRDQP^NΆ* h4P6+&Np{TbF<_2#Q ma1OHQ{l,ЮZ~ MA8Ԝ8nn&,`\frc,1( c )$N{ZfjĪv BήI; |WyO5?$qn%8nn&,`\f-EdeyqG¤VL WgKv Bήد{l 1P,ЮZ~ MA8Ԝ8nn&,`\f*kPAr4 ˝Kf^7IN㮹mpAB)^ *"4+Z } ], dataType: "array", dataFields: [ { name: "id", type: "number" }, { name: "name", type: "string" }, { name: "image", type: "string" }, { name: "common", type: "boolean" } ] }; var resourcesDataAdapter = new $.jqx.dataAdapter(resourcesSource); return resourcesDataAdapter; } var getIconClassName = function () { switch (theme) { case "darkblue": case "black": case "shinyblack": case "ui-le-frog": case "metrodark": case "orange": case "darkblue": case "highcontrast": case "ui-sunny": case "ui-darkness": return "jqx-icon-plus-alt-white "; } return "jqx-icon-plus-alt"; } $('#kanban1').jqxKanban({ template: "
" + "
" + "" + "
" + "
" + "" + "
", resources: resourcesAdapterFunc(), source: dataAdapter, // render items. itemRenderer: function (item, data, resource) { $(item).find(".jqx-kanban-item-color-status").html("" + resource.name + ""); $(item).find(".jqx-kanban-item-text").css('background', item.color); item.on('dblclick', function (event) { var input = $(""); var addToHeader = false; var header = null; if (event.target.nodeName == "SPAN" && $(event.target).parent().hasClass('jqx-kanban-item-color-status')) { var input = $(""); // add to header header = event.target; header.innerHTML = ""; input.val($(event.target).text()); $(header).append(input); addToHeader = true; } if (!addToHeader) { var textElement = item.find(".jqx-kanban-item-text"); input.val(textElement.text()); textElement[0].innerHTML = ""; textElement.append(input); } input.mousedown(function (event) { event.stopPropagation(); }); input.mouseup(function (event) { event.stopPropagation(); }); input.blur(function () { var value = input.val(); if (!addToHeader) { $("" + value + "").appendTo(textElement); } else { header.innerHTML = value; } input.remove(); }); input.keydown(function (event) { if (event.keyCode == 13) { if (!header) { $("" + $(event.target).val() + "").insertBefore($(event.target)); $(event.target).remove(); } else { header.innerHTML = $(event.target).val(); } } }); input.focus(); }); }, columns: [ { text: "Backlog", iconClassName: getIconClassName(), dataField: "new", maxItems: 6 }, { text: "In Progress", iconClassName: getIconClassName(), dataField: "work", maxItems: 6 }, { text: "Done", iconClassName: getIconClassName(), dataField: "done", maxItems: 6 } ], // render column headers. columnRenderer: function (element, collapsedElement, column) { var columnItems = $("#kanban1").jqxKanban('getColumnItems', column.dataField).length; // update header's status. element.find(".jqx-kanban-column-header-status").html(" (" + columnItems + "/" + column.maxItems + ")"); // update collapsed header's status. collapsedElement.find(".jqx-kanban-column-header-status").html(" (" + columnItems + "/" + column.maxItems + ")"); } }); // handle item clicks. $('#kanban1').on("itemAttrClicked", function (event) { var args = event.args; if (args.attribute == "template") { $('#kanban1').jqxKanban('removeItem', args.item.id); } }); // handle column clicks. var itemIndex = 0; $('#kanban1').on('columnAttrClicked', function (event) { var args = event.args; if (args.attribute == "button") { args.cancelToggle = true; if (!args.column.collapsed) { var colors = ['#f19b60', '#5dc3f0', '#6bbd49', '#dddddd'] $('#kanban1').jqxKanban('addItem', { status: args.column.dataField, text: "", tags: "new task", color: colors[Math.floor(Math.random() * 4)], resourceId: null }); var input = $("#newItem" + itemIndex); input.mousedown(function (event) { event.stopPropagation(); }); input.mouseup(function (event) { event.stopPropagation(); }); input.keydown(function (event) { if (event.keyCode == 13) { $("" + $(event.target).val() + "").insertBefore($(event.target)); $(event.target).remove(); } }); input.focus(); itemIndex++; } } }); });