taffydb tests
by Darksbane
HTML
<script src="http://www.cardgamedb.com/gameofthrones/taffy-min.js"></script>
<script src="http://www.cardgamedb.com/gameofthrones/javascript/gotjson.js"></script>
<input type="text" id="myinput">
<span id="myspan"></span>
<ul id="myul"></ul>
<button id="mybutton">adsf</button>
JavaScript
var db = TAFFY(cards)
var firstRecord = db().first();
$('#myul').append('<li>'+firstRecord.name+'</li>');
var record =db({type:["Character","Agenda"]},[{stark:"Stark"},{lannister:"Lannister"}],{set:"Core"},{strength:{gte:9}}/*,{text:{like:["Renown","Any Phase"]}}*/).supplant("<li>{name} {cost} {strength} {text}</li>");
$('#myul').append(record);
$('#mybutton').click(function(){
var record2 =db({text:{like:["Renown","Any Phase"]}}).supplant("<li>{name} {cost} {strength} {text}</li>");
$('#myul').empty().append(record2);
});
$("#myinput").change(function(){
clearTimeout($(this).data('timeout'));
var textLength = $(this).val().length;
if (textLength >= 3){
$(this).data('timeout', setTimeout(filterCards, 500));
}
}).data('timeout', null).keyup( function () {
// fire the above change event after every letter
$(this).change();
});
var previous;
function filterCards(){
$('#myspan').text($('#myspan').text()+'#');
//var newarray = $("#myinput").val().split(" ");
var newarray = $("#myinput").val().match(/[a-zA-Z][a-zA-Z]:"(?:\\"|[^"])+"|"(?:\\"|[^"])+"|[+|-]?\w+/g);
myarray = [];
for (i=0;i<newarray.length;i++){
if (newarray[i][0] == '"'){
var item = newarray[i].replace(/["']/g, "")
} else {
var item = newarray[i];
}
console.log("item",item);
myarray.push({text:{likenocase:item}});
myarray.push({name:{likenocase:item}});
}
console.log("myarray",db);
var test ={text:{likenocase:"any phase"}};
//arguments.push(test);
var record2 =db(myarray).supplant("<li>{name} {cost} {strength} {text}</li>");
$('#myul').empty().append(record2);
if (previous != $("#myinput").val().trim()){
console.log(newarray);
}
previous = $("#myinput").val().trim();
}