@fluid-topics/ft-reader-search-in-document 1.1.13 → 1.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -88,4 +88,8 @@ export const resultStyles = css `
88
88
  gap: 4px;
89
89
  }
90
90
 
91
+ a, a:hover, a:focus, a:active {
92
+ text-decoration: none;
93
+ color: inherit;
94
+ }
91
95
  `;
@@ -23,5 +23,6 @@ export declare class FtReaderSearchInDocument extends FtReaderSearchInDocument_b
23
23
  private renderResult;
24
24
  protected render(): typeof nothing | TemplateResult<1>;
25
25
  protected update(props: PropertyValues): void;
26
+ private onLinkClick;
26
27
  }
27
28
  export {};
@@ -20,6 +20,7 @@ import "@fluid-topics/ft-search-result-title";
20
20
  import "@fluid-topics/ft-search-result-abstract";
21
21
  import { property, query } from "lit/decorators.js";
22
22
  import { FtSearchLoadMoreButton } from "@fluid-topics/ft-search-load-more-button";
23
+ import { getResultUrl, SearchResultClickEvent } from "@fluid-topics/ft-search-result-context/build/utils";
23
24
  class FtReaderSearchInDocument extends withI18n(FtReaderComponent) {
24
25
  constructor() {
25
26
  super(...arguments);
@@ -39,22 +40,24 @@ class FtReaderSearchInDocument extends withI18n(FtReaderComponent) {
39
40
  }
40
41
  ];
41
42
  }
42
- renderResult(result) {
43
+ renderResult(result, rank) {
43
44
  var _a;
44
45
  return html `
45
46
  <style> ${resultStyles}</style>
46
- <ft-card clickable noheader>
47
- <div class="result-container">
48
- ${this.hideResultTitle ? nothing : html `
49
- <ft-search-result-title></ft-search-result-title>`}
50
- ${this.hideResultBreadcrumb ? nothing : html `
51
- <ft-typography class="breadcrumb" variant="caption">${(_a = result.topic) === null || _a === void 0 ? void 0 : _a.breadcrumb.join(" > ")}</ft-typography>
52
- `}
53
- ${this.hideResultAbstract ? nothing : html `
54
- <ft-search-result-abstract></ft-search-result-abstract>
55
- `}
56
- </div>
57
- </ft-card>
47
+ <a href="${getResultUrl(result)}" @click="${() => this.onLinkClick(result, rank)} }">
48
+ <ft-card clickable noheader>
49
+ <div class="result-container">
50
+ ${this.hideResultTitle ? nothing : html `
51
+ <ft-search-result-title></ft-search-result-title>`}
52
+ ${this.hideResultBreadcrumb ? nothing : html `
53
+ <ft-typography class="breadcrumb" variant="caption">${(_a = result.topic) === null || _a === void 0 ? void 0 : _a.breadcrumb.join(" > ")}</ft-typography>
54
+ `}
55
+ ${this.hideResultAbstract ? nothing : html `
56
+ <ft-search-result-abstract></ft-search-result-abstract>
57
+ `}
58
+ </div>
59
+ </ft-card>
60
+ </a>
58
61
  `;
59
62
  }
60
63
  render() {
@@ -72,11 +75,12 @@ class FtReaderSearchInDocument extends withI18n(FtReaderComponent) {
72
75
  <div class="ft-search-in-doc--container">
73
76
  <ft-search-input></ft-search-input>
74
77
  ${this.hideResultsNumber ? nothing : html `
75
- <ft-search-results-number></ft-search-results-number>
78
+ <ft-search-results-number @ft-search-result-click=${(e) => e.stopPropagation()}></ft-search-results-number>
76
79
  `}
77
80
  <ft-search-results ?displayNoResultsMessage=${this.hideResultsNumber}
78
81
  cluster-policy="display-all-results"
79
- .renderResult=${(result) => this.renderResult(result)}></ft-search-results>
82
+ .renderResult=${(result, rank) => this.renderResult(result, rank)}>
83
+ </ft-search-results>
80
84
  <slot name="load-more">
81
85
  <ft-search-load-more-button></ft-search-load-more-button>
82
86
  </slot>
@@ -93,6 +97,9 @@ class FtReaderSearchInDocument extends withI18n(FtReaderComponent) {
93
97
  this.searchResults.requestUpdate();
94
98
  }
95
99
  }
100
+ onLinkClick(result, rank) {
101
+ this.dispatchEvent(new SearchResultClickEvent(result, rank));
102
+ }
96
103
  }
97
104
  FtReaderSearchInDocument.elementDefinitions = {
98
105
  "ft-button": FtButton,