Advertisement
VF-

eHázi - Több előnézet

VF-
Nov 28th, 2022
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 2.10 KB | Source Code | 0 0
  1. // ==UserScript==
  2. // @name        eHázi - Több előnézet
  3. // @namespace   VF@eHazi
  4. // @description Hozzáadja az előnézet funkciót az új kérdés és válasz szerkesztés űrlapokhoz
  5. // @match       https://ehazi.hu/*
  6. // @version     0.0
  7. // @grant       GM.xmlHttpRequest
  8. // ==/UserScript==
  9.  
  10. ;[
  11.   {urlap: 'newQuestionForm', mezo: 'new_question_description', nev: 'Kérdés'},
  12.   {urlap: 'editAnswerForm' , mezo: 'edit_answer_description' , nev: 'Szerkesztés'},
  13. ].forEach(szerkeszto => {
  14.   let urlap = document.querySelector(`form#${ szerkeszto.urlap } div.w3-section`)
  15.   if (! urlap)
  16.     return
  17.  
  18.   let elonezet = document.createElement('div')
  19.   elonezet.className = 'elonezet-tarolo'
  20.   elonezet.style.display = 'none'
  21.  
  22.   let gomb = document.createElement('div')
  23.   gomb.className = 'w3-padding-large w3-center'
  24.   let link = document.createElement('a')
  25.   link.href = '#'
  26.   link.className = 'elonezet-gomb'
  27.   link.style.fontWeight = 'bold'
  28.   link.textContent = ` ${ szerkeszto.nev } előnézete`
  29.   let ikon = document.createElement('i')
  30.   ikon.className = 'fa fa-chevron-down'
  31.   link.insertBefore(ikon, link.firstChild)
  32.   gomb.appendChild(link)
  33.   urlap.appendChild(gomb)
  34.  
  35.   urlap.appendChild(elonezet)
  36.  
  37.   let szkript = document.createElement('script')
  38.   szkript.textContent = `
  39. function ${ szerkeszto.mezo }Preview()
  40. {
  41.   startLoader();
  42.  
  43.   $('#${ szerkeszto.urlap } .elonezet-tarolo').hide();
  44.  
  45.   var description = $('#${ szerkeszto.mezo }').val();
  46.  
  47.   $.ajax({
  48.     url: "https://ehazi.hu/answer/preview",
  49.     type: "POST",
  50.     data: { _token: CSRF_TOKEN, description: description },
  51.   }).done(function (res) {
  52.  
  53.     var response = res;
  54.  
  55.     $('#${ szerkeszto.urlap } .elonezet-tarolo').show();
  56.     $('#${ szerkeszto.urlap } .elonezet-tarolo').html('<hr>' + res.description);
  57.     MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
  58.  
  59.     endLoader();
  60.  
  61.   }).fail(function (jqXHR, textStatus, error) {
  62.  
  63.     endLoader();
  64.  
  65.   });
  66.  
  67. }
  68.  
  69. document.querySelector('#${ szerkeszto.urlap } .elonezet-gomb').addEventListener('click', ${ szerkeszto.mezo }Preview)
  70. `
  71.   document.head.appendChild(szkript)
  72. })
  73.  
Tags: userscript
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement