Ohm-Management - Projektarbeit B-ME
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

home.js 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. const HomeRouter = {
  2. template: `
  3. <div>
  4. <div id="om-msg-cards" class="column pull-right-sm is-four-fifths-desktop">
  5. <a id="escape-search-link" @click="goBackToDashboard">< zurück zu allen Einträgen</a>
  6. <b-button id="subscribe-btn" type="is-primary" @click="changeSubscribtion"><div id="btn-text"></div></b-button><br><br>
  7. <MsgCard
  8. v-for="id in messagelist.slice().reverse()"
  9. :key="id"
  10. :msg="messages[id] || {}"
  11. :isBookmark="bookmarkArray[id]"
  12. ></MsgCard>
  13. </div>
  14. </div>`,
  15. data: function () {
  16. return {
  17. messagelist: _messagelist,
  18. messages: _messages,
  19. isSearchActiv: _isSearchActiv,
  20. isSubscripeButtonActiv: _isSubscripeButtonActiv,
  21. bookmarkArray: auth.bookmarks,
  22. };
  23. },
  24. methods: {
  25. list_messages: function() {
  26. messages();
  27. },
  28. goBackToDashboard: function() {
  29. vueForceRender();
  30. $("#escape-search-link").css("visibility", "hidden");
  31. $("#subscribe-btn").css("visibility", "hidden");
  32. },
  33. changeSubscribtion: function(){
  34. var btnString = $("#btn-text").text();
  35. console.log(btnString);
  36. if($("#btn-text").hasClass("subscribed")){
  37. $("#btn-text").removeClass("subscribed");
  38. var newBtnString = btnString.replace(/deabonnieren/g, '') + "abonnieren";
  39. //console.log(btnString);
  40. $("#btn-text").text(newBtnString);
  41. }else{
  42. $("#btn-text").addClass("subscribed");
  43. var newBtnString = btnString.replace(/abonnieren/g, '') + "deabonnieren";
  44. //console.log(newBtnString);
  45. $("#btn-text").text(newBtnString);
  46. }
  47. }
  48. },
  49. mounted: function () {
  50. this.list_messages();
  51. //this.refresh_messages();
  52. }
  53. };
  54. function get_insert_message(id) {
  55. $.ajax({ url: "api/msg/id/"+id, method: "GET" }).done(function (msg) {
  56. Vue.set(_messages, id, msg);
  57. }).fail(function (e, f, g) {
  58. console.log("cannot load " + id + ".json: " + e + f + g);
  59. })
  60. }