nit dataflow dark mode colors

This commit is contained in:
Ruben Fiszel
2024-07-05 20:09:12 +02:00
parent c6fa154a50
commit b9e0f2fd2f
@@ -3,16 +3,8 @@ This file contains "middleware" functions that sanitize user input (UserNodeType
maintain consistency between previous
*/
import {
bottomCb,
leftCb,
rightCb,
topCb,
} from '../../edges/controllers/anchorCbUser';
import type { UserEdgeType, UserNodeType } from '../../types/types';
import { bottomCb, leftCb, rightCb, topCb } from '../../edges/controllers/anchorCbUser'
import type { UserEdgeType, UserNodeType } from '../../types/types'
/**
* sanitizeUserNodesAndEdges will sanitize the data initially passed in to Svelvet component. For example, the node that user specified have an integar as its id but to instantiate a Node and be compatible with uuid we will need to convert the integar id to a string.
@@ -20,15 +12,12 @@ import type { UserEdgeType, UserNodeType } from '../../types/types';
* @param userEdges The array of edges that have a UserEdgeType
* @returns An object of sanitized userNodes and userEdges
*/
export function sanitizeUserNodesAndEdges(
userNodes: UserNodeType[],
userEdges: UserEdgeType[]
) {
convertIdToString(userNodes);
convertEdgeIdsToString(userEdges);
convertAnchorPositionsToCallbacks(userNodes, userEdges);
setDefaultEdgeType(userEdges);
return { userNodes, userEdges };
export function sanitizeUserNodesAndEdges(userNodes: UserNodeType[], userEdges: UserEdgeType[]) {
convertIdToString(userNodes)
convertEdgeIdsToString(userEdges)
convertAnchorPositionsToCallbacks(userNodes, userEdges)
setDefaultEdgeType(userEdges)
return { userNodes, userEdges }
}
/**
@@ -37,10 +26,10 @@ export function sanitizeUserNodesAndEdges(
* @returns No return, the function edits the objects in place
*/
function setDefaultEdgeType(userEdges) {
for (let userEdge of userEdges) {
if (!['smoothstep', 'step', 'bezier', 'straight'].includes(userEdge.type))
userEdge.type = 'bezier';
}
for (let userEdge of userEdges) {
if (!['smoothstep', 'step', 'bezier', 'straight'].includes(userEdge.type))
userEdge.type = 'bezier'
}
}
/**
@@ -57,25 +46,23 @@ function setDefaultEdgeType(userEdges) {
* consistent user experience. However, we suggest that this functionality (parsing Svelvet5 syntax into
* Svelvet6 syntax) be removed completely in favor of only using Svelvet6 syntax in order to reduce edge cases.
*/
function convertAnchorPositionsToCallbacks(
userNodes: UserNodeType[],
userEdges: UserEdgeType[]
) {
// convert userNodes array into object for constant time lookup by id
const userNodesObj: { [key: string]: UserNodeType } = {};
for (let userNode of userNodes) userNodesObj[userNode.id] = userNode;
function convertAnchorPositionsToCallbacks(userNodes: UserNodeType[], userEdges: UserEdgeType[]) {
// convert userNodes array into object for constant time lookup by id
const userNodesObj: { [key: string]: UserNodeType } = {}
for (let userNode of userNodes) userNodesObj[userNode.id] = userNode
// iterate through userEdges, and check the source/target nodes.
for (let userEdge of userEdges) {
const userNodeSource = userNodesObj[userEdge.source];
const userNodeTarget = userNodesObj[userEdge.target];
const sourcePosition = userNodeSource.sourcePosition;
const targetPosition = userNodeTarget.targetPosition;
// iterate through userEdges, and check the source/target nodes.
for (let userEdge of userEdges) {
const userNodeSource = userNodesObj[userEdge.source]
const userNodeTarget = userNodesObj[userEdge.target]
if (!userNodeSource || !userNodeTarget) continue
const sourcePosition = userNodeSource.sourcePosition
const targetPosition = userNodeTarget.targetPosition
const cbs = { left: leftCb, right: rightCb, top: topCb, bottom: bottomCb };
if (sourcePosition) userEdge.sourceAnchorCb = cbs[sourcePosition];
if (targetPosition) userEdge.targetAnchorCb = cbs[targetPosition];
}
const cbs = { left: leftCb, right: rightCb, top: topCb, bottom: bottomCb }
if (sourcePosition) userEdge.sourceAnchorCb = cbs[sourcePosition]
if (targetPosition) userEdge.targetAnchorCb = cbs[targetPosition]
}
}
/**
@@ -83,14 +70,12 @@ function convertAnchorPositionsToCallbacks(
* @param userNodes The array of userNodes (not yet sanitized)
*/
function convertIdToString(userNodes: UserNodeType[]) {
userNodes = userNodes.map((node) => {
node.id = node.id.toString();
node.childNodes =
node.childNodes === undefined
? []
: node.childNodes.map((childId) => childId.toString());
return node;
});
userNodes = userNodes.map((node) => {
node.id = node.id.toString()
node.childNodes =
node.childNodes === undefined ? [] : node.childNodes.map((childId) => childId.toString())
return node
})
}
/**
@@ -98,9 +83,9 @@ function convertIdToString(userNodes: UserNodeType[]) {
* @param userEdges The array of userEdges (not yet sanitized)
*/
function convertEdgeIdsToString(userEdges: UserEdgeType[]) {
userEdges = userEdges.map((edge) => {
edge.source = edge.source.toString();
edge.target = edge.target.toString();
return edge;
});
userEdges = userEdges.map((edge) => {
edge.source = edge.source.toString()
edge.target = edge.target.toString()
return edge
})
}