Lungo.Boot.Article.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /**
  2. * Initialize the <article> element
  3. *
  4. * @namespace LUNGO.Boot
  5. * @class Article
  6. *
  7. * @author Javier Jimenez Villar <javi@tapquo.com> || @soyjavi
  8. * @author Guillermo Pascual <pasku@tapquo.com> || @pasku1
  9. */
  10. LUNGO.Boot.Article = (function(lng, undefined) {
  11. var ATTRIBUTE = lng.Constants.ATTRIBUTE;
  12. var ELEMENT = lng.Constants.ELEMENT;
  13. var SELECTORS = {
  14. LIST_IN_ARTICLE: 'article.list, aside.list',
  15. CHECKBOX_IN_ARTICLE: '.checkbox, .radio'
  16. };
  17. /**
  18. * Initializes the markup elements of an article
  19. *
  20. * @method init
  21. */
  22. var start = function() {
  23. _initElement(SELECTORS.LIST_IN_ARTICLE, _createListElement);
  24. _initElement(SELECTORS.CHECKBOX_IN_ARTICLE, _createCheckboxElement);
  25. };
  26. var _initElement = function(selector, callback) {
  27. var found_elements = lng.dom(selector);
  28. for (var i = 0, len = found_elements.length; i < len; i++) {
  29. var element = lng.dom(found_elements[i]);
  30. lng.Core.execute(callback, element);
  31. }
  32. };
  33. var _createListElement = function(article) {
  34. if (article.children().length === 0) {
  35. var article_id = article.attr(ATTRIBUTE.ID);
  36. article.append(ELEMENT.LIST);
  37. }
  38. };
  39. var _createCheckboxElement = function(checkbox) {
  40. checkbox.append(ELEMENT.SPAN);
  41. };
  42. return {
  43. start: start
  44. };
  45. })(LUNGO);