Skip to content

Commit 8d6a249

Browse files
authored
Merge pull request #924 from nextcloud/performance-test-photos
Performance Improvements Photos
2 parents 2a9dd96 + a93161e commit 8d6a249

File tree

7 files changed

+518
-126
lines changed

7 files changed

+518
-126
lines changed

lib/Service/GeophotoService.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,6 @@ public function getAllFromDB(string $userId, $folder=null, bool $respectNomediaA
158158
}
159159
$this->photosCache->set($key, $filesById, 60 * 60 * 24);
160160
}
161-
shuffle($filesById);
162161
return $filesById;
163162
}
164163

@@ -241,7 +240,6 @@ public function getNonLocalizedFromDB (string $userId, $folder=null, bool $respe
241240
}
242241
$this->nonLocalizedPhotosCache->set($key, $filesById, 60 * 60 * 24);
243242
}
244-
shuffle($filesById);
245243
return $filesById;
246244
}
247245

src/components/AppNavigationPhotosItem.vue

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,16 @@
66
:allow-collapse="false"
77
:force-menu="enabled"
88
@click="$emit('photos-clicked')">
9-
<NcCounterBubble v-show="enabled && photos.length"
9+
<NcCounterBubble v-if="enabled && loading"
1010
slot="counter">
11-
{{ photos.length > 1000 ? Math.floor(photos.length/1000).toString() + 'k' : photos.length > 99 ? '99+' : photos.length }}
11+
{{
12+
(loadedPhotos > 1000 ? Math.floor(loadedPhotos/1000).toString() + 'k' : loadedPhotos > 99 ? '99+' : loadedPhotos) + '/' +
13+
(totalPhotos > 1000 ? Math.floor(totalPhotos/1000).toString() + 'k' : totalPhotos > 99 ? '99+' : totalPhotos)
14+
}}
15+
</NcCounterBubble>
16+
<NcCounterBubble v-else-if="enabled"
17+
slot="counter">
18+
{{ totalPhotos > 1000 ? Math.floor(totalPhotos/1000).toString() + 'k' : totalPhotos > 99 ? '99+' : totalPhotos }}
1219
</NcCounterBubble>
1320
<template v-if="enabled" slot="actions">
1421
<NcActionButton v-if="!readOnly"
@@ -66,10 +73,18 @@ export default {
6673
type: Boolean,
6774
default: false,
6875
},
69-
photos: {
70-
type: Array,
76+
loadedPhotos: {
77+
type: Number,
78+
required: true,
79+
},
80+
totalPhotos: {
81+
type: Number,
7182
required: true,
7283
},
84+
readOnly: {
85+
type: Boolean,
86+
default: false
87+
},
7388
draggable: {
7489
type: Boolean,
7590
required: true,
@@ -87,10 +102,6 @@ export default {
87102
},
88103
89104
computed: {
90-
readOnly() {
91-
return this.photos.every((p) => !p.isUpdateable)
92-
|| (this.photos.length === 0 && !(optionsController.optionValues?.isCreatable && !optionsController.optionValues?.isUpdateable))
93-
},
94105
},
95106
96107
methods: {

src/components/Map.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,17 +84,25 @@
8484
ref="photosLayer"
8585
:map="map"
8686
:photos="photos"
87+
:date-filter-enabled="sliderEnabled"
88+
:date-filter-start="sliderStartTimestamp"
89+
:date-filter-end="sliderEndTimestamp"
8790
:draggable="photosDraggable"
8891
@add-to-map-photo="$emit('add-to-map-photo', $event)"
8992
@coords-reset="$emit('coords-reset', $event)"
9093
@photo-moved="onPhotoMoved"
91-
@open-sidebar="$emit('open-sidebar',$event)" />
94+
@open-sidebar="$emit('open-sidebar',$event)"
95+
@cluster-loading="$emit('photo-clusters-loading',$event)"
96+
@cluster-loaded="$emit('photo-clusters-loaded')" />
9297
<PhotoSuggestionsLayer
9398
v-if="map && photosEnabled && showPhotoSuggestions"
9499
ref="photoSuggestionsLayer"
95100
:map="map"
96101
:photo-suggestions="photoSuggestions"
97102
:photo-suggestions-selected-indices="photoSuggestionsSelectedIndices"
103+
:date-filter-enabled="sliderEnabled"
104+
:date-filter-start="sliderStartTimestamp"
105+
:date-filter-end="sliderEndTimestamp"
98106
:draggable="photosDraggable"
99107
@photo-suggestion-moved="onPhotoSuggestionMoved"
100108
@photo-suggestion-selected="$emit('photo-suggestion-selected', $event)" />

0 commit comments

Comments
 (0)