Referrals Report Showing up
This commit is contained in:
1 parent
0dc53e3787
commit
d0716e25f2
7 files changed
+175
-39
No files matched your search
@@ -0,0 +1,104 @@
|
||||
function newGovernanceReportsReferrals() {
|
||||
let thisObject = {
|
||||
addHTML: addHTML,
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
}
|
||||
|
||||
return thisObject
|
||||
|
||||
function initialize() {
|
||||
|
||||
}
|
||||
|
||||
function finalize() {
|
||||
|
||||
}
|
||||
|
||||
function addHTML() {
|
||||
|
||||
let tableRecords = []
|
||||
let table = 'referrals'
|
||||
let tableRecordDefinition = {
|
||||
"properties": [
|
||||
{
|
||||
"name": "name",
|
||||
"label": "User Profile",
|
||||
"type": "string",
|
||||
"order": "ascending"
|
||||
},
|
||||
{
|
||||
"name": "ownPower",
|
||||
"label": "Own Power",
|
||||
"type": "number",
|
||||
"order": "descending"
|
||||
},
|
||||
{
|
||||
"name": "incoming",
|
||||
"label": "Incoming",
|
||||
"type": "number",
|
||||
"order": "descending"
|
||||
},
|
||||
{
|
||||
"name": "tokensAwarded",
|
||||
"label": "Awarded",
|
||||
"type": "number",
|
||||
"order": "descending"
|
||||
},
|
||||
{
|
||||
"name": "decendants",
|
||||
"label": "Descendants",
|
||||
"type": "number",
|
||||
"order": "descending"
|
||||
},
|
||||
{
|
||||
"name": "tokensBonus",
|
||||
"label": "Bonus",
|
||||
"type": "number",
|
||||
"order": "descending"
|
||||
}
|
||||
]
|
||||
}
|
||||
/*
|
||||
Here we get from the workspace all User Profiles.
|
||||
*/
|
||||
let userProfiles = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadsByNodeType('User Profile')
|
||||
/*
|
||||
Transform the result array into table records.
|
||||
*/
|
||||
for (let j = 0; j < userProfiles.length; j++) {
|
||||
let userProfile = userProfiles[j]
|
||||
|
||||
if (userProfile.tokenPowerSwitch === undefined) { continue }
|
||||
let program = UI.projects.governance.utilities.validations.onlyOneProgram(userProfile, 'Referral Program')
|
||||
if (program === undefined) { continue }
|
||||
if (program.payload === undefined) { continue }
|
||||
|
||||
let tableRecord = {
|
||||
"name": userProfile.name,
|
||||
"ownPower": program.payload.referralProgram.ownPower | 0,
|
||||
"incoming": program.payload.referralProgram.incomingPower | 0,
|
||||
"tokensAwarded": program.payload.referralProgram.awarded.tokens | 0,
|
||||
"decendants": program.payload.referralProgram.awarded.count | 0,
|
||||
"tokensBonus": program.payload.referralProgram.bonus.tokens | 0
|
||||
}
|
||||
|
||||
tableRecords.push(tableRecord)
|
||||
}
|
||||
/*
|
||||
Get the sorting order for this table.
|
||||
*/
|
||||
let sortingOrder = UI.projects.governance.spaces.reportsSpace.tablesSortingOrders[table]
|
||||
/*
|
||||
Set the default sorting order for this table.
|
||||
*/
|
||||
if (sortingOrder === undefined) {
|
||||
UI.projects.governance.spaces.reportsSpace.tablesSortingOrders[table] = {
|
||||
property: 'tokensAwarded',
|
||||
order: 'descending'
|
||||
}
|
||||
sortingOrder = UI.projects.governance.spaces.reportsSpace.tablesSortingOrders[table]
|
||||
}
|
||||
return UI.projects.governance.utilities.tables.addHTML(table, tableRecords, tableRecordDefinition, sortingOrder)
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,7 @@ function newGovernanceReportsReportsPage() {
|
||||
buildHTML()
|
||||
|
||||
function buildHTML() {
|
||||
const tabs = ['Profiles', 'Referrals', 'Mentors', 'Supporters', 'Pools', 'Assets', 'Features', 'Positions']
|
||||
const tabs = ['Profiles', 'Referrals', 'Supporters', 'Mentors', 'Pools', 'Assets', 'Features', 'Positions']
|
||||
let HTML = ''
|
||||
HTML = HTML + '<section id="governance-report-page-div" class="governance-search-page-container">'
|
||||
HTML = HTML + UI.projects.education.spaces.docsSpace.mainSearchPage.addSearchHeader()
|
||||
@@ -49,13 +49,19 @@ function newGovernanceReportsReportsPage() {
|
||||
|
||||
switch (tab) {
|
||||
case 'Profiles': {
|
||||
let response = UI.projects.governance.spaces.reportsSpace.userProfiles.addHTML()
|
||||
let response = UI.projects.governance.spaces.reportsSpace.userProfiles.addHTML()
|
||||
HTML = HTML + response.HTML
|
||||
resultCounter = response.resultCounter
|
||||
break
|
||||
}
|
||||
case 'Referrals': {
|
||||
let response = UI.projects.governance.spaces.reportsSpace.referrals.addHTML()
|
||||
HTML = HTML + response.HTML
|
||||
resultCounter = response.resultCounter
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
HTML = HTML + '</div>'
|
||||
totalResults.set(tab, resultCounter)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ function newGobernanceReportsSpace() {
|
||||
reportsPage: undefined,
|
||||
footer: undefined,
|
||||
userProfiles: undefined,
|
||||
referrals: undefined,
|
||||
tablesSortingOrders: undefined,
|
||||
changeTableSortingOrder,
|
||||
physics: physics,
|
||||
@@ -48,6 +49,9 @@ function newGobernanceReportsSpace() {
|
||||
thisObject.userProfiles.finalize()
|
||||
thisObject.userProfiles = undefined
|
||||
|
||||
thisObject.referrals.finalize()
|
||||
thisObject.referrals = undefined
|
||||
|
||||
isInitialized = false
|
||||
}
|
||||
|
||||
@@ -68,10 +72,12 @@ function newGobernanceReportsSpace() {
|
||||
thisObject.reportsPage = newGovernanceReportsReportsPage()
|
||||
thisObject.footer = newGovernanceReportsFooter()
|
||||
thisObject.userProfiles = newGovernanceReportsUserProfiles()
|
||||
thisObject.referrals = newGovernanceReportsReferrals()
|
||||
|
||||
thisObject.reportsPage.initialize()
|
||||
thisObject.footer.initialize()
|
||||
thisObject.userProfiles.initialize()
|
||||
thisObject.referrals.initialize()
|
||||
|
||||
setupSidePanelTab()
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ function newGovernanceReportsUserProfiles() {
|
||||
"properties": [
|
||||
{
|
||||
"name": "name",
|
||||
"label": "Name",
|
||||
"label": "User Profile",
|
||||
"type": "string",
|
||||
"order": "ascending"
|
||||
},
|
||||
@@ -48,24 +48,38 @@ function newGovernanceReportsUserProfiles() {
|
||||
]
|
||||
}
|
||||
/*
|
||||
Here we get from the workspace all the nodes representing User Profiles.
|
||||
Here we get from the workspace all User Profiles.
|
||||
*/
|
||||
let resultsArary = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadsByNodeType('User Profile')
|
||||
let userProfiles = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadsByNodeType('User Profile')
|
||||
/*
|
||||
Transform the result array into table records.
|
||||
*/
|
||||
for (let j = 0; j < resultsArary.length; j++) {
|
||||
let node = resultsArary[j]
|
||||
for (let j = 0; j < userProfiles.length; j++) {
|
||||
let userProfile = userProfiles[j]
|
||||
|
||||
let tableRecord = {
|
||||
"name": node.name,
|
||||
"blockchainPower": node.payload.blockchainTokens | 0,
|
||||
"delegatedPower": node.payload.tokenPower - node.payload.blockchainTokens | 0,
|
||||
"tokenPower": node.payload.tokenPower | 0
|
||||
"name": userProfile.name,
|
||||
"blockchainPower": userProfile.payload.blockchainTokens | 0,
|
||||
"delegatedPower": userProfile.payload.tokenPower - userProfile.payload.blockchainTokens | 0,
|
||||
"tokenPower": userProfile.payload.tokenPower | 0
|
||||
}
|
||||
|
||||
tableRecords.push(tableRecord)
|
||||
}
|
||||
return UI.projects.governance.utilities.tables.addHTML(table, tableRecords, tableRecordDefinition)
|
||||
/*
|
||||
Get the sorting order for this table.
|
||||
*/
|
||||
let sortingOrder = UI.projects.governance.spaces.reportsSpace.tablesSortingOrders[table]
|
||||
/*
|
||||
Set the default sorting order for this table.
|
||||
*/
|
||||
if (sortingOrder === undefined) {
|
||||
UI.projects.governance.spaces.reportsSpace.tablesSortingOrders[table] = {
|
||||
property: 'name',
|
||||
order: 'ascending'
|
||||
}
|
||||
sortingOrder = UI.projects.governance.spaces.reportsSpace.tablesSortingOrders[table]
|
||||
}
|
||||
return UI.projects.governance.utilities.tables.addHTML(table, tableRecords, tableRecordDefinition, sortingOrder)
|
||||
}
|
||||
}
|
||||
@@ -73,9 +73,17 @@ function newGovernanceUtilitiesBonusProgram() {
|
||||
function resetProgram(node) {
|
||||
if (node === undefined) { return }
|
||||
if (node.payload === undefined) { return }
|
||||
node.payload[programPropertyName] = {
|
||||
bonusPower: 0,
|
||||
bonus: {
|
||||
if (node.payload[programPropertyName] === undefined) {
|
||||
node.payload[programPropertyName] = {
|
||||
bonusPower: 0,
|
||||
bonus: {
|
||||
tokens: 0,
|
||||
percentage: 0
|
||||
}
|
||||
}
|
||||
} else {
|
||||
node.payload[programPropertyName].bonusPower = 0
|
||||
node.payload[programPropertyName].bonus = {
|
||||
tokens: 0,
|
||||
percentage: 0
|
||||
}
|
||||
|
||||
@@ -84,13 +84,25 @@ function newGovernanceUtilitiesDecendentProgram() {
|
||||
function resetProgram(node) {
|
||||
if (node === undefined) { return }
|
||||
if (node.payload === undefined) { return }
|
||||
node.payload[programPropertyName] = {
|
||||
count: 0,
|
||||
percentage: 0,
|
||||
outgoingPower: 0,
|
||||
ownPower: 0,
|
||||
incomingPower: 0,
|
||||
awarded: {
|
||||
if (node.payload[programPropertyName] === undefined) {
|
||||
node.payload[programPropertyName] = {
|
||||
count: 0,
|
||||
percentage: 0,
|
||||
outgoingPower: 0,
|
||||
ownPower: 0,
|
||||
incomingPower: 0,
|
||||
awarded: {
|
||||
tokens: 0,
|
||||
percentage: 0
|
||||
}
|
||||
}
|
||||
} else {
|
||||
node.payload[programPropertyName].count = 0
|
||||
node.payload[programPropertyName].percentage = 0
|
||||
node.payload[programPropertyName].outgoingPower = 0
|
||||
node.payload[programPropertyName].ownPower = 0
|
||||
node.payload[programPropertyName].incomingPower = 0
|
||||
node.payload[programPropertyName].awarded = {
|
||||
tokens: 0,
|
||||
percentage: 0
|
||||
}
|
||||
@@ -345,7 +357,7 @@ function newGovernanceUtilitiesDecendentProgram() {
|
||||
node.payload.uiObject.statusAngleOffset = 0
|
||||
node.payload.uiObject.statusAtAngle = false
|
||||
|
||||
node.payload.uiObject.setStatus(ownPowerText + ' Own Power' + ' + ' + incomingPowerText + ' Incoming ' + programPowerName)
|
||||
node.payload.uiObject.setStatus(ownPowerText + ' Own Power' + ' + ' + incomingPowerText + ' Incoming ' + programPowerName)
|
||||
}
|
||||
if (node.tokensAwarded !== undefined && node.tokensAwarded.payload !== undefined) {
|
||||
|
||||
|
||||
@@ -5,24 +5,10 @@ function newGovernanceUtilitiesTables() {
|
||||
|
||||
return thisObject
|
||||
|
||||
function addHTML(table, tableRecords, tableRecordDefinition) {
|
||||
function addHTML(table, tableRecords, tableRecordDefinition, sortingOrder) {
|
||||
let HTML = ''
|
||||
let resultCounter = 0
|
||||
/*
|
||||
Get the sorting order for this table.
|
||||
*/
|
||||
let sortingOrder = UI.projects.governance.spaces.reportsSpace.tablesSortingOrders[table]
|
||||
/*
|
||||
Set the default sorting order for this table.
|
||||
*/
|
||||
if (sortingOrder === undefined) {
|
||||
UI.projects.governance.spaces.reportsSpace.tablesSortingOrders[table] = {
|
||||
property: 'name',
|
||||
order: 'ascending'
|
||||
}
|
||||
sortingOrder = UI.projects.governance.spaces.reportsSpace.tablesSortingOrders[table]
|
||||
}
|
||||
/*
|
||||
Get the property type for the current sorting order.
|
||||
*/
|
||||
let propertyType
|
||||
|
||||
Reference in new issue
Block a user