Browse Source

perf(files_sharing): Change sharing filtering from O(3n) to O(n)

Replaced multiple Array.filter() calls with a single loop to improve performance.
This avoids redundant iterations over the shares array and categorizes them more efficiently.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
pull/52423/head
nfebe 7 months ago
parent
commit
6454cb5124
  1. 12
      apps/files_sharing/src/views/SharingTab.vue

12
apps/files_sharing/src/views/SharingTab.vue

@ -365,9 +365,15 @@ export default {
],
)
this.linkShares = shares.filter(share => [ShareType.Link, ShareType.Email].includes(share.type))
this.shares = shares.filter(share => ![ShareType.Link, ShareType.Email, ShareType.Remote, ShareType.RemoteGroup].includes(share.type))
this.externalShares = shares.filter(share => [ShareType.Remote, ShareType.RemoteGroup].includes(share.type))
for (const share of shares) {
if ([ShareType.Link, ShareType.Email].includes(share.type)) {
this.linkShares.push(share)
} else if ([ShareType.Remote, ShareType.RemoteGroup].includes(share.type)) {
this.externalShares.push(share)
} else {
this.shares.push(share)
}
}
logger.debug(`Processed ${this.linkShares.length} link share(s)`)
logger.debug(`Processed ${this.shares.length} share(s)`)

Loading…
Cancel
Save