tweak: Small convenience fixes

This commit is contained in:
NunoSempere 2021-12-08 11:20:03 +01:00
parent 22bb8610e1
commit f82043d24a
2 changed files with 35 additions and 3 deletions

View File

@ -11,7 +11,7 @@ import { pushToMongo } from "./pushToMongo.js"
import { maxMergeSortSteps, expectedNumMergeSortSteps } from "./utils.js" import { maxMergeSortSteps, expectedNumMergeSortSteps } from "./utils.js"
/* DEFINTIONS */ /* DEFINTIONS */
const DEFAULT_COMPARE = 2 // 1, unless you're testing smth. const DEFAULT_COMPARE = () => 0.5 // 1/Math.random() - 1// 1, unless you're testing smth.
/* Helpers */ /* Helpers */
let increasingList = (n) => Array.from(Array(n).keys()) let increasingList = (n) => Array.from(Array(n).keys())
@ -204,7 +204,7 @@ export default function ComparisonView({ listOfElementsForView }) {
let newQuantitativeComparisons = [...quantitativeComparisons, newQuantitativeComparison] let newQuantitativeComparisons = [...quantitativeComparisons, newQuantitativeComparison]
setQuantitativeComparisons(newQuantitativeComparisons) setQuantitativeComparisons(newQuantitativeComparisons)
setSliderValue(DEFAULT_COMPARE) setSliderValue(DEFAULT_COMPARE())
setReasoning('') setReasoning('')
changeNumSteps(numSteps + 1) changeNumSteps(numSteps + 1)
if (successStatus) { if (successStatus) {
@ -216,7 +216,7 @@ export default function ComparisonView({ listOfElementsForView }) {
// Make sure to do this after the // Make sure to do this after the
setIsListOrdered(true) setIsListOrdered(true)
setOrderedList(result) setOrderedList(result)
}, 5000); }, 500);
} }
} }

View File

@ -155,6 +155,38 @@ function abridgeArrayAndDisplay(array) {
return result return result
} }
export async function buildRows(isListOrdered, orderedList, listOfElements, links){
// Not used yet.
let rows = []
if (isListOrdered && ! (orderedList.length < listOfElements.length) && rows.length == 0) {
let nodes = []
let positionDictionary=({})
orderedList.forEach((id, pos) => {
nodes.push({ ...listOfElements[id], position: pos })
positionDictionary[id] = pos
})
// let nodes = orderedList.map((id, pos) => ({ ...listOfElements[id], position: pos }))
/* Pre-process links to talk in terms of distances */
links = links.map(link => ({...link,
sourceElementPosition: positionDictionary[link.source],
targetElementPosition: positionDictionary[link.target]
}))
let distances = await findDistancesForAllElements({ nodes, links })
rows = nodes.map((element, i) => ({
id: numToAlphabeticalString(element.position),
position: element.position,
name: element.name,
distances: distances[i]
}))
console.log("rows@CreateTableWithDistances")
console.log(rows)
}else{
rows = []
}
return rows
}
export function CreateTableWithDistances({ isListOrdered, orderedList, listOfElements, links }) { export function CreateTableWithDistances({ isListOrdered, orderedList, listOfElements, links }) {
const [rows, setRows] = useState([]) const [rows, setRows] = useState([])