Advertisement
Guest User

Untitled

a guest
Jun 27th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var bind = function () {
  2.         var $form = $(".api-offer-form");
  3.         var error;
  4.  
  5.         var tooltipElem;
  6.  
  7.         (function() {
  8.             var $accessTokenDiv = $('#access_token_div');
  9.             var getTokenUrl = $accessTokenDiv.data('get-token-url');
  10.             var $getStartedLabel = $('.api-page-key__label');
  11.             var getToken = function () {
  12.                 $.ajax({
  13.                     dataType: "json",
  14.                     url: getTokenUrl,
  15.                     success: function (json) {
  16.                         $accessTokenDiv.html(json.data.access_token);
  17.                         $getStartedLabel.each(function(index) {
  18.                             $(this).html('api key: ' + json.data.access_token);
  19.                         })
  20.                     }
  21.                 });
  22.             };
  23.             getToken();
  24.         })();
  25.  
  26.         var hideTooltipster = function() {
  27.             if (tooltipElem) {
  28.                 if (tooltipElem.length > 0) {
  29.                     try {
  30.                         tooltipElem.tooltipster('destroy');
  31.                         tooltipElem.removeClass('g-error error');
  32.                         $('.tooltipster').removeClass('tooltipster').removeClass('tooltipstered');
  33.                         tooltipElem = null;
  34.                     }
  35.                     catch (e) {
  36.                     }
  37.                 }
  38.                 else {
  39.                     tooltipElem = null;
  40.                 }
  41.             }
  42.         };
  43.  
  44.         //$(document).click(hideTooltipster);
  45.  
  46.         var showTooltipster = function(element, text, position, hide_all) {
  47.             var hide_all = hide_all || true;
  48.             if (hide_all === true) {
  49.                 hideTooltipster();
  50.             }
  51.             tooltipElem = $(element);
  52.             tooltipElem.addClass('tooltipster');
  53.             var position = position || 'right';
  54.             tooltipElem.tooltipster({
  55.                 trigger: 'custom',
  56.                 multiple: true,
  57.                 timer: 7000,
  58.                 theme: 'tooltipster-error',
  59.                 position: position
  60.             });
  61.             tooltipElem.tooltipster('hide', function () {
  62.                 if (tooltipElem && tooltipElem.length > 0) {
  63.                     tooltipElem.removeClass('g-error error');
  64.                     $('.tooltipster').removeClass('tooltipster');
  65.                 }
  66.             });
  67.             tooltipElem.tooltipster('content', text);
  68.             tooltipElem.tooltipster('show');
  69.             //tooltipElem.addClass('g-error error');
  70.             tooltipElem.focus();
  71.         };
  72.  
  73.         var showErrorMessage = function ($field, message) {
  74.             showTooltipster($field, message, 'top');
  75.             $field.on('input', function(event){
  76.                 event.preventDefault();
  77.             });
  78.             $field.get(0).focus();
  79.             error = true;
  80.         };
  81.  
  82.         var onFieldError = function () {
  83.             var errors = window.ParsleyUI.getErrorsMessages(this);
  84.             showErrorMessage(this.$element, errors[0]);
  85.             //nonValid(this.$element);
  86.         };
  87.  
  88.         var onFieldSuccess = function () {
  89.             var field = $('.form-control.tooltipstered', $form);
  90.             console.log(field);
  91.             field.tooltipster('hide').tooltipster('destroy').removeClass('error');
  92.         };
  93.  
  94.         $(".form-control--email").tooltipster({
  95.             trigger: "custom",
  96.             theme: "tooltipster-error"
  97.         });
  98.  
  99.         var formSubmitSuccess = function () {
  100.             var formData = $form.serializeArray();
  101.             var actionUrl = $form.attr('action');
  102.             $('.modal-alert--notification').modal('show');
  103.             return false;
  104.         };
  105.  
  106.         $form.each(function (index) {
  107.             $(this).parsley()
  108.                    .on('field:error', onFieldError)
  109.                    .on('field:success', onFieldSuccess)
  110.                    .on('field:focus', hideTooltipster)
  111.                    .on('field:focusout', hideTooltipster)
  112.                    .on('form:submit', formSubmitSuccess);
  113.         });
  114.  
  115.         function nonValid(field) {
  116.             showTooltipster(field, 'TEST', top);
  117.         }
  118.  
  119.         $('.form-control--email').each(function(){
  120.             hideTooltipster();
  121.             $(this).on('keyup input', function(event){
  122.                 event.preventDefault();
  123.                 return false;
  124.             });
  125.             $(this).on('blur', function(){
  126.                // nonValid($(this));
  127.             });
  128.         });
  129.  
  130.         //$form.each(function (index) {
  131.         //    console.log(this);
  132.         //    this.submit(function() {
  133.         //        var $field = this.closest('.form-control--email');
  134.         //
  135.         //        console.log($field);
  136.         //        showTooltipster($field, 'test', 'top');
  137.         //    });
  138.         //});
  139.  
  140.         $(document).on('click', '.btn-api-page-modal--close, .close-modal', function (event) {
  141.             $(this).closest('.alert-modal').next('.blocker').fadeOut();
  142.             $(this).closest('.alert-modal').fadeOut();
  143.         });
  144.  
  145.         $(document).on('click', '.blocker', function (event) {
  146.             $(this).fadeOut();
  147.             $(this).closest('.alert-modal').fadeOut();
  148.         });
  149.     };
  150.  
  151.     var init = function () {
  152.         bind();
  153.     };
  154.  
  155.     $(document).ready(function(){
  156.  
  157.         init();
  158.  
  159.         var ButtonRequestApiAccess    = $('.request-api-access-btn');
  160.         var SectionApiPageKey         = $('.api-page-key', '.api-offer-form');
  161.         var SectionApiPageActions     = $('.api-page-actions');
  162.  
  163.         ButtonRequestApiAccess.each(function(){
  164.             $(this).on('click', function(){
  165.                 $(this).closest(SectionApiPageActions).fadeOut(0).prev(SectionApiPageKey).fadeIn(0);
  166.                 return false;
  167.             });
  168.         });
  169.     });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement