Lungo.View.Element.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * Initialize the <articles> layout of a certain <section>
  3. *
  4. * @namespace LUNGO.View
  5. * @class Element
  6. *
  7. * @author Javier Jimenez Villar <javi@tapquo.com> || @soyjavi
  8. */
  9. LUNGO.View.Element = (function(lng, undefined) {
  10. var SELECTORS = {
  11. BUBBLE: '.bubble'
  12. };
  13. var BINDING_START = '{{';
  14. var BINDING_END = '}}';
  15. var count = function(selector, count) {
  16. var element = lng.Dom.query(selector);
  17. if (element ) {
  18. if (count > 0) {
  19. _setBubble (element, count);
  20. } else {
  21. element.children(SELECTORS.BUBBLE).remove();
  22. }
  23. }
  24. };
  25. var _setBubble = function(element, count) {
  26. var bubbles = element.children(SELECTORS.BUBBLE);
  27. var total_bubbles = bubbles.length;
  28. if (total_bubbles > 0) {
  29. for (i=0, len = total_bubbles.length; i < len; i++) {
  30. bubbles.html(count);
  31. }
  32. } else {
  33. var count_html = LUNGO.Attributes.Data.Count.html;
  34. var html_binded = count_html.replace(BINDING_START + 'value' + BINDING_END, count);
  35. element.append(html_binded);
  36. }
  37. }
  38. return {
  39. count: count
  40. };
  41. })(LUNGO);