374 var filterTag = "" ; |
374 var filterTag = "" ; |
375 if ('tag' in filterData) |
375 if ('tag' in filterData) |
376 filterTag = filterData['tag'] ; |
376 filterTag = filterData['tag'] ; |
377 this.filterByTag(filterTag, cWithTagIds, rWithTagIds) ; |
377 this.filterByTag(filterTag, cWithTagIds, rWithTagIds) ; |
378 |
378 |
|
379 var cWithCatIds = [] ; |
|
380 var rWithCatIds = [] ; |
|
381 var filterCat = "" ; |
|
382 if ('cat' in filterData) |
|
383 filterCat = filterData['cat'] ; |
|
384 this.filterByCat(filterCat, cWithCatIds, rWithCatIds) ; |
|
385 |
379 var cWithStateIds = [] ; |
386 var cWithStateIds = [] ; |
380 var rWithStateIds = [] ; |
387 var rWithStateIds = [] ; |
381 var filterState = "" ; |
388 var filterState = "" ; |
382 if ('state' in filterData) |
389 if ('state' in filterData) |
383 filterState = filterData['state'] ; |
390 filterState = filterData['state'] ; |
387 var commentIds = [] ; |
394 var commentIds = [] ; |
388 var replyIds = [] ; |
395 var replyIds = [] ; |
389 // find intersections |
396 // find intersections |
390 for (var i = 0, ilen = cWithNameIds.length ; i < ilen ; i++) { |
397 for (var i = 0, ilen = cWithNameIds.length ; i < ilen ; i++) { |
391 var id = cWithNameIds[i] ; |
398 var id = cWithNameIds[i] ; |
392 if ((CY.Array.indexOf(cAfterDateIds, id) != -1) && (CY.Array.indexOf(cWithTextIds,id) != -1) && (CY.Array.indexOf(cWithTagIds,id) != -1) && (CY.Array.indexOf(cWithStateIds,id) != -1)) { |
399 if ((CY.Array.indexOf(cAfterDateIds, id) != -1) && (CY.Array.indexOf(cWithTextIds,id) != -1) && (CY.Array.indexOf(cWithTagIds,id) != -1) && (CY.Array.indexOf(cWithCatIds,id) != -1) && (CY.Array.indexOf(cWithStateIds,id) != -1)) { |
393 commentIds.push(id) ; |
400 commentIds.push(id) ; |
394 } |
401 } |
395 } |
402 } |
396 |
403 |
397 for (var i = 0, ilen = rWithNameIds.length ; i < ilen ; i++) { |
404 for (var i = 0, ilen = rWithNameIds.length ; i < ilen ; i++) { |
398 var id = rWithNameIds[i] ; |
405 var id = rWithNameIds[i] ; |
399 if ((CY.Array.indexOf(rAfterDateIds,id) != -1) && (CY.Array.indexOf(rWithTextIds,id) != -1) && (CY.Array.indexOf(rWithTagIds,id) != -1) && (CY.Array.indexOf(rWithStateIds,id) != -1)) { |
406 if ((CY.Array.indexOf(rAfterDateIds,id) != -1) && (CY.Array.indexOf(rWithTextIds,id) != -1) && (CY.Array.indexOf(rWithTagIds,id) != -1) && (CY.Array.indexOf(rWithCatIds,id) != -1) && (CY.Array.indexOf(rWithStateIds,id) != -1)) { |
400 replyIds.push(id) ; |
407 replyIds.push(id) ; |
401 } |
408 } |
402 } |
409 } |
403 |
410 |
404 var nbReplies = replyIds.length, nbComments = commentIds.length ; |
411 var nbReplies = replyIds.length, nbComments = commentIds.length ; |
465 rWithTagIds.push(comment.id) ; |
472 rWithTagIds.push(comment.id) ; |
466 } |
473 } |
467 } |
474 } |
468 }, |
475 }, |
469 |
476 |
|
477 filterByCat : function(cat, cWithCatIds, rWithCatIds) { |
|
478 for (var id in this.allCommentsByDbId) { |
|
479 var comment = this.allCommentsByDbId[id] ; |
|
480 if (cat == "" || comment.category == cat) { |
|
481 if (comment.reply_to_id == null) { |
|
482 cWithCatIds.push(comment.id); |
|
483 if (comment.replies.length) { |
|
484 for (var reply in comment.replies) { |
|
485 rWithCatIds.push(comment.replies[reply].id) ; |
|
486 } |
|
487 } |
|
488 } |
|
489 } |
|
490 } |
|
491 }, |
|
492 |
470 filterByState : function(state, cWithStateIds, rWithStateIds) { |
493 filterByState : function(state, cWithStateIds, rWithStateIds) { |
471 for (var id in this.allCommentsByDbId) { |
494 for (var id in this.allCommentsByDbId) { |
472 var comment = this.allCommentsByDbId[id] ; |
495 var comment = this.allCommentsByDbId[id] ; |
473 if (state == "" || comment.state == state) { |
496 if (state == "" || comment.state == state) { |
474 if (comment.reply_to_id == null) |
497 if (comment.reply_to_id == null) |