adding spreadsheet methods
This commit is contained in:
parent
a3f3d4cf06
commit
cd3894ee09
@ -8772,10 +8772,135 @@ Bitcoin.Util = {
|
|||||||
|
|
||||||
floDapps.launchStartUp().then(result => {
|
floDapps.launchStartUp().then(result => {
|
||||||
console.log(result)
|
console.log(result)
|
||||||
alert(`Welcome FLO_ID: ${myFloID}`)
|
spreadSheet.init().then(result => {
|
||||||
|
console.log(result)
|
||||||
|
alert(`Welcome FLO_ID: ${myFloID}`)
|
||||||
|
})
|
||||||
//App functions....
|
//App functions....
|
||||||
}).catch(error => console.error(error))
|
}).catch(error => console.error(error))
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<script id="SpreadSheet">
|
||||||
|
const spreadSheet = {
|
||||||
|
|
||||||
|
init(){
|
||||||
|
return floCloudAPI.requestObjectData("spreadSheet")
|
||||||
|
},
|
||||||
|
|
||||||
|
addPerson(floID, name, otherDetails = {}){
|
||||||
|
if(floGlobals.appObjects.spreadSheet.personDetails[floID])
|
||||||
|
throw("floID already exist")
|
||||||
|
floGlobals.appObjects.spreadSheet.personDetails[floID] = {};
|
||||||
|
floGlobals.appObjects.spreadSheet.personDetails[floID].name = name
|
||||||
|
for(d in otherDetails){
|
||||||
|
if(d === "name" || d === "floID" || otherDetails[d] === undefined || otherDetails[d] === null)
|
||||||
|
continue;
|
||||||
|
else
|
||||||
|
floGlobals.appObjects.spreadSheet.personDetails[floID][d] = otherDetails[d]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
rmPerson(floID){
|
||||||
|
if(!floGlobals.appObjects.spreadSheet.personDetails[floID])
|
||||||
|
throw("floID not found")
|
||||||
|
delete floGlobals.appObjects.spreadSheet.personDetails[floID]
|
||||||
|
},
|
||||||
|
|
||||||
|
editPerson(floID, details){
|
||||||
|
if(!floGlobals.appObjects.spreadSheet.personDetails[floID])
|
||||||
|
throw("floID not found")
|
||||||
|
for(d in details){
|
||||||
|
if(details[d] === undefined || details[d] === null)
|
||||||
|
delete floGlobals.appObjects.spreadSheet.personDetails[floID][d];
|
||||||
|
else if(d === "floID")
|
||||||
|
continue;
|
||||||
|
else
|
||||||
|
floGlobals.appObjects.spreadSheet.personDetails[floID][d] = details[d];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
listPersons(){
|
||||||
|
return floGlobals.appObjects.spreadSheet.personDetails
|
||||||
|
},
|
||||||
|
|
||||||
|
viewPerson(floID){
|
||||||
|
if(!floGlobals.appObjects.spreadSheet.personDetails[floID])
|
||||||
|
throw("floID not found")
|
||||||
|
return floGlobals.appObjects.spreadSheet.personDetails[floID]
|
||||||
|
},
|
||||||
|
|
||||||
|
createNewSheet(title, editors = floGlobals.subAdmins){
|
||||||
|
if(title in floGlobals.appObjects.spreadSheet.sheetList)
|
||||||
|
throw ("Sheet already exist! try with different title")
|
||||||
|
floGlobals.appObjects.spreadSheet.sheetList[title] = editors
|
||||||
|
},
|
||||||
|
|
||||||
|
manageSheetControl(addList, rmList){
|
||||||
|
let editorList = floGlobals.appObjects.spreadSheet.sheetList[title]
|
||||||
|
if(Array.isArray(addList))
|
||||||
|
addList.forEach(e => editorList.includes(e) ? null: editorList.push(e))
|
||||||
|
if(Array.isArray(rmList))
|
||||||
|
editorList = editorList.filter(e => !rmList.includes(e));
|
||||||
|
floGlobals.appObjects.spreadSheet.sheetList[title] = editorList
|
||||||
|
},
|
||||||
|
|
||||||
|
listSheets(){
|
||||||
|
return floGlobals.appObjects.spreadSheet.sheetList
|
||||||
|
},
|
||||||
|
|
||||||
|
commitUpdates(){
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if(!floGlobals.subAdmins.includes(myFloID))
|
||||||
|
reject("Access Denied! only subAdmins can commit")
|
||||||
|
floCloudAPI.updateObjectData("spreadSheet")
|
||||||
|
.then(result => resolve(result))
|
||||||
|
.catch(error => reject(error))
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
updateLog(title, floID, log){
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if(!(floID in floGlobals.appObjects.spreadSheet.personDetails))
|
||||||
|
reject("floID not found")
|
||||||
|
else{
|
||||||
|
floCloudAPI.sendGeneralData({floID: floID, log: log}, title)
|
||||||
|
.then(result => resolve(result))
|
||||||
|
.catch(error => reject(error))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
refreshLogs(title){
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if(!(title in floGlobals.appObjects.spreadSheet.sheetList))
|
||||||
|
reject("Sheet not found")
|
||||||
|
else{
|
||||||
|
floCloudAPI.requestGeneralData(title, {senderIDs : floGlobals.appObjects.spreadSheet.sheetList[title]})
|
||||||
|
.then(result => resolve(result))
|
||||||
|
.catch(error => reject(error))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
viewLogs(title){
|
||||||
|
if(!(title in floGlobals.appObjects.spreadSheet.sheetList))
|
||||||
|
throw ("Sheet not found")
|
||||||
|
let sheet = []
|
||||||
|
floDapps.getNextGeneralData(title, '0').forEach(l => sheet.push({
|
||||||
|
vc: l.vectorClock,
|
||||||
|
floID: l.message.floID,
|
||||||
|
log: l.message.log
|
||||||
|
}))
|
||||||
|
return {
|
||||||
|
title: title,
|
||||||
|
editors: floGlobals.appObjects.spreadSheet.sheetList[title],
|
||||||
|
sheet: sheet
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user