Sha256: 7a4356d51ab7f7ad43e7391ed9c8756c7ad08386cde1fe8113be37de2b5b1fb8

Contents?: true

Size: 916 Bytes

Versions: 1

Compression:

Stored size: 916 Bytes

Contents

var seo = {
  init: function() {
    if(!seo.data('empty-slug')) return;
    this.sluggable_input().on('keydown', this.keydown_listener);
    this.sluggable_input().on('keyup', $.debounce(250, this.keyup_listener));
  },

  data: function(key) {
    return $('[data-seo]').data(key);
  },

  keydown_listener: function(e) {
    if(e.keyCode == 13) e.preventDefault();
  },

  keyup_listener: function(e) {
    if(seo.slug_input().attr('disabled')) return;
    var input = $(this);

    $.ajax({
      url: seo.data('path'),
      data: { value: input.val() },
      type: 'GET'
    }).done(function(data){
      seo.slug_input().val(data.result);
      if(e.keyCode == 13) input.parents('form').submit();
    });
  },

  slug_input: function() {
    return $('input[id*="seo_slug"]');
  },

  sluggable_input: function() {
    return $($('[data-seo]').data('sluggable-input'));
  }
};

$(function(){ seo.init(); });

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
udongo-7.9.0 app/assets/javascripts/backend/seo.js