fix(component): lit portal not re-rendering in inline links case (#9321)

* uses `portal.key` in templates
* updates `portal.id`  for use in queries
This commit is contained in:
fundon
2024-12-26 13:11:31 +00:00
committed by Fangdun Tsai
parent 835e7c434e
commit 6fcdd015aa
7 changed files with 177 additions and 26 deletions

View File

@@ -219,6 +219,7 @@ export function PDFViewerEmbeddedInner({ model }: PDFViewerProps) {
icon={<ArrowUpSmallIcon />}
className={embeddedStyles.pdfControlButton}
onDoubleClick={stopPropagation}
aria-label="Prev"
{...navigator.prev}
/>
<IconButton
@@ -226,6 +227,7 @@ export function PDFViewerEmbeddedInner({ model }: PDFViewerProps) {
icon={<ArrowDownSmallIcon />}
className={embeddedStyles.pdfControlButton}
onDoubleClick={stopPropagation}
aria-label="Next"
{...navigator.next}
/>
<IconButton
@@ -250,8 +252,13 @@ export function PDFViewerEmbeddedInner({ model }: PDFViewerProps) {
embeddedStyles.pdfPageCount,
])}
>
<span>{meta.pageCount > 0 ? cursor + 1 : '-'}</span>/
<span>{meta.pageCount > 0 ? meta.pageCount : '-'}</span>
<span className="page-cursor">
{meta.pageCount > 0 ? cursor + 1 : '-'}
</span>
/
<span className="page-count">
{meta.pageCount > 0 ? meta.pageCount : '-'}
</span>
</div>
</footer>
</div>

View File

@@ -357,7 +357,7 @@ export const BiDirectionalLinkPanel = () => {
{
<>
{portals.map(p => (
<Fragment key={p.id}>{p.portal}</Fragment>
<Fragment key={p.portal.key}>{p.portal}</Fragment>
))}
</>
}

View File

@@ -194,7 +194,7 @@ const usePatchSpecs = (shared: boolean, mode: DocMode) => {
() => (
<>
{portals.map(p => (
<Fragment key={p.id}>{p.portal}</Fragment>
<Fragment key={p.portal.key}>{p.portal}</Fragment>
))}
</>
),