Skip to content

Commit 4814619

Browse files
committed
Use navigatemixin to navigate to files
1 parent a5fe21c commit 4814619

File tree

3 files changed

+25
-16
lines changed

3 files changed

+25
-16
lines changed

force-app/main/default/lwc/filePreviewCol/filePreviewCol.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<a href={url} onmouseover={handleMouseOver} onmouseout={handleMouseOut}>{label}</a>
2+
<a href="javascript:void(0)" onmouseover={handleMouseOver} onmouseout={handleMouseOut} onclick={navigateToFile}>{label}</a>
33
<template if:true={showPreview}>
44
<div class="overlay">
55
<c-file-preview-comp file-id={fileOrVersionId} height-in-rem="1.25"></c-file-preview-comp>

force-app/main/default/lwc/filePreviewCol/filePreviewCol.js

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
import { LightningElement, api } from "lwc";
2-
import { baseNavigation } from "lightning/datatableKeyboardMixins";
3-
import template from "./filePreviewCol.html";
2+
import { NavigationMixin } from "lightning/navigation";
43

5-
export default class FilePreviewCol extends LightningElement {
4+
export default class FilePreviewCol extends NavigationMixin(LightningElement) {
65
showPreview = false;
7-
@api fileId = "";
86
@api label = "";
97
@api versionId = "";
8+
@api fileId = "";
109

11-
get url() {
12-
return this.fileId ? "/" + this.fileId : "#";
10+
navigateToFile(event) {
11+
event.preventDefault();
12+
this[NavigationMixin.Navigate]({
13+
type: "standard__namedPage",
14+
attributes: {
15+
pageName: "filePreview"
16+
},
17+
state: {
18+
recordIds: this.fileId,
19+
selectedRecordId: this.fileId
20+
}
21+
});
1322
}
1423

1524
get fileOrVersionId() {

force-app/main/default/lwc/filesRelatedList/filesRelatedList.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ export default class FilesRelatedList extends LightningElement {
112112
const selectedRowIds = this.template
113113
.querySelector("c-custom-datatable[data-tablename='filestable']")
114114
.getSelectedRows()
115-
.map((row) => row.id);
115+
.map(row => row.id);
116116
if (selectedRowIds.length > 0) {
117117
let decision = confirm(
118118
`Are you sure you want to delete ${selectedRowIds.length} records?`
@@ -125,7 +125,7 @@ export default class FilesRelatedList extends LightningElement {
125125

126126
_deleteRecord(recordIds) {
127127
//{{{
128-
Promise.all(recordIds.map((id) => deleteRecord(id)))
128+
Promise.all(recordIds.map(id => deleteRecord(id)))
129129
.then(() => {
130130
refreshApex(this._filesList);
131131
this.dispatchEvent(
@@ -135,7 +135,7 @@ export default class FilesRelatedList extends LightningElement {
135135
})
136136
);
137137
})
138-
.catch((err) => {
138+
.catch(err => {
139139
this.dispatchEvent(
140140
new ShowToastEvent({
141141
variant: "error",
@@ -157,12 +157,12 @@ export default class FilesRelatedList extends LightningElement {
157157
//{{{
158158
console.log(">> file version details");
159159
getFileVersionDetails({ fileId: this._currentDocId })
160-
.then((result) => {
160+
.then(result => {
161161
console.log(">> version details " + JSON.stringify(result));
162162
this.versionDetails = result;
163163
this.showModal = true;
164164
})
165-
.catch((err) => {
165+
.catch(err => {
166166
console.error(JSON.stringify(err));
167167
});
168168
} //}}}
@@ -194,7 +194,7 @@ export default class FilesRelatedList extends LightningElement {
194194
payload.ContentDocumentId = this._currentDocId;
195195
}
196196
createRecord({ apiName: "ContentVersion", fields: payload })
197-
.then((cVersion) => {
197+
.then(cVersion => {
198198
if (!this._currentDocId) {
199199
this._createContentDocLink(cVersion.id);
200200
} else {
@@ -207,7 +207,7 @@ export default class FilesRelatedList extends LightningElement {
207207
);
208208
}
209209
})
210-
.catch((err) => {
210+
.catch(err => {
211211
this.dispatchEvent(
212212
new ShowToastEvent({
213213
variant: "error",
@@ -223,7 +223,7 @@ export default class FilesRelatedList extends LightningElement {
223223
contentVersionId: cvId,
224224
recordId: this.recordId
225225
})
226-
.then((cId) => {
226+
.then(cId => {
227227
this.closeModal();
228228
this.dispatchEvent(
229229
new ShowToastEvent({
@@ -232,7 +232,7 @@ export default class FilesRelatedList extends LightningElement {
232232
})
233233
);
234234
})
235-
.catch((err) => {
235+
.catch(err => {
236236
this.dispatchEvent(
237237
new ShowToastEvent({
238238
variant: "error",

0 commit comments

Comments
 (0)