Lungo.Fallback.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /**
  2. * ?
  3. *
  4. * @namespace LUNGO
  5. * @class Fallback
  6. *
  7. * @author Javier Jimenez Villar <javi@tapquo.com> || @soyjavi
  8. */
  9. LUNGO.Fallback = (function(lng, undefined) {
  10. var CLASS = lng.Constants.CLASS;
  11. var androidButtons = function() {
  12. environment = lng.Core.environment();
  13. if (environment.isMobile && environment.os.name === 'android') {
  14. lng.dom(document.body).on('touchstart', '.button', _addClassActiveToButton);
  15. lng.dom(document.body).on('touchend', '.button', _removeClassActiveToButton);
  16. }
  17. };
  18. var androidInputs = function(article_id, active) {
  19. environment = lng.Core.environment();
  20. if (environment.isMobile && environment.os.name === 'android' && environment.os.version < '4') {
  21. var selector = article_id + ' input, ' + article_id + ' textarea, ' + article_id + ' select';
  22. var input_elements = lng.dom(selector);
  23. for (var i = 0, len = input_elements.length; i < len; i++) {
  24. (active) ? _enableAndroidInput(input_elements[i]) : _disableAndroidInput(input_elements[i]);
  25. }
  26. }
  27. };
  28. var positionFixed = function(sections) {
  29. environment = lng.Core.environment();
  30. if (environment.isMobile && environment.os.name === 'ios' && environment.os.version >= '4.2') {
  31. sections.style('position', 'fixed');
  32. }
  33. };
  34. var _enableAndroidInput = function(input) {
  35. input.removeAttribute('disabled');
  36. };
  37. var _disableAndroidInput = function(input) {
  38. input.setAttribute('disabled', 'disabled');
  39. };
  40. var _addClassActiveToButton = function(element) {
  41. lng.dom(this).addClass(CLASS.ACTIVE);
  42. };
  43. var _removeClassActiveToButton = function(element) {
  44. lng.dom(this).removeClass(CLASS.ACTIVE);
  45. };
  46. return {
  47. androidButtons: androidButtons,
  48. androidInputs: androidInputs,
  49. positionFixed: positionFixed
  50. }
  51. })(LUNGO);