Changed around line 1
+ urlParser
+ extends abstractIdParser
+ description URL to the creation being tried?
+ float sortIndex 1.1
+ required
+
+ creationParser
+ extends abstractStringMeasureParser
+ description What is the title of the creation?
+ float sortIndex 1.12
+
+ tryParser
+ extends abstractUrlMeasureParser
+ float sortIndex 1.3
+ description URL to the builder test video?
+ required
+
+ rankParser
+ extends abstractFloatMeasureParser
+ float sortIndex 1.05
+ description What is the current rank?
+ boolean isComputed true
+ javascript
+ computeValue(concept, name, parsedProgram) {
+ if (!Particle.ranks) {
+ Particle.ranks = {}
+ const urls = parsedProgram.topDownArray.filter(particle => particle.cue === "url").map(particle => particle.content)
+ urls.forEach(url => {
+ if (!Particle.ranks[url])
+ Particle.ranks[url] = {url, count: 0}
+ Particle.ranks[url].count++
+ })
+ const sortedRanks = Object.values(Particle.ranks).sort((a, b) => b.count - a.count);
+ sortedRanks.forEach((rank, index) => {
+ Particle.ranks[rank.url] = index + 1
+ })
+ }
+ return Particle.ranks[concept.get("url")]
+ }
+
+ triesDateParser
+ cue date
+ extends abstractStringMeasureParser
+ float sortIndex 1.4
+ description When did they try?
+ required
+
+ buildernameParser
+ extends abstractStringMeasureParser
+ description Buildername of the trier?
+ float sortIndex 1.5
+ required
+