Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 1x 1x 9x 9x 9x 12x 12x 1x 1x 11x 11x 4x 4x 4x 7x 7x 9x 4x 9x | import { splitTextSegment } from 'roosterjs-content-model-api'; import type { ContentModelText, ShallowMutableContentModelParagraph, } from 'roosterjs-content-model-types'; /** * @internal */ export function getQueryString( triggerCharacter: string, paragraph: ShallowMutableContentModelParagraph, previousSegment: ContentModelText, splittedSegmentResult?: ContentModelText[] ): string { let result = ''; let i = paragraph.segments.indexOf(previousSegment); for (; i >= 0; i--) { const segment = paragraph.segments[i]; if (segment.segmentType != 'Text') { result = ''; break; } const index = segment.text.lastIndexOf(triggerCharacter); if (index >= 0) { result = segment.text.substring(index) + result; splittedSegmentResult?.unshift( index > 0 ? splitTextSegment(segment, paragraph, index, segment.text.length) : segment ); break; } else { result = segment.text + result; splittedSegmentResult?.unshift(segment); } } if (i < 0) { result = ''; } return result; } |