Lungo.Resource.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * Load Resources
  3. *
  4. * @namespace Lungo
  5. * @class Resource
  6. *
  7. * @author Javier Jimenez Villar <javi@tapquo.com> || @soyjavi
  8. */
  9. Lungo.Resource = (function(lng, $$, undefined) {
  10. var ELEMENT = lng.Constants.ELEMENT;
  11. var ERROR = lng.Constants.ERROR;
  12. /**
  13. * Start loading async sections (local & remote)
  14. *
  15. * @method start
  16. *
  17. */
  18. var load = function(resource) {
  19. if (lng.Core.toType(resource) === 'array') {
  20. for (var i=0, len=resource.length; i < len; i++) {
  21. _load(resource[i]);
  22. }
  23. } else {
  24. _load(resource);
  25. }
  26. };
  27. /**
  28. *
  29. */
  30. var _load = function(resource) {
  31. try {
  32. var response = _loadSyncResource(resource);
  33. _pushResourceInBody(response);
  34. } catch(error) {
  35. lng.Core.log(3, error.message);
  36. }
  37. };
  38. var _loadSyncResource = function(url) {
  39. return $$.ajax({
  40. url: url,
  41. async: false,
  42. dataType: 'html',
  43. error: function() {
  44. console.error(ERROR.LOADING_RESOURCE + url);
  45. }
  46. });
  47. };
  48. var _pushResourceInBody = function(section) {
  49. if (lng.Core.toType(section) === 'string') {
  50. lng.dom(ELEMENT.BODY).append(section);
  51. }
  52. };
  53. return {
  54. load: load
  55. };
  56. })(Lungo, Quo);