Referral Program half way reimplemented
This commit is contained in:
1 parent
ac38f35c68
commit
5bac00777e
7 files changed
+175
-85
No files matched your search
@@ -30,6 +30,10 @@ function newUiObject() {
|
||||
hasInfo: undefined,
|
||||
valueAtAngle: true,
|
||||
valueAngleOffset: 0,
|
||||
percentageAtAngle: true,
|
||||
percentageAngleOffset: 0,
|
||||
statusAtAngle: true,
|
||||
statusAngleOffset: 0,
|
||||
run: run,
|
||||
stop: stop,
|
||||
heartBeat: heartBeat,
|
||||
@@ -1887,13 +1891,13 @@ function newUiObject() {
|
||||
label = label.substring(0, MAX_LABEL_LENGTH) + '...'
|
||||
}
|
||||
|
||||
if (thisObject.valueAtAngle === true && thisObject.payload.angle !== undefined) {
|
||||
if (thisObject.percentageAtAngle === true && thisObject.payload.angle !== undefined) {
|
||||
labelPoint = {
|
||||
x: position.x - getTextWidth(label) / 2,
|
||||
y: position.y
|
||||
}
|
||||
labelPoint.x = labelPoint.x + radius * 7 / 3 * Math.cos(toRadians(thisObject.payload.angle + thisObject.valueAngleOffset))
|
||||
labelPoint.y = labelPoint.y + radius * 7 / 3 * Math.sin(toRadians(thisObject.payload.angle + thisObject.valueAngleOffset)) + lineSeparator * 1
|
||||
labelPoint.x = labelPoint.x + radius * 7 / 3 * Math.cos(toRadians(thisObject.payload.angle + thisObject.percentageAngleOffset))
|
||||
labelPoint.y = labelPoint.y + radius * 7 / 3 * Math.sin(toRadians(thisObject.payload.angle + thisObject.percentageAngleOffset)) + lineSeparator * 1
|
||||
} else {
|
||||
if (thisObject.isOnFocus === true) {
|
||||
labelPoint = {
|
||||
@@ -1948,15 +1952,25 @@ function newUiObject() {
|
||||
label = label.substring(0, MAX_LABEL_LENGTH) + '...'
|
||||
}
|
||||
|
||||
if (thisObject.isOnFocus === true) {
|
||||
if (thisObject.statusAtAngle === true && thisObject.payload.angle !== undefined) {
|
||||
labelPoint = {
|
||||
x: position.x - getTextWidth(label) / 2,
|
||||
y: position.y + radius * 2 / 3 + lineSeparator * 4 + 30
|
||||
y: position.y
|
||||
}
|
||||
labelPoint.x = labelPoint.x + radius * 7 / 3 * Math.cos(toRadians(thisObject.payload.angle + thisObject.statusAngleOffset))
|
||||
labelPoint.y = labelPoint.y + radius * 7 / 3 * Math.sin(toRadians(thisObject.payload.angle + thisObject.statusAngleOffset)) + lineSeparator * 2
|
||||
} else {
|
||||
labelPoint = {
|
||||
x: position.x - getTextWidth(label) / 2,
|
||||
y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 4
|
||||
|
||||
if (thisObject.isOnFocus === true) {
|
||||
labelPoint = {
|
||||
x: position.x - getTextWidth(label) / 2,
|
||||
y: position.y + radius * 2 / 3 + lineSeparator * 4 + 30
|
||||
}
|
||||
} else {
|
||||
labelPoint = {
|
||||
x: position.x - getTextWidth(label) / 2,
|
||||
y: position.y + thisObject.payload.floatingObject.currentImageSize / 2 + lineSeparator * 4
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -424,7 +424,7 @@
|
||||
{
|
||||
"type": "Pool",
|
||||
"name": "User Referrals",
|
||||
"config": "{\n \"codeName\": \"User-Referrals\"\n}",
|
||||
"config": "{\n \"codeName\": \"Referral-Program\"\n}",
|
||||
"project": "Governance",
|
||||
"poolClasses": [],
|
||||
"pools": [],
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
"project": "Governance",
|
||||
"userReferrer": {
|
||||
"type": "User Referrer",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"config": "{\n \"description\": \"\"\n}",
|
||||
"name": "Jeremy",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "edf7bcda-23f6-49bb-b9b2-9a34edcb4a40",
|
||||
"id": "0d0b04ff-034b-4b02-8351-67d621d514c0",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 25503.74798740812,
|
||||
@@ -32,15 +32,15 @@
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Luis-Fernando-Molina",
|
||||
"id": "148911b3-b2f3-44fb-8cb4-017991789132"
|
||||
"name": "Jeremy",
|
||||
"id": "759e9012-c995-47ed-92f1-7d204bf2b58e"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -13,11 +13,42 @@
|
||||
"name": "New Referral Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userReferrer": {
|
||||
"type": "User Referrer",
|
||||
"name": "Julian-Molina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "c96ae419-54ad-4d70-94fe-38833288d471",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30785.098889480818,
|
||||
"y": 23025.90611888476
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30550.54944474041,
|
||||
"y": 23212.953059442378
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "Julian-Molina",
|
||||
"id": "1fd95e41-4b22-48d5-be3a-904c37afcb11"
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "43a24543-03cf-4511-b670-63566159dbd7",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30586.290660370727,
|
||||
"y": 23530.165121735263
|
||||
"x": 30550.54944474041,
|
||||
"y": 23212.953059442378
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30316,
|
||||
@@ -27,7 +58,7 @@
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
@@ -45,8 +76,8 @@
|
||||
"id": "8af4af68-62bf-4ad2-bf84-f1124cba0abf",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30503.04694055762,
|
||||
"y": 23634.549444740405
|
||||
"x": 30608.478373654547,
|
||||
"y": 23466.75628018689
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30316,
|
||||
@@ -56,7 +87,7 @@
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
@@ -74,8 +105,8 @@
|
||||
"id": "91d82012-4362-4fe0-b02b-0eb3b394ace5",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30382.756280186895,
|
||||
"y": 23692.478373654543
|
||||
"x": 30446.165121735266,
|
||||
"y": 23670.290660370723
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30316,
|
||||
@@ -85,7 +116,7 @@
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
@@ -1286,12 +1317,12 @@
|
||||
"id": "e059f5c4-9132-4d76-9f3e-1060658fa704",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30048.97487925242,
|
||||
"y": 24569.913494618184
|
||||
"x": 29795.339513058934,
|
||||
"y": 24481.162641482904
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30115.731159439314,
|
||||
"y": 24277.435120963637
|
||||
"x": 29925.5046347942,
|
||||
"y": 24210.871981112177
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -1319,12 +1350,12 @@
|
||||
"id": "1d398124-3f36-40a1-8b3b-6c77ad489b92",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30115.731159439314,
|
||||
"y": 24277.435120963637
|
||||
"x": 29925.5046347942,
|
||||
"y": 24210.871981112177
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30182.48743962621,
|
||||
"y": 23984.95674730909
|
||||
"x": 30055.669756529467,
|
||||
"y": 23940.58132074145
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -1344,12 +1375,12 @@
|
||||
"id": "2b8d3ce7-515c-44ad-8d80-3c2be6d7736f",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30182.48743962621,
|
||||
"y": 23984.95674730909
|
||||
"x": 30055.669756529467,
|
||||
"y": 23940.58132074145
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30249.243719813105,
|
||||
"y": 23692.478373654543
|
||||
"x": 30185.834878264734,
|
||||
"y": 23670.290660370723
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
@@ -1368,8 +1399,8 @@
|
||||
"id": "d5ed432e-78bf-432e-be3b-8649932f7a65",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30249.243719813105,
|
||||
"y": 23692.478373654543
|
||||
"x": 30185.834878264734,
|
||||
"y": 23670.290660370723
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30316,
|
||||
@@ -1379,7 +1410,7 @@
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
@@ -1399,8 +1430,8 @@
|
||||
"id": "796dd30f-c90d-4b8d-a63d-89867347407b",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30128.95305944238,
|
||||
"y": 23634.549444740405
|
||||
"x": 30023.521626345453,
|
||||
"y": 23466.75628018689
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30316,
|
||||
@@ -1410,7 +1441,7 @@
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
@@ -1427,8 +1458,8 @@
|
||||
"id": "b046f4e4-40b1-4e47-8fed-75a6a5c6029d",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30045.709339629273,
|
||||
"y": 23530.165121735263
|
||||
"x": 30081.45055525959,
|
||||
"y": 23212.953059442378
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30316,
|
||||
@@ -1438,7 +1469,7 @@
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 2,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
|
||||
@@ -240,6 +240,8 @@ function newGovernanceFunctionLibraryTokenPower() {
|
||||
node.payload.uiObject.setValue(tokenPower)
|
||||
|
||||
if (percentage !== undefined) {
|
||||
node.payload.uiObject.percentageAngleOffset = 180
|
||||
node.payload.uiObject.percentageAtAngle = true
|
||||
node.payload.uiObject.setPercentage(percentage.toFixed(2))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,15 +23,30 @@ function newGovernanceFunctionLibraryUserReferrals() {
|
||||
*/
|
||||
for (let i = 0; i < userProfiles.length; i++) {
|
||||
let userProfile = userProfiles[i]
|
||||
resetUserReferrals(userProfile)
|
||||
|
||||
if (userProfile.tokenSwitch === undefined) { continue }
|
||||
if (userProfile.tokenSwitch.referralProgram === undefined) { continue }
|
||||
if (userProfile.tokenSwitch.referralProgram.payload === undefined) { continue }
|
||||
|
||||
resetUserReferrals(userProfile.tokenSwitch.referralProgram)
|
||||
}
|
||||
for (let i = 0; i < userProfiles.length; i++) {
|
||||
let userProfile = userProfiles[i]
|
||||
distributeForProfile(userProfile)
|
||||
|
||||
if (userProfile.tokenSwitch === undefined) { continue }
|
||||
if (userProfile.tokenSwitch.referralProgram === undefined) { continue }
|
||||
if (userProfile.tokenSwitch.referralProgram.payload === undefined) { continue }
|
||||
|
||||
distributeForReferralProgram(userProfile.tokenSwitch.referralProgram)
|
||||
}
|
||||
for (let i = 0; i < userProfiles.length; i++) {
|
||||
let userProfile = userProfiles[i]
|
||||
calculateAwardedForProfile(userProfile)
|
||||
|
||||
if (userProfile.tokenSwitch === undefined) { continue }
|
||||
if (userProfile.tokenSwitch.referralProgram === undefined) { continue }
|
||||
if (userProfile.tokenSwitch.referralProgram.payload === undefined) { continue }
|
||||
|
||||
calculateForReferralProgram(userProfile.tokenSwitch.referralProgram)
|
||||
}
|
||||
|
||||
function findPool(node) {
|
||||
@@ -46,7 +61,7 @@ function newGovernanceFunctionLibraryUserReferrals() {
|
||||
node.type === 'Pool'
|
||||
) {
|
||||
let codeName = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(node.payload, 'codeName')
|
||||
if (codeName === "User-Referrals") {
|
||||
if (codeName === "Referral-Program") {
|
||||
tokensReward = node.payload.tokens
|
||||
return
|
||||
}
|
||||
@@ -96,8 +111,19 @@ function newGovernanceFunctionLibraryUserReferrals() {
|
||||
If the node is a User Profile, we will check if it has a User Referrer child defined.
|
||||
*/
|
||||
if (
|
||||
node.userReferrer !== undefined &&
|
||||
node.type === 'User Profile'
|
||||
node.type === 'User Profile' &&
|
||||
node.tokenSwitch !== undefined &&
|
||||
node.tokenSwitch.referralProgram !== undefined
|
||||
) {
|
||||
resetUserReferrals(node.tokenSwitch.referralProgram)
|
||||
return
|
||||
}
|
||||
/*
|
||||
If the node is a Referral Program, we will check if it has a User Referrer child defined.
|
||||
*/
|
||||
if (
|
||||
node.type === 'Referral Program' &&
|
||||
node.userReferrer !== undefined
|
||||
) {
|
||||
resetUserReferrals(node.userReferrer)
|
||||
return
|
||||
@@ -107,26 +133,20 @@ function newGovernanceFunctionLibraryUserReferrals() {
|
||||
transfered to it.
|
||||
*/
|
||||
if (
|
||||
node.payload.referenceParent !== undefined &&
|
||||
node.type === 'User Referrer'
|
||||
node.type === 'User Referrer' &&
|
||||
node.payload.referenceParent !== undefined
|
||||
) {
|
||||
resetUserReferrals(node.payload.referenceParent)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
function distributeForProfile(userProfile) {
|
||||
if (userProfile === undefined || userProfile.payload === undefined) { return }
|
||||
let referringPower
|
||||
if (userProfile.payload.blockchainTokens === undefined) {
|
||||
return
|
||||
} else {
|
||||
referringPower = userProfile.payload.blockchainTokens
|
||||
}
|
||||
|
||||
function distributeForReferralProgram(referralProgram) {
|
||||
if (referralProgram === undefined || referralProgram.payload === undefined) { return }
|
||||
let referringPower = referralProgram.payload.tokenPower
|
||||
let referringCount = 0
|
||||
userProfile.payload.referring.ownPower = referringPower
|
||||
distributeUserReferrals(userProfile, referringPower, referringCount)
|
||||
referralProgram.payload.referring.ownPower = referringPower
|
||||
distributeUserReferrals(referralProgram, referringPower, referringCount)
|
||||
}
|
||||
|
||||
function distributeUserReferrals(node, referringPower, referringCount) {
|
||||
@@ -142,10 +162,10 @@ function newGovernanceFunctionLibraryUserReferrals() {
|
||||
node.payload.referring.referralsPower = node.payload.referring.combinedPower - node.payload.referring.ownPower
|
||||
totalReferralsPower = totalReferralsPower + node.payload.referring.referralsPower
|
||||
if (
|
||||
node.userReferrer !== undefined &&
|
||||
node.type === 'User Profile'
|
||||
node.type === 'Referral Program' &&
|
||||
node.userReferrer !== undefined
|
||||
) {
|
||||
distributeUserReferrals(node.userReferrer, referringPower, 1, 0)
|
||||
distributeUserReferrals(node.userReferrer, referringPower / 10, 1, 0)
|
||||
return
|
||||
}
|
||||
/*
|
||||
@@ -153,45 +173,55 @@ function newGovernanceFunctionLibraryUserReferrals() {
|
||||
transfered to it.
|
||||
*/
|
||||
if (
|
||||
node.payload.referenceParent !== undefined &&
|
||||
node.type === 'User Referrer'
|
||||
node.type === 'User Referrer' &&
|
||||
node.payload.referenceParent !== undefined
|
||||
) {
|
||||
drawUserReferrals(node)
|
||||
distributeUserReferrals(node.payload.referenceParent, referringPower / 10, 1)
|
||||
distributeUserReferrals(node.payload.referenceParent, referringPower, 1)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
function calculateAwardedForProfile(userProfile) {
|
||||
if (userProfile.payload === undefined) { return }
|
||||
function calculateForReferralProgram(referralProgram) {
|
||||
if (referralProgram.payload === undefined) { return }
|
||||
|
||||
let totalPowerRewardRation = tokensReward / totalReferralsPower
|
||||
if (totalPowerRewardRation < 1) { totalPowerRewardRation = 1 }
|
||||
let totalPowerRewardRatio = tokensReward / totalReferralsPower
|
||||
if (totalPowerRewardRatio < 1) { totalPowerRewardRatio = 1 }
|
||||
|
||||
userProfile.payload.referring.awarded.tokens = userProfile.payload.referring.referralsPower * totalPowerRewardRation
|
||||
drawUserProfiles(userProfile)
|
||||
referralProgram.payload.referring.awarded.tokens = referralProgram.payload.referring.referralsPower * totalPowerRewardRatio
|
||||
drawReferralProgram(referralProgram)
|
||||
}
|
||||
|
||||
function drawUserReferrals(node) {
|
||||
if (node.payload !== undefined) {
|
||||
const powerText = new Intl.NumberFormat().format(node.payload.referring.combinedPower)
|
||||
const ownPowerText = new Intl.NumberFormat().format(node.payload.referring.ownPower)
|
||||
const referralsPowerText = new Intl.NumberFormat().format(node.payload.referring.referralsPower)
|
||||
const combinedPowerText = new Intl.NumberFormat().format(node.payload.referring.combinedPower)
|
||||
|
||||
node.payload.uiObject.valueAngleOffset = 0
|
||||
node.payload.uiObject.valueAtAngle = false
|
||||
node.payload.uiObject.valueAngleOffset = 180
|
||||
node.payload.uiObject.valueAtAngle = true
|
||||
|
||||
node.payload.uiObject.setStatus(powerText + ' ' + 'Combined Referring Power')
|
||||
return
|
||||
node.payload.uiObject.setValue( combinedPowerText + ' ' + 'Referring Power')
|
||||
|
||||
node.payload.uiObject.statusAngleOffset = 0
|
||||
node.payload.uiObject.statusAtAngle = false
|
||||
|
||||
node.payload.uiObject.setStatus(ownPowerText + ' own RP + ' + referralsPowerText + ' inherited RP = ' + combinedPowerText + ' ' + ' Total RP')
|
||||
}
|
||||
}
|
||||
|
||||
function drawUserProfiles(node) {
|
||||
function drawReferralProgram(node) {
|
||||
if (node.payload !== undefined) {
|
||||
const powerText = new Intl.NumberFormat().format(node.payload.referring.combinedPower)
|
||||
const awardedTokens = new Intl.NumberFormat().format(node.payload.referring.awarded.tokens)
|
||||
const referralPower = new Intl.NumberFormat().format(node.payload.referring.referralsPower)
|
||||
|
||||
node.payload.uiObject.valueAngleOffset = 0
|
||||
node.payload.uiObject.valueAtAngle = false
|
||||
node.payload.uiObject.statusAngleOffset = 0
|
||||
node.payload.uiObject.statusAtAngle = false
|
||||
|
||||
node.payload.uiObject.setStatus("Referring Power = Token Power / 10")
|
||||
|
||||
return
|
||||
|
||||
if (
|
||||
(
|
||||
|
||||
@@ -268,7 +268,16 @@ function newGovernanceFunctionLibraryVotes() {
|
||||
function drawVotes(node, votes, percentage) {
|
||||
votes = new Intl.NumberFormat().format(votes) + ' ' + 'Votes'
|
||||
if (node.payload !== undefined) {
|
||||
if (node.type === 'User Profile') {
|
||||
|
||||
if (node.type === 'Voting Program') {
|
||||
node.payload.uiObject.statusAngleOffset = 0
|
||||
node.payload.uiObject.statusAtAngle = false
|
||||
|
||||
node.payload.uiObject.setStatus("Votes = Tokens Power")
|
||||
|
||||
if (percentage !== undefined) {
|
||||
node.payload.uiObject.setPercentage(percentage.toFixed(2))
|
||||
}
|
||||
return
|
||||
}
|
||||
if (
|
||||
@@ -286,9 +295,13 @@ function newGovernanceFunctionLibraryVotes() {
|
||||
) {
|
||||
node.payload.uiObject.valueAngleOffset = 0
|
||||
node.payload.uiObject.valueAtAngle = false
|
||||
node.payload.uiObject.percentageAngleOffset = 0
|
||||
node.payload.uiObject.percentageAtAngle = false
|
||||
} else {
|
||||
node.payload.uiObject.valueAngleOffset = 180
|
||||
node.payload.uiObject.valueAtAngle = true
|
||||
node.payload.uiObject.percentageAngleOffset = 180
|
||||
node.payload.uiObject.percentageAtAngle = true
|
||||
}
|
||||
|
||||
node.payload.uiObject.setValue(votes)
|
||||
|
||||
Reference in new issue
Block a user