|
@@ -71,12 +71,13 @@ const PageListItemLSubstance: ForwardRefRenderFunction<ISelectable, Props> = (pr
|
|
|
const elasticSearchResult = isIPageSearchMeta(pageMeta) ? pageMeta.elasticSearchResult : null;
|
|
const elasticSearchResult = isIPageSearchMeta(pageMeta) ? pageMeta.elasticSearchResult : null;
|
|
|
const revisionShortBody = isIPageInfoForListing(pageMeta) ? pageMeta.revisionShortBody : null;
|
|
const revisionShortBody = isIPageInfoForListing(pageMeta) ? pageMeta.revisionShortBody : null;
|
|
|
|
|
|
|
|
- const dPagePath: DevidedPagePath = new DevidedPagePath(pageData.path, true);
|
|
|
|
|
|
|
+ const dPagePath: DevidedPagePath = new DevidedPagePath(elasticSearchResult?.highlightedPath || pageData.path, true);
|
|
|
const linkedPagePathFormer = new LinkedPagePath(dPagePath.former);
|
|
const linkedPagePathFormer = new LinkedPagePath(dPagePath.former);
|
|
|
const linkedPagePathLatter = new LinkedPagePath(dPagePath.latter);
|
|
const linkedPagePathLatter = new LinkedPagePath(dPagePath.latter);
|
|
|
|
|
|
|
|
const lastUpdateDate = format(new Date(pageData.updatedAt), 'yyyy/MM/dd HH:mm:ss');
|
|
const lastUpdateDate = format(new Date(pageData.updatedAt), 'yyyy/MM/dd HH:mm:ss');
|
|
|
|
|
|
|
|
|
|
+
|
|
|
// click event handler
|
|
// click event handler
|
|
|
const clickHandler = useCallback(() => {
|
|
const clickHandler = useCallback(() => {
|
|
|
// do nothing if mobile
|
|
// do nothing if mobile
|
|
@@ -118,6 +119,8 @@ const PageListItemLSubstance: ForwardRefRenderFunction<ISelectable, Props> = (pr
|
|
|
// background color of list item changes when class "active" exists under 'list-group-item'
|
|
// background color of list item changes when class "active" exists under 'list-group-item'
|
|
|
const styleActive = !isDeviceSmallerThanLg && isSelected ? 'active' : '';
|
|
const styleActive = !isDeviceSmallerThanLg && isSelected ? 'active' : '';
|
|
|
|
|
|
|
|
|
|
+ const shouldDangerouslySetInnerHTMLForPaths = elasticSearchResult != null && elasticSearchResult.highlightedPath.length > 0;
|
|
|
|
|
+
|
|
|
return (
|
|
return (
|
|
|
<li
|
|
<li
|
|
|
key={pageData._id}
|
|
key={pageData._id}
|
|
@@ -144,7 +147,10 @@ const PageListItemLSubstance: ForwardRefRenderFunction<ISelectable, Props> = (pr
|
|
|
<div className="flex-grow-1 p-md-3 pl-2 py-3 pr-3">
|
|
<div className="flex-grow-1 p-md-3 pl-2 py-3 pr-3">
|
|
|
<div className="d-flex justify-content-between">
|
|
<div className="d-flex justify-content-between">
|
|
|
{/* page path */}
|
|
{/* page path */}
|
|
|
- <PagePathHierarchicalLink linkedPagePath={linkedPagePathFormer} />
|
|
|
|
|
|
|
+ <PagePathHierarchicalLink
|
|
|
|
|
+ linkedPagePath={linkedPagePathFormer}
|
|
|
|
|
+ shouldDangerouslySetInnerHTML={shouldDangerouslySetInnerHTMLForPaths}
|
|
|
|
|
+ />
|
|
|
{ showPageUpdatedTime && (
|
|
{ showPageUpdatedTime && (
|
|
|
<span className="page-list-updated-at text-muted">Last update: {lastUpdateDate}</span>
|
|
<span className="page-list-updated-at text-muted">Last update: {lastUpdateDate}</span>
|
|
|
) }
|
|
) }
|
|
@@ -159,7 +165,17 @@ const PageListItemLSubstance: ForwardRefRenderFunction<ISelectable, Props> = (pr
|
|
|
<span className="h5 mb-0">
|
|
<span className="h5 mb-0">
|
|
|
{/* Use permanent links to care for pages with the same name (Cannot use page path url) */}
|
|
{/* Use permanent links to care for pages with the same name (Cannot use page path url) */}
|
|
|
<span className="grw-page-path-hierarchical-link text-break">
|
|
<span className="grw-page-path-hierarchical-link text-break">
|
|
|
- <a className="page-segment" href={encodeURI(urljoin('/', pageData._id))}>{linkedPagePathLatter.pathName}</a>
|
|
|
|
|
|
|
+ {shouldDangerouslySetInnerHTMLForPaths
|
|
|
|
|
+ ? (
|
|
|
|
|
+ <a
|
|
|
|
|
+ className="page-segment"
|
|
|
|
|
+ href={encodeURI(urljoin('/', pageData._id))}
|
|
|
|
|
+ dangerouslySetInnerHTML={{ __html: linkedPagePathLatter.pathName }}
|
|
|
|
|
+ >
|
|
|
|
|
+ </a>
|
|
|
|
|
+ )
|
|
|
|
|
+ : <a className="page-segment" href={encodeURI(urljoin('/', pageData._id))}>{linkedPagePathLatter.pathName}</a>
|
|
|
|
|
+ }
|
|
|
</span>
|
|
</span>
|
|
|
</span>
|
|
</span>
|
|
|
</Clamp>
|
|
</Clamp>
|