Sha256: 314bb0655ffb7d33d81494861a455bf021516f15f8a9bb4d07a58cb9370ea86e

Contents?: true

Size: 1.41 KB

Versions: 1

Compression:

Stored size: 1.41 KB

Contents

var mumuki = mumuki || {};

mumuki.load(function () {
  var $newDiscussionModal = $('.new-discussion-modal');
  var $newDiscussion = $('.discussion-create');

  $newDiscussion.click(function () {
    $newDiscussionModal.modal({
      backdrop: 'static',
      keyboard: false
    });
  });

  var $subscriptionSpans = $('.discussion-subscription > span');
  var $upvoteSpans = $('.discussion-upvote > span');

  function createNewMessageEditor() {
    var $textarea = $("#new-discussion-message");
    var textarea = $textarea[0];
    if(!textarea) return;
    var builder = new mumuki.editor.CodeMirrorBuilder(textarea);
    builder.setupSimpleEditor();
    builder.setupOptions($textarea.data('lines'));
    builder.build();
  }

  createNewMessageEditor();

  var Forum = {
    toggleButton: function (spans) {
      spans.toggleClass('hidden');
    },
    token: new mumuki.CsrfToken(),
    discussionSubscription: function (url) {
      Forum.discussionPostAndToggle(url, $subscriptionSpans)
    },
    discussionUpvote: function (url) {
      Forum.discussionPostAndToggle(url, $upvoteSpans)
    },
    discussionPostAndToggle: function (url, elem) {
      Forum.tokenRequest({
        url: url,
        method: 'POST',
        success: Forum.toggleButton(elem),
        xhrFields: {withCredentials: true}
      })
    },
    tokenRequest: function (data) {
      $.ajax(Forum.token.newRequest(data))
    }
  };

  mumuki.Forum = Forum;

});

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mumuki-laboratory-5.7.0 app/assets/javascripts/application/discussions.js