mirror of
https://github.com/nextcloud/server.git
synced 2026-07-16 13:23:11 -04:00
Hide .mov for live photos
Signed-off-by: Louis Chemineau <louis@chmn.me>
This commit is contained in:
parent
397c96967a
commit
1c84139fa6
4 changed files with 32 additions and 15 deletions
|
|
@ -87,6 +87,7 @@ class FilesPlugin extends ServerPlugin {
|
|||
public const SUBFOLDER_COUNT_PROPERTYNAME = '{http://nextcloud.org/ns}contained-folder-count';
|
||||
public const SUBFILE_COUNT_PROPERTYNAME = '{http://nextcloud.org/ns}contained-file-count';
|
||||
public const FILE_METADATA_PREFIX = '{http://nextcloud.org/ns}metadata-';
|
||||
public const HIDDEN_PROPERTYNAME = '{http://nextcloud.org/ns}hidden';
|
||||
|
||||
/** Reference to main server object */
|
||||
private ?Server $server = null;
|
||||
|
|
@ -386,6 +387,12 @@ class FilesPlugin extends ServerPlugin {
|
|||
$propFind->handle(self::FILE_METADATA_PREFIX . $metadataKey, $metadataValue);
|
||||
}
|
||||
|
||||
$propFind->handle(self::HIDDEN_PROPERTYNAME, function () use ($node) {
|
||||
$filesMetadataManager = \OCP\Server::get(IFilesMetadataManager::class);
|
||||
$metadata = $filesMetadataManager->getMetadata((int)$node->getFileId(), true);
|
||||
return $metadata->hasKey('files-live-photo') && $node->getFileInfo()->getMimetype() === 'video/quicktime' ? 'true' : 'false';
|
||||
});
|
||||
|
||||
/**
|
||||
* Return file/folder name as displayname. The primary reason to
|
||||
* implement it this way is to avoid costly fallback to
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
*
|
||||
*/
|
||||
import MenuIcon from '@mdi/svg/svg/sun-compass.svg?raw'
|
||||
import { FileAction, addNewFileMenuEntry, registerFileAction } from '@nextcloud/files'
|
||||
import { FileAction, addNewFileMenuEntry, registerDavProperty, registerFileAction } from '@nextcloud/files'
|
||||
|
||||
import { action as deleteAction } from './actions/deleteAction'
|
||||
import { action as downloadAction } from './actions/downloadAction'
|
||||
|
|
@ -41,6 +41,8 @@ import registerPreviewServiceWorker from './services/ServiceWorker.js'
|
|||
|
||||
import './init-templates'
|
||||
|
||||
import { initLivePhotos } from './services/LivePhotos'
|
||||
|
||||
// Register file actions
|
||||
registerFileAction(deleteAction)
|
||||
registerFileAction(downloadAction)
|
||||
|
|
@ -63,3 +65,7 @@ registerRecentView()
|
|||
|
||||
// Register preview service worker
|
||||
registerPreviewServiceWorker()
|
||||
|
||||
registerDavProperty('nc:hidden', { nc: 'http://nextcloud.org/ns' })
|
||||
|
||||
initLivePhotos()
|
||||
|
|
|
|||
|
|
@ -1,18 +1,7 @@
|
|||
/*!
|
||||
* vue-qrcode v1.0.2
|
||||
* https://fengyuanchen.github.io/vue-qrcode
|
||||
*
|
||||
* Copyright 2018-present Chen Fengyuan
|
||||
* Released under the MIT license
|
||||
*
|
||||
* Date: 2020-01-18T06:04:33.222Z
|
||||
*/
|
||||
|
||||
/**
|
||||
* @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
* @copyright Copyright (c) 2023 Louis Chmn <louis@chmn.me>
|
||||
*
|
||||
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
* @author Louis Chmn <louis@chmn.me>
|
||||
*
|
||||
* @license AGPL-3.0-or-later
|
||||
*
|
||||
|
|
@ -30,3 +19,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
import { Node, registerDavProperty } from '@nextcloud/files'
|
||||
|
||||
export function initLivePhotos(): void {
|
||||
registerDavProperty('nc:metadata-files-live-photo', { nc: 'http://nextcloud.org/ns' })
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Node} node - The node
|
||||
*/
|
||||
export function isLivePhoto(node: Node): boolean {
|
||||
return node.attributes['metadata-files-live-photo'] !== null
|
||||
}
|
||||
|
|
@ -256,7 +256,10 @@ export default Vue.extend({
|
|||
},
|
||||
|
||||
dirContents(): Node[] {
|
||||
return (this.currentFolder?._children || []).map(this.getNode).filter(file => file)
|
||||
return (this.currentFolder?._children || [])
|
||||
.map(this.getNode)
|
||||
.filter(file => file)
|
||||
.filter(file => file?.attributes?.hidden !== true)
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue