Open main menu

Changes

MediaWiki:Common.js

3 bytes removed, 13:55, 11 February 2021
no edit summary
var colorForSpecialElements = '#933221'
// can be one of: <ro> <hu> <en>
let var configuredFor = 'ro' let var roNWTURL = 'http://localhost:3001/ro/' let var huNWTURL = 'http://localhost:3001/hu/' let var enNWTURL = 'http://localhost:3001/en/'
// DOM side effects
var verses = Array.prototype.slice.call( document.getElementsByClassName("bible-verse"), 0 );
async function createDinamicLis(verse) {
let var parsedVerse = verse.children[0].innerText
//let parsedVerse = verse.getAttribute("verse")
let var ulElement = verse.children[2].children[1]
fetchedVerses = await fetchNWTVerses(parseVerseAttribute(parsedVerse));
function createLiElements(fetchedVerses, ul) {
let var result = [];
fetchedVerses.forEach(versesGroup=> {
let var li = document.createElement('li')
li.style.color = colorForSpecialElements
li.style.fontSize = '1.5em'
result.push(li)
versesGroup.verseElements.forEach(verse => {
let var li = document.createElement('li') let var hr = document.createElement('hr')
hr.style.borderStyle = 'ridge'
let var liContent = ""
verse.forEach(el => {
liContent = liContent + el + '<br>'
function toggleState(verse) {
let var verseDisplay = verse.getElementsByClassName("translations-container")[0].style.display;
hideAllVerses(verses);
verse.getElementsByClassName("translations-container")[0].style.display = renderState(verseDisplay, "block");
function getVersesFromMainBlock(mainBlock) {
let var result = []
changeNumberOfTheFirstVerseWithNumberOne(mainBlock)
Array.from(mainBlock.children).forEach(verse => {
let var verseContent = []
if (verse.classList.contains('verse')) {
function changeColorOfVerseNumber(verseContent) {
let var re = new RegExp(/^\d+|\d+\b|\d+(?=\w)/g); //starts with digit, one or more let var 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 var re = new RegExp(/^\d+|\d+\b|\d+(?=\w)/g); //starts with digit, one or more let var 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 var result = []
arrayOfSpecificVerses.forEach(verseNumber => {
result.push(versesList[verseNumber - 1])
function parseVerseAttribute(verseString) {
// 21:1;22:2
let var arrayOfGroupsDelimiter = ';'
// 21:1-7,9
let var versesGroupsDelimiter = ','
let var book = verseString.replace(/ .*/,'') let var stringWithoutBook = verseString.replace(book, '')
let var result = { book: book, groups: processChaptersAndVerses(stringWithoutBook)}
return result
function processChaptersAndVerses(stringWithoutBook) {
let var groups = stringWithoutBook.split(arrayOfGroupsDelimiter); let result var esult = []
groups.forEach(group => {
result.push(processGroup(group))
if (verseString.includes(";")) {
let var book = verseString.replace(/ .*/,'') let stringWithoutBook var tringWithoutBook = verseString.replace(book, '')
let var groups = stringWithoutBook.split(';'); let var parsedGroups = [];
groups.forEach(group => {
parsedGroups.push(createObjectForStringGroup(group));
function processGroup(group) {
let var chapter = group.split(':')[0] let var verses = group.split(':')[1]
return {chapter: parseInt(chapter), verses: processVersesGroups(verses)};
function processVersesGroups(verses) {
let var versesGroups = verses.split(',') let var result = [];
versesGroups.forEach(verseGroup => {
if (isRangeVerseGroup(verseGroup)) {
}
if(isRangeVerseGroup(group)) {
let var parsed = group.split('-') let var result = []; for (let var i = Number(parsed[0]); i <= Number(parsed[1]); i++) {
result.push(Number(i))
}
function createObjectForStringGroup(group) {
let var chapter = Number(group.split(":")[0]) let var verses = group.split(":")[1] let var parsedVerses = parseVerses(verses);
console.log('')
}
URL = enNWTURL
}
let var book = verses.book
return new Promise((resolve, reject) => {
let var result = [];
for (let i = 0; i < verses.groups.length; i++) {
let var url = URL + book + "/" + verses.groups[i].chapter
fetch(url)
})
.then(parser => {
let var 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)})