Open main menu

Changes

MediaWiki:Common.js

9,661 bytes removed, 20:02, 8 March 2021
Replaced content with "console.log('quiry batchi')"
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } // =====================JAVASCRIPT AREA=====================// configurationlet colorForSpecialElements = '#933221'; // can be one of: <ro> <hu> <en> let configuredFor = 'ro';let roNWTURL = 'http://localhost:3001/ro/';let huNWTURL = 'http://localhost:3001/hu/';let enNWTURL = 'http://localhost:3001/en/'; // DOM side effects var verses = Array.prototype.slice.call(document.getElementsByClassName("bible-verse"), 0);verses.forEach(verse => { verse.addEventListener("mouseover", () => { verse.style.cursor = "pointer"; });});verses.forEach(verse => { verse.addEventListener("click", /*#__PURE__*/_asyncToGenerator(function* () { toggleState(verse);  if (areVersesAlreadyFetched(verse)) { return; } else { verse.setAttribute('loaded', true); let newLis = yield createDinamicLis(verse); clearAllChildrenAndAddElementsToParrent(verse.children[2].children[1], newLis); } }));}); function clearAllChildrenAndAddElementsToParrent(parrent, children) { parrent.innerHTML = ''; children.forEach(child => parrent.appendChild(child));} function areVersesAlreadyFetched(verse) { return verse.getAttribute('loaded') == 'true';} function createDinamicLis(_x) { return _createDinamicLis.apply(this, arguments);} function _createDinamicLis() { _createDinamicLisx = _asyncToGenerator(function* (verse) { let parsedVerse = verse.children[0].innerText; //let parsedVerse = verse.getAttribute("verse")  let ulElement = verse.children[2].children[1]; fetchedVerses = yield fetchNWTVerses(parseVerseAttribute(parsedVerse)); return createLiElements(fetchedVerses, ulElement); }); return _createDinamicLisx.apply(this, arguments);} function createLiElements(fetchedVerses, ul) { let result = []; fetchedVerses.forEach(versesGroup => { let li = document.createElement('li'); li.style.color = colorForSpecialElements; li.style.fontSize = '1.5em'; li.style.textTransform = 'capitalize'; li.style.paddingBottom = '0.3em'; li.innerHTML = versesGroup.book + ' ' + versesGroup.chapter; result.push(li); versesGroup.verseElements.forEach(verse => { let li = document.createElement('li'); let hr = document.createElement('hr'); hr.style.borderStyle = 'ridge'; let liContent = ""; verse.forEach(el => { liContent = liContent + el + '<br>'; }); li.innerHTML = liContent; result.push(li); result.push(hr); }); }); return result;} function toggleState(verse) { let verseDisplay = verse.getElementsByClassName("translations-container")[0].style.display; hideAllVerses(verses); verse.getElementsByClassName("translations-container")[0].style.display = renderState(verseDisplay, "block");} function hideAllVerses(elements) { elements.forEach(element => { element.getElementsByClassName("translations-container")[0].style.display = "none"; });} function renderState(currentState, toggledState) { if (currentState === "none") { return toggledState; }  return "none";} function getVersesFromMainBlock(mainBlock) { let result = []; changeNumberOfTheFirstVerseWithNumberOne(mainBlock); Array.from(mainBlock.children).forEach(verse => { let verseContent = [];  if (verse.classList.contains('verse')) { Array.from(verse.children).forEach(child => { if (child.innerText !== '') { verseContent.push(stripSymbols(['+', '*'], child.innerText)); } }); changeColorOfVerseNumber(verseContent); result.push(verseContent); } }); return result;} function changeColorOfVerseNumber(verseContent) { let re = new RegExp(/^\d+|\d+\b|\d+(?=\w)/g); //starts with digit, one or more  let m = re.exec(verseContent[0]);  if (m != null) { verseContent[0] = verseContent[0].replace(m[0], '<strong style="color: ' + colorForSpecialElements + '"' + '>' + m[0] + '</strong>'); }} function changeNumberOfTheFirstVerseWithNumberOne(mainBlock) { let re = new RegExp(/^\d+|\d+\b|\d+(?=\w)/g); //starts with digit, one or more  let m = re.exec(mainBlock.getElementsByClassName('verse')[0].children[0].innerText); mainBlock.getElementsByClassName('verse')[0].children[0].innerText = '&nbsp' + mainBlock.getElementsByClassName('verse')[0].children[0].innerText.replace(m[0], 1);} function getSpecificVerses(versesList, arrayOfSpecificVerses) { let result = []; arrayOfSpecificVerses.forEach(verseNumber => { result.push(versesList[verseNumber - 1]); }); return result;} // Bussiness logic  function parseVerseAttribute(verseString) { // 21:1;22:2 let arrayOfGroupsDelimiter = ';'; // 21:1-7,9  let versesGroupsDelimiter = ','; let book = verseString.replace(/ .*/, ''); let stringWithoutBook = verseString.replace(book, ''); let result = { book: book, groups: processChaptersAndVerses(stringWithoutBook) }; return result;  function processChaptersAndVerses(stringWithoutBook) { let groups = stringWithoutBook.split(arrayOfGroupsDelimiter); let result = []; groups.forEach(group => { result.push(processGroup(group)); }); return result; }  if (verseString.includes(";")) { let book = verseString.replace(/ .*/, ''); let stringWithoutBook = verseString.replace(book, ''); let groups = stringWithoutBook.split(';'); let parsedGroups = []; groups.forEach(group => { parsedGroups.push(createObjectForStringGroup(group)); }); }  function processGroup(group) { let chapter = group.split(':')[0]; let verses = group.split(':')[1]; return { chapter: parseInt(chapter), verses: processVersesGroups(verses) }; }  function processVersesGroups(verses) { let versesGroups = verses.split(','); let result = []; versesGroups.forEach(verseGroup => { if (isRangeVerseGroup(verseGroup)) { Array.prototype.push.apply(result, processVerseGroup(verseGroup)); } else { result.push(processVerseGroup(verseGroup)); } }); return result; }  function processVerseGroup(group) { if (isSimpleVerseGroup(group)) { return Number(group); }  if (isMultipleVerseGroup(group)) { console.log("Range verse group: " + group); }  if (isRangeVerseGroup(group)) { let parsed = group.split('-'); let result = [];  for (let i = Number(parsed[0]); i <= Number(parsed[1]); i++) { result.push(Number(i)); }  return result; } }  function createObjectForStringGroup(group) { let chapter = Number(group.split(":")[0]); let verses = group.split(":")[1]; let parsedVerses = parseVerses(verses); console.log('quiry batchi'); }} function fetchNWTVerses(_x2) { return _fetchNWTVerses.apply(this, arguments);} function _fetchNWTVerses() { _fetchNWTVerses = _asyncToGenerator(function* (verses) { // let roBaseURL = 'https://www.jw.org/ro/biblioteca/biblia/nwt/carti/' if (configuredFor === 'ro') { URL = roNWTURL; }  if (configuredFor === 'hu') { URL = huNWTURL; }  if (configuredFor === 'en') { URL = enNWTURL; }  let book = verses.book; return new Promise((resolve, reject) => { let result = [];  for (let i = 0; i < verses.groups.length; i++) { let url = URL + book + "/" + verses.groups[i].chapter; fetch(url).then(response => response.text()).then(data => { var parser = new DOMParser(); var htmlDoc = parser.parseFromString(data, 'text/html'); return htmlDoc; }).then(parser => { let mainBlock = parser.getElementById('bibleText');  if (verses.groups.length - 1 == i) { result.push({ book: clearDashSimbolFromInputString(book), chapter: verses.groups[i].chapter, verseElements: getSpecificVerses(getVersesFromMainBlock(mainBlock), verses.groups[i].verses) }); resolve(result); } else { result.push({ book: clearDashSimbolFromInputString(book), chapter: verses.groups[i].chapter, verseElements: getSpecificVerses(getVersesFromMainBlock(mainBlock), verses.groups[i].verses) }); } }).catch(error => { console.log(error); reject(); }); } }); }); return _fetchNWTVerses.apply(this, arguments);} function clearDashSimbolFromInputString(string) { return string.replaceAll('-', ' ');} function stripSymbols(symbolsToBeRemoved, verseElement) { symbolsToBeRemoved.forEach(symbol => { verseElement = verseElement.replaceAll(symbol, ''); }); return verseElement;} function isSimpleVerseGroup(group) { if (Number(group)) { return true; }  return false;} function isMultipleVerseGroup(group) { if (group.includes(',')) { return true; }  return false;} function isRangeVerseGroup(group) { if (group.includes('-')) { return true; }  return false;}