mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-14 07:04:45 -04:00
Add prettier for codestyle and re-format everything (#1294)
This commit is contained in:
parent
8b78154075
commit
0aae1f70d2
319 changed files with 4809 additions and 3936 deletions
|
@ -10,40 +10,48 @@ import useResizeObserver from 'use-resize-observer'
|
|||
import { LineMarkerPosition } from '../types'
|
||||
import { LineMarkers } from '../replace-components/linemarker/line-number-marker'
|
||||
|
||||
export const calculateLineMarkerPositions = (documentElement: HTMLDivElement, currentLineMarkers: LineMarkers[], offset?: number): LineMarkerPosition[] => {
|
||||
export const calculateLineMarkerPositions = (
|
||||
documentElement: HTMLDivElement,
|
||||
currentLineMarkers: LineMarkers[],
|
||||
offset?: number
|
||||
): LineMarkerPosition[] => {
|
||||
const lineMarkers = currentLineMarkers
|
||||
const children: HTMLCollection = documentElement.children
|
||||
const lineMarkerPositions: LineMarkerPosition[] = []
|
||||
|
||||
Array.from(children)
|
||||
.forEach((child, childIndex) => {
|
||||
const htmlChild = (child as HTMLElement)
|
||||
if (htmlChild.offsetTop === undefined) {
|
||||
return
|
||||
}
|
||||
const currentLineMarker = lineMarkers[childIndex]
|
||||
if (currentLineMarker === undefined) {
|
||||
return
|
||||
}
|
||||
Array.from(children).forEach((child, childIndex) => {
|
||||
const htmlChild = child as HTMLElement
|
||||
if (htmlChild.offsetTop === undefined) {
|
||||
return
|
||||
}
|
||||
const currentLineMarker = lineMarkers[childIndex]
|
||||
if (currentLineMarker === undefined) {
|
||||
return
|
||||
}
|
||||
|
||||
const lastPosition = lineMarkerPositions[lineMarkerPositions.length - 1]
|
||||
if (!lastPosition || lastPosition.line !== currentLineMarker.startLine) {
|
||||
lineMarkerPositions.push({
|
||||
line: currentLineMarker.startLine,
|
||||
position: htmlChild.offsetTop + (offset ?? 0)
|
||||
})
|
||||
}
|
||||
const lastPosition = lineMarkerPositions[lineMarkerPositions.length - 1]
|
||||
if (!lastPosition || lastPosition.line !== currentLineMarker.startLine) {
|
||||
lineMarkerPositions.push({
|
||||
line: currentLineMarker.startLine,
|
||||
position: htmlChild.offsetTop + (offset ?? 0)
|
||||
})
|
||||
}
|
||||
|
||||
lineMarkerPositions.push({
|
||||
line: currentLineMarker.endLine,
|
||||
position: htmlChild.offsetTop + htmlChild.offsetHeight + (offset ?? 0)
|
||||
})
|
||||
})
|
||||
lineMarkerPositions.push({
|
||||
line: currentLineMarker.endLine,
|
||||
position: htmlChild.offsetTop + htmlChild.offsetHeight + (offset ?? 0)
|
||||
})
|
||||
})
|
||||
|
||||
return lineMarkerPositions
|
||||
}
|
||||
|
||||
export const useCalculateLineMarkerPosition = (documentElement: RefObject<HTMLDivElement>, lineMarkers?: LineMarkers[], onLineMarkerPositionChanged?: (lineMarkerPosition: LineMarkerPosition[]) => void, offset?: number): void => {
|
||||
export const useCalculateLineMarkerPosition = (
|
||||
documentElement: RefObject<HTMLDivElement>,
|
||||
lineMarkers?: LineMarkers[],
|
||||
onLineMarkerPositionChanged?: (lineMarkerPosition: LineMarkerPosition[]) => void,
|
||||
offset?: number
|
||||
): void => {
|
||||
const lastLineMarkerPositions = useRef<LineMarkerPosition[]>()
|
||||
|
||||
const calculateNewLineMarkerPositions = useCallback(() => {
|
||||
|
|
|
@ -11,7 +11,7 @@ import { ComponentReplacer, NativeRenderer, SubNodeTransform } from '../replace-
|
|||
import { LineKeys } from '../types'
|
||||
|
||||
export interface TextDifferenceResult {
|
||||
lines: LineKeys[],
|
||||
lines: LineKeys[]
|
||||
lastUsedLineId: number
|
||||
}
|
||||
|
||||
|
@ -44,10 +44,15 @@ export const calculateKeyFromLineMarker = (node: DomElement, lineKeys?: LineKeys
|
|||
return
|
||||
}
|
||||
|
||||
return `${ startLine.id }_${ endLine.id }`
|
||||
return `${startLine.id}_${endLine.id}`
|
||||
}
|
||||
|
||||
export const findNodeReplacement = (node: DomElement, allReplacers: ComponentReplacer[], subNodeTransform: SubNodeTransform, nativeRenderer: NativeRenderer): ReactElement | null | undefined => {
|
||||
export const findNodeReplacement = (
|
||||
node: DomElement,
|
||||
allReplacers: ComponentReplacer[],
|
||||
subNodeTransform: SubNodeTransform,
|
||||
nativeRenderer: NativeRenderer
|
||||
): ReactElement | null | undefined => {
|
||||
return allReplacers
|
||||
.map((componentReplacer) => componentReplacer.getReplacement(node, subNodeTransform, nativeRenderer))
|
||||
.find((replacement) => replacement !== undefined)
|
||||
|
@ -62,7 +67,7 @@ export const renderNativeNode = (node: DomElement, key: string, transform: Trans
|
|||
return convertNodeToElement(node, key as unknown as number, transform)
|
||||
}
|
||||
|
||||
export const buildTransformer = (lineKeys: (LineKeys[] | undefined), allReplacers: ComponentReplacer[]): Transform => {
|
||||
export const buildTransformer = (lineKeys: LineKeys[] | undefined, allReplacers: ComponentReplacer[]): Transform => {
|
||||
const transform: Transform = (node, index) => {
|
||||
const nativeRenderer: NativeRenderer = () => renderNativeNode(node, key, transform)
|
||||
const subNodeTransform: SubNodeTransform = (subNode, subIndex) => transform(subNode, subIndex, transform)
|
||||
|
@ -74,9 +79,11 @@ export const buildTransformer = (lineKeys: (LineKeys[] | undefined), allReplacer
|
|||
} else if (tryReplacement === undefined) {
|
||||
return nativeRenderer()
|
||||
} else {
|
||||
return <Suspense key={ key } fallback={ <span>Loading...</span> }>
|
||||
{ tryReplacement }
|
||||
</Suspense>
|
||||
return (
|
||||
<Suspense key={key} fallback={<span>Loading...</span>}>
|
||||
{tryReplacement}
|
||||
</Suspense>
|
||||
)
|
||||
}
|
||||
}
|
||||
return transform
|
||||
|
|
|
@ -8,7 +8,11 @@ import { diffArrays } from 'diff'
|
|||
import { TextDifferenceResult } from './html-react-transformer'
|
||||
import { LineKeys } from '../types'
|
||||
|
||||
export const calculateNewLineNumberMapping = (newMarkdownLines: string[], oldLineKeys: LineKeys[], lastUsedLineId: number): TextDifferenceResult => {
|
||||
export const calculateNewLineNumberMapping = (
|
||||
newMarkdownLines: string[],
|
||||
oldLineKeys: LineKeys[],
|
||||
lastUsedLineId: number
|
||||
): TextDifferenceResult => {
|
||||
const lineDifferences = diffArrays<string, LineKeys>(newMarkdownLines, oldLineKeys, {
|
||||
comparator: (left: string | LineKeys, right: string | LineKeys) => {
|
||||
const leftLine = (left as LineKeys).line ?? (left as string)
|
||||
|
@ -23,14 +27,12 @@ export const calculateNewLineNumberMapping = (newMarkdownLines: string[], oldLin
|
|||
.filter((change) => change.added === undefined || !change.added)
|
||||
.forEach((value) => {
|
||||
if (value.removed) {
|
||||
(value.value as string[])
|
||||
.forEach(line => {
|
||||
lastUsedLineId += 1
|
||||
newLines.push({ line: line, id: lastUsedLineId })
|
||||
})
|
||||
;(value.value as string[]).forEach((line) => {
|
||||
lastUsedLineId += 1
|
||||
newLines.push({ line: line, id: lastUsedLineId })
|
||||
})
|
||||
} else {
|
||||
(value.value as LineKeys[])
|
||||
.forEach((line) => newLines.push(line))
|
||||
;(value.value as LineKeys[]).forEach((line) => newLines.push(line))
|
||||
}
|
||||
})
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue