Skip to content

Commit 71c1274

Browse files
committed
Use consistent url for the preview with the activity app
Allows to incrase the likehook of browser cache hits Signed-off-by: Carl Schwan <carl@carlschwan.eu>
1 parent 4cdc890 commit 71c1274

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

apps/files/js/filelist.js

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2381,12 +2381,39 @@
23812381
*/
23822382
urlSpec.a = this._filesConfig.get('cropimagepreviews') ? 0 : 1;
23832383

2384+
// Use map to get consistent parameter ordering with activity app generated URl (php)
2385+
const urlSpecMap = new Map()
2386+
urlSpecMap.set('forceIcon', urlSpec.forceIcon)
2387+
urlSpecMap.set('a', urlSpec.a)
2388+
urlSpecMap.set('x', urlSpec.x)
2389+
urlSpecMap.set('y', urlSpec.y)
2390+
2391+
if (urlSpec.mode) {
2392+
urlSpecMap.set('mode', urlSpec.mode)
2393+
}
2394+
23842395
if (typeof urlSpec.fileId !== 'undefined') {
2385-
delete urlSpec.file;
2386-
return OC.generateUrl('/core/preview?') + $.param(urlSpec);
2396+
urlSpecMap.set('fileId', urlSpec.fileId)
2397+
urlSpecMap.set('c', urlSpec.c)
2398+
2399+
let param = []
2400+
urlSpecMap.forEach((value, key) => {
2401+
param.push(encodeURIComponent(key) + '=' + encodeURIComponent(value))
2402+
})
2403+
param = param.join('&')
2404+
2405+
return window.location.protocol + '//' + window.location.hostname + OC.generateUrl('/core/preview?') + param
23872406
} else {
2388-
delete urlSpec.fileId;
2389-
return OC.generateUrl('/core/preview.png?') + $.param(urlSpec);
2407+
urlSpecMap.set('file', urlSpec.file)
2408+
urlSpecMap.set('c', urlSpec.c)
2409+
2410+
let param = []
2411+
urlSpecMap.forEach((key, value) => {
2412+
param.push(encodeURIComponent(key) + '=' + encodeURIComponent(value))
2413+
})
2414+
param = param.join('&')
2415+
2416+
return window.location.protocol + '//' + window.location.hostname + OC.generateUrl('/core/preview.png?') + param
23902417
}
23912418

23922419
},

0 commit comments

Comments
 (0)