Fix challenge ordering
This commit is contained in:
		| @@ -64,6 +64,28 @@ function cachedMap(Block) { | |||||||
|     }, {}) |     }, {}) | ||||||
|     .map(map => normalize(map, mapSchema)) |     .map(map => normalize(map, mapSchema)) | ||||||
|     .map(map => { |     .map(map => { | ||||||
|  |       // make sure challenges are in the right order | ||||||
|  |       map.entities.block = Object.keys(map.entities.block) | ||||||
|  |         // turn map into array | ||||||
|  |         .map(key => map.entities.block[key]) | ||||||
|  |         // perform re-order | ||||||
|  |         .map(block => { | ||||||
|  |           block.challenges = block.challenges.reduce((accu, dashedName) => { | ||||||
|  |             const index = map.entities.challenge[dashedName].suborder; | ||||||
|  |             accu[index - 1] = dashedName; | ||||||
|  |             return accu; | ||||||
|  |           }, []); | ||||||
|  |           return block; | ||||||
|  |         }) | ||||||
|  |         // turn back into map | ||||||
|  |         .reduce((blockMap, block) => { | ||||||
|  |           blockMap[block.dashedName] = block; | ||||||
|  |           return blockMap; | ||||||
|  |         }, {}); | ||||||
|  |       return map; | ||||||
|  |     }) | ||||||
|  |     .map(map => { | ||||||
|  |       // re-order superBlocks result | ||||||
|       const result = Object.keys(map.result).reduce((result, supName) => { |       const result = Object.keys(map.result).reduce((result, supName) => { | ||||||
|         const index = map.entities.superBlock[supName].order; |         const index = map.entities.superBlock[supName].order; | ||||||
|         result[index] = supName; |         result[index] = supName; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user