<commit_before>$(function() {
    $(document).on('click', '#stock_id', function() {
        var open_id = $("#open_id").val();

        $.ajax({
            type:"POST",
            url:"/favorites",
            data:{"open_item_id": open_id},

            success: function(msg){
            }
        });

        $('#stock_id').text('お気に入りを解除する');
        $('#stock_id').removeClass('btn-success');
        $('#stock_id').addClass('btn-default');
        $('#stock_id').attr('id', 'unstock_id');
    });
    $(document).on('click', '#unstock_id', function() {
        var open_id = $("#open_id").val();
        $.ajax({
            type:"POST",
            url:"/favorites/" + open_id,
            data:{"_method": "delete"},

            success: function(msg){
            }
        });

        $('#unstock_id').text('この記事をお気に入りする');
        $('#unstock_id').removeClass('btn-default');
        $('#unstock_id').addClass('btn-success');
        $('#unstock_id').attr('id', 'stock_id');
    });<commit_msg>modify: change stock button loading mode when clicked<commit_after>$(function() {
  /**
   * @description ボタンをローディングかつクリック不可にする
   * @param {mixed} selector
   * @return void
   */
  var loadingButton = function(selector) {
    $(selector).button('loading');
  };

  /**
   * @description ボタンのローディング表示を解除する
   * @param {mixed} selector
   * @return void
   */
  var resetButton = function(selector) {
    $(selector).button('reset');
  };

  $(document).on('click', '#stock_id', function() {
    loadingButton(this);

    var open_id = $("#open_id").val();

    var ajaxPromise = $.ajax({
      type    : "POST",
      url     : "/favorites",
      data    : {"open_item_id": open_id},
      success : function(msg){
      }
    }).promise();

    ajaxPromise.then(function(result) {
      resetButton('#stock_id');
      $('#stock_id').text('お気に入りを解除する');
      $('#stock_id').removeClass('btn-success');
      $('#stock_id').addClass('btn-default');
      $('#stock_id').attr('id', 'unstock_id');
    }, function(error) {
    });
  });

  $(document).on('click', '#unstock_id', function() {
    var open_id = $("#open_id").val();
    var ajaxPromise = $.ajax({
      type    : "POST",
      url     : "/favorites/" + open_id,
      data    : {"_method": "delete"},
      success : function(msg){
      }
    }).promise();

    ajaxPromise.then(function(result) {
      $('#unstock_id').text('この記事をお気に入りする');
      $('#unstock_id').removeClass('btn-default');
      $('#unstock_id').addClass('btn-success');
      $('#unstock_id').attr('id', 'stock_id');
    }, function(error) {
    });
  });
{'fraction_non_alphanumeric': 0.2165067178502879, 'fraction_numerical': 0.0, 'mean_word_length': 2.57967032967033, 'pattern_counts': {'":': 4, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6686729', 'n_tokens_mistral': 872, 'n_tokens_neox': 866, 'n_words': 123}