0.0.3
This commit is contained in:
parent
739b399963
commit
188286cf44
114
index.html
114
index.html
@ -656,7 +656,7 @@
|
|||||||
|
|
||||||
document.getElementById('view-group_by').addEventListener("click", function (e) {
|
document.getElementById('view-group_by').addEventListener("click", function (e) {
|
||||||
document.getElementById("group_by").parentNode.classList.remove("hide")
|
document.getElementById("group_by").parentNode.classList.remove("hide")
|
||||||
})
|
})*/
|
||||||
|
|
||||||
document.getElementById('group_by_menu').children[0].addEventListener("change", function (e) {
|
document.getElementById('group_by_menu').children[0].addEventListener("change", function (e) {
|
||||||
try {
|
try {
|
||||||
@ -689,7 +689,7 @@
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
notify(error, "error")
|
notify(error, "error")
|
||||||
}
|
}
|
||||||
})*/
|
})
|
||||||
|
|
||||||
function removeElement(element) {
|
function removeElement(element) {
|
||||||
element.parentNode.removeChild(element);
|
element.parentNode.removeChild(element);
|
||||||
@ -778,7 +778,7 @@
|
|||||||
logSheet.enterLog(title, floID, log).then(result => {
|
logSheet.enterLog(title, floID, log).then(result => {
|
||||||
allFormElements.forEach(element => element.disabled = false)
|
allFormElements.forEach(element => element.disabled = false)
|
||||||
form.reset();
|
form.reset();
|
||||||
notify('Log Entry Successful', 'success')
|
notify('Log entry successful', 'success')
|
||||||
let row = sheetContainer.getElementsByTagName("tbody")[0].insertRow(1);
|
let row = sheetContainer.getElementsByTagName("tbody")[0].insertRow(1);
|
||||||
row.insertCell().textContent = floID
|
row.insertCell().textContent = floID
|
||||||
row.insertCell().innerHTML = `<input type="text" class="grade-input" disabled>`
|
row.insertCell().innerHTML = `<input type="text" class="grade-input" disabled>`
|
||||||
@ -793,7 +793,7 @@
|
|||||||
function viewSheet(title) {
|
function viewSheet(title) {
|
||||||
logSheet.refreshLogs(title).then(result => {
|
logSheet.refreshLogs(title).then(result => {
|
||||||
let data = logSheet.viewLogs(title)
|
let data = logSheet.viewLogs(title)
|
||||||
renderSheetView(data.title, data.description, data.editors, data.attributes, data.sheet,
|
renderSheetView(data.title, data.description, data.editors, data.attributes, data.sheet.reverse(),
|
||||||
!data.editors || data.editors.includes(myFloID), floGlobals.subAdmins.includes(myFloID))
|
!data.editors || data.editors.includes(myFloID), floGlobals.subAdmins.includes(myFloID))
|
||||||
}).catch(error => notify(error, "error"))
|
}).catch(error => notify(error, "error"))
|
||||||
}
|
}
|
||||||
@ -854,18 +854,25 @@
|
|||||||
sheetHolder.append(frag)
|
sheetHolder.append(frag)
|
||||||
}
|
}
|
||||||
|
|
||||||
function createCell(text){
|
function createTh(text){
|
||||||
let cell = document.createElement('th')
|
let cell = document.createElement('th')
|
||||||
cell.textContent = text
|
cell.textContent = text
|
||||||
return cell
|
return cell
|
||||||
}
|
}
|
||||||
|
function createCell(text){
|
||||||
|
let cell = document.createElement('td')
|
||||||
|
cell.textContent = text
|
||||||
|
return cell
|
||||||
|
}
|
||||||
|
|
||||||
const sheetContainer = document.getElementById('sheet_container'),
|
const sheetContainer = document.getElementById('sheet_container'),
|
||||||
sheetHeading = document.getElementById('sheet_heading'),
|
sheetHeading = document.getElementById('sheet_heading'),
|
||||||
sheetDescription = document.getElementById('sheet_description'),
|
sheetDescription = document.getElementById('sheet_description'),
|
||||||
sheetEditors = document.getElementById('sheet_editors')
|
sheetEditors = document.getElementById('sheet_editors')
|
||||||
|
let startingIndex = 0,
|
||||||
|
endingIndex = 0
|
||||||
|
|
||||||
function renderSheetView(title, description, editors, attributes, sheet, isWriteable, isSubAdmin, onlyRenderTable = false) {
|
function renderSheetView(title, description, editors, attributes, sheet, isWriteable, isSubAdmin, onlyRenderTable = false, lazyLoad = false) {
|
||||||
floGlobals.currentSheet = {
|
floGlobals.currentSheet = {
|
||||||
title,
|
title,
|
||||||
description,
|
description,
|
||||||
@ -873,7 +880,15 @@
|
|||||||
attributes,
|
attributes,
|
||||||
sheet,
|
sheet,
|
||||||
isWriteable,
|
isWriteable,
|
||||||
isSubAdmin
|
isSubAdmin,
|
||||||
|
}
|
||||||
|
if(lazyLoad){
|
||||||
|
startingIndex = sheet.length > endingIndex ? endingIndex : sheet.length
|
||||||
|
endingIndex = sheet.length - endingIndex > 20 ? endingIndex + 20 : sheet.length
|
||||||
|
console.log('lazy...')
|
||||||
|
}else{
|
||||||
|
startingIndex = 0
|
||||||
|
endingIndex = sheet.length > 20 ? 20 : sheet.length
|
||||||
}
|
}
|
||||||
const parseVectorClock = (vc) => {
|
const parseVectorClock = (vc) => {
|
||||||
vc = vc.split('_')
|
vc = vc.split('_')
|
||||||
@ -931,17 +946,20 @@
|
|||||||
table = document.createElement("table")
|
table = document.createElement("table")
|
||||||
let thead = table.createTHead()
|
let thead = table.createTHead()
|
||||||
let head = thead.insertRow(0)
|
let head = thead.insertRow(0)
|
||||||
head.append(createCell("FLO ID"), createCell("Grade"));
|
head.append(createTh("FLO ID"), createTh("Grade"));
|
||||||
attributes.forEach(a => head.append(createCell(a)))
|
attributes.forEach(a => head.append(createTh(a)))
|
||||||
}
|
}
|
||||||
let tbody = document.createElement("tbody")
|
let tbody = document.createElement("tbody")
|
||||||
sheet.forEach(data => {
|
for(let i = startingIndex; i < endingIndex; i++){
|
||||||
let row = tbody.insertRow(0);
|
let data = sheet[i]
|
||||||
|
let row = document.createElement('tr')
|
||||||
row.setAttribute("title", parseVectorClock(data.vc))
|
row.setAttribute("title", parseVectorClock(data.vc))
|
||||||
row.insertCell().textContent = data.floID
|
row.append(createCell(data.floID))
|
||||||
row.insertCell().appendChild(createGradeField(data.vc, data.grade));
|
row.append(createCell().appendChild(createGradeField(data.vc, data.grade)))
|
||||||
data.log.forEach(l => row.insertCell().textContent = l)
|
data.log.forEach(l => row.append(createCell(l)))
|
||||||
})
|
frag.append(row)
|
||||||
|
}
|
||||||
|
tbody.append(frag)
|
||||||
//Add input fields if writable
|
//Add input fields if writable
|
||||||
if (isWriteable) {
|
if (isWriteable) {
|
||||||
let row = tbody.insertRow(0);
|
let row = tbody.insertRow(0);
|
||||||
@ -949,7 +967,6 @@
|
|||||||
row.insertCell().textContent = ``;
|
row.insertCell().textContent = ``;
|
||||||
attributes.forEach(a => row.insertCell().innerHTML = `<input form="new-log" class="log-input" type="text">`);
|
attributes.forEach(a => row.insertCell().innerHTML = `<input form="new-log" class="log-input" type="text">`);
|
||||||
}
|
}
|
||||||
|
|
||||||
table.appendChild(tbody);
|
table.appendChild(tbody);
|
||||||
if(!onlyRenderTable){
|
if(!onlyRenderTable){
|
||||||
clearElement(sheetContainer).appendChild(table);
|
clearElement(sheetContainer).appendChild(table);
|
||||||
@ -983,16 +1000,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function sortTable(n, ascending) {
|
function sortTable(n, ascending) {
|
||||||
if(ascending)
|
console.log(n)
|
||||||
|
if(ascending){
|
||||||
if(n === 0)
|
if(n === 0)
|
||||||
floGlobals.currentSheet.sheet.sort((a, b) => {
|
floGlobals.currentSheet.sheet.sort((a, b) => a.floID.toLowerCase().localeCompare(b.floID.toLowerCase()))
|
||||||
if (a.floID.toLowerCase() === b.floID.toLowerCase()) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return (a.floID.toLowerCase() < b.floID.toLowerCase()) ? -1 : 1;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
else if(n === 1)
|
else if(n === 1)
|
||||||
floGlobals.currentSheet.sheet.sort((a, b) => {
|
floGlobals.currentSheet.sheet.sort((a, b) => {
|
||||||
if (a.grade === b.grade) {
|
if (a.grade === b.grade) {
|
||||||
@ -1004,25 +1015,22 @@
|
|||||||
})
|
})
|
||||||
else
|
else
|
||||||
floGlobals.currentSheet.sheet.sort((a, b) => {
|
floGlobals.currentSheet.sheet.sort((a, b) => {
|
||||||
let x = a.log[n-2] ? a.log[n-2].toLowerCase() : a.log[n-2]
|
if(isNaN(a.log[n-2])){
|
||||||
let y = b.log[n-2] ? b.log[n-2].toLowerCase() : b.log[n-2]
|
let x = (a.log[n-2]) ? a.log[n-2].toLowerCase() : a.log[n-2]
|
||||||
if (x === y) {
|
let y = (b.log[n-2]) ? b.log[n-2].toLowerCase() : b.log[n-2]
|
||||||
return 0;
|
if (x === y) {
|
||||||
}
|
return 0;
|
||||||
else {
|
}
|
||||||
return (x < y) ? -1 : 1;
|
else {
|
||||||
|
return (x < y) ? -1 : 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
return a.log[n-2] - b.log[n-2]
|
||||||
})
|
})
|
||||||
else
|
}else{
|
||||||
if(n === 0)
|
if(n === 0)
|
||||||
floGlobals.currentSheet.sheet.sort((a, b) => {
|
floGlobals.currentSheet.sheet.sort((a, b) => b.floID.toLowerCase().localeCompare(a.floID.toLowerCase()))
|
||||||
if (a.floID.toLowerCase() === b.floID.toLowerCase()) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return (a.floID.toLowerCase() > b.floID.toLowerCase()) ? -1 : 1;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
else if(n === 1)
|
else if(n === 1)
|
||||||
floGlobals.currentSheet.sheet.sort((a, b) => {
|
floGlobals.currentSheet.sheet.sort((a, b) => {
|
||||||
if (a.grade === b.grade) {
|
if (a.grade === b.grade) {
|
||||||
@ -1034,19 +1042,23 @@
|
|||||||
})
|
})
|
||||||
else
|
else
|
||||||
floGlobals.currentSheet.sheet.sort((a, b) => {
|
floGlobals.currentSheet.sheet.sort((a, b) => {
|
||||||
let x = a.log[n-2] ? a.log[n-2].toLowerCase() : a.log[n-2]
|
if(isNaN(a.log[n-2])){
|
||||||
let y = b.log[n-2] ? b.log[n-2].toLowerCase() : b.log[n-2]
|
let x = (a.log[n-2]) ? a.log[n-2].toLowerCase() : a.log[n-2]
|
||||||
if (x === y) {
|
let y = (b.log[n-2]) ? b.log[n-2].toLowerCase() : b.log[n-2]
|
||||||
return 0;
|
if (x === y) {
|
||||||
}
|
return 0;
|
||||||
else {
|
}
|
||||||
return (x > y) ? -1 : 1;
|
else {
|
||||||
|
return (x > y) ? -1 : 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
return b.log[n-2] - a.log[n-2]
|
||||||
})
|
})
|
||||||
|
}
|
||||||
console.log(floGlobals.currentSheet.sheet)
|
console.log(floGlobals.currentSheet.sheet[0])
|
||||||
let {title, description, editors, attributes, sheet, isWriteable, isSubAdmin} = floGlobals.currentSheet
|
let {title, description, editors, attributes, sheet, isWriteable, isSubAdmin} = floGlobals.currentSheet
|
||||||
renderSheetView(title, description, editors, attributes, sheet, isWriteable, isSubAdmin, true)
|
renderSheetView(title, description, editors, attributes, sheet, isWriteable, isSubAdmin, true, false)
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<script id="init_lib">
|
<script id="init_lib">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user