Sha256: 99b0f385988ffa386b0aafa1317a6741ec76b506e1ec7e6bff86565934a74dda

Contents?: true

Size: 1.62 KB

Versions: 25

Compression:

Stored size: 1.62 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;

    new mumuki.editor.CodeMirrorBuilder(textarea)
      .setupSimpleEditor()
      .setupMinLines($textarea.data('lines'))
      .build();
  }

  createNewMessageEditor();

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

  mumuki.Forum = Forum;

});

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
mumuki-laboratory-6.1.5 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.0.4 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.1.4 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.1.3 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.0.3 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.1.2 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.1.1 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.1.0 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.0.2 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.0.1 app/assets/javascripts/application/discussions.js
mumuki-laboratory-6.0.0 app/assets/javascripts/application/discussions.js
mumuki-laboratory-5.13.0 app/assets/javascripts/application/discussions.js
mumuki-laboratory-5.12.1 app/assets/javascripts/application/discussions.js
mumuki-laboratory-5.12.0 app/assets/javascripts/application/discussions.js
mumuki-laboratory-5.11.0 app/assets/javascripts/application/discussions.js
mumuki-laboratory-5.10.4 app/assets/javascripts/application/discussions.js
mumuki-laboratory-5.10.3 app/assets/javascripts/application/discussions.js
mumuki-laboratory-5.10.2 app/assets/javascripts/application/discussions.js
mumuki-laboratory-5.10.1 app/assets/javascripts/application/discussions.js
mumuki-laboratory-5.10.0 app/assets/javascripts/application/discussions.js