refactor: move preview url to utils
Signed-off-by: Varun Patil <varunpatil@ucla.edu>pull/563/head
parent
3a629bf7aa
commit
d2273cc76e
|
@ -37,7 +37,7 @@ import { getCurrentUser } from "@nextcloud/auth";
|
|||
import NcCounterBubble from "@nextcloud/vue/dist/Components/NcCounterBubble";
|
||||
|
||||
import { IAlbum, ICluster, IFace } from "../../types";
|
||||
import { getPreviewUrl } from "../../services/FileUtils";
|
||||
import { getPreviewUrl } from "../../services/utils/helpers";
|
||||
import errorsvg from "../../assets/error.svg";
|
||||
|
||||
import { API } from "../../services/API";
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
import { defineComponent, PropType } from "vue";
|
||||
import { IFolder, IPhoto } from "../../types";
|
||||
|
||||
import { getPreviewUrl } from "../../services/FileUtils";
|
||||
import { getPreviewUrl } from "../../services/utils/helpers";
|
||||
|
||||
import UserConfig from "../../mixins/UserConfig";
|
||||
import FolderIcon from "vue-material-design-icons/Folder.vue";
|
||||
|
|
|
@ -68,7 +68,6 @@
|
|||
<script lang="ts">
|
||||
import { defineComponent, PropType } from "vue";
|
||||
|
||||
import { getPreviewUrl } from "../../services/FileUtils";
|
||||
import { IDay, IPhoto } from "../../types";
|
||||
import * as utils from "../../services/Utils";
|
||||
|
||||
|
@ -191,7 +190,7 @@ export default defineComponent({
|
|||
) - 1;
|
||||
}
|
||||
|
||||
return getPreviewUrl(this.data, false, size);
|
||||
return utils.getPreviewUrl(this.data, false, size);
|
||||
},
|
||||
|
||||
/** Set src with overlay face rect */
|
||||
|
|
|
@ -69,7 +69,7 @@ import NcButton from "@nextcloud/vue/dist/Components/NcButton";
|
|||
import NcLoadingIcon from "@nextcloud/vue/dist/Components/NcLoadingIcon";
|
||||
const NcListItem = () => import("@nextcloud/vue/dist/Components/NcListItem");
|
||||
|
||||
import { getPreviewUrl } from "../../services/FileUtils";
|
||||
import { getPreviewUrl } from "../../services/utils/helpers";
|
||||
import { IAlbum, IPhoto } from "../../types";
|
||||
import axios from "@nextcloud/axios";
|
||||
import { API } from "../../services/API";
|
||||
|
|
|
@ -84,9 +84,9 @@ import NcLoadingIcon from "@nextcloud/vue/dist/Components/NcLoadingIcon";
|
|||
import Modal from "./Modal.vue";
|
||||
|
||||
import { IPhoto } from "../../types";
|
||||
import { getPreviewUrl } from "../../services/FileUtils";
|
||||
import { API } from "../../services/API";
|
||||
import * as dav from "../../services/DavRequests";
|
||||
import * as utils from "../../services/Utils";
|
||||
|
||||
import PhotoIcon from "vue-material-design-icons/Image.vue";
|
||||
import LargePhotoIcon from "vue-material-design-icons/ImageArea.vue";
|
||||
|
@ -160,7 +160,7 @@ export default defineComponent({
|
|||
},
|
||||
|
||||
async sharePreview() {
|
||||
const src = getPreviewUrl(this.photo, false, 2048);
|
||||
const src = utils.getPreviewUrl(this.photo, false, 2048);
|
||||
this.shareWithHref(src, true);
|
||||
},
|
||||
|
||||
|
|
|
@ -52,7 +52,6 @@ import axios from "@nextcloud/axios";
|
|||
import { subscribe, unsubscribe } from "@nextcloud/event-bus";
|
||||
|
||||
import { API } from "../../services/API";
|
||||
import { getPreviewUrl } from "../../services/FileUtils";
|
||||
import * as utils from "../../services/Utils";
|
||||
|
||||
import "leaflet/dist/leaflet.css";
|
||||
|
@ -292,7 +291,7 @@ export default defineComponent({
|
|||
},
|
||||
|
||||
clusterPreviewUrl(cluster: IMarkerCluster) {
|
||||
return getPreviewUrl(cluster.preview, false, 256);
|
||||
return utils.getPreviewUrl(cluster.preview, false, 256);
|
||||
},
|
||||
|
||||
clusterIconClass(cluster: IMarkerCluster) {
|
||||
|
|
|
@ -49,7 +49,6 @@ import NcActionButton from "@nextcloud/vue/dist/Components/NcActionButton";
|
|||
import * as utils from "../../services/Utils";
|
||||
import * as dav from "../../services/DavRequests";
|
||||
import { IPhoto } from "../../types";
|
||||
import { getPreviewUrl } from "../../services/FileUtils";
|
||||
|
||||
import LeftMoveIcon from "vue-material-design-icons/ChevronLeft.vue";
|
||||
import RightMoveIcon from "vue-material-design-icons/ChevronRight.vue";
|
||||
|
@ -79,7 +78,6 @@ export default defineComponent({
|
|||
},
|
||||
|
||||
data: () => ({
|
||||
getPreviewUrl,
|
||||
years: [] as IYear[],
|
||||
hasRight: false,
|
||||
hasLeft: false,
|
||||
|
@ -175,7 +173,7 @@ export default defineComponent({
|
|||
|
||||
// Get random photo
|
||||
year.preview ||= utils.randomChoice(year.photos);
|
||||
year.url = getPreviewUrl(year.preview, false, 512);
|
||||
year.url = utils.getPreviewUrl(year.preview, false, 512);
|
||||
}
|
||||
|
||||
await this.$nextTick();
|
||||
|
|
|
@ -188,7 +188,6 @@ import axios from "@nextcloud/axios";
|
|||
import { subscribe, unsubscribe } from "@nextcloud/event-bus";
|
||||
import { getRootUrl } from "@nextcloud/router";
|
||||
|
||||
import { getPreviewUrl } from "../../services/FileUtils";
|
||||
import { getDownloadLink } from "../../services/DavRequests";
|
||||
import { API } from "../../services/API";
|
||||
import * as dav from "../../services/DavRequests";
|
||||
|
@ -714,7 +713,7 @@ export default defineComponent({
|
|||
// Get thumb image
|
||||
const thumbSrc: string =
|
||||
this.thumbElem(photo)?.getAttribute("src") ||
|
||||
getPreviewUrl(photo, false, 256);
|
||||
utils.getPreviewUrl(photo, false, 256);
|
||||
|
||||
// Get full image
|
||||
return {
|
||||
|
@ -772,7 +771,9 @@ export default defineComponent({
|
|||
|
||||
this.photoswipe.addFilter("itemData", (itemData, index) => ({
|
||||
...this.getItemData(this.list[index]),
|
||||
msrc: thumbSize ? getPreviewUrl(photo, false, thumbSize) : undefined,
|
||||
msrc: thumbSize
|
||||
? utils.getPreviewUrl(photo, false, thumbSize)
|
||||
: undefined,
|
||||
}));
|
||||
|
||||
this.isOpen = true;
|
||||
|
@ -783,7 +784,7 @@ export default defineComponent({
|
|||
getItemData(photo: IPhoto) {
|
||||
const sw = Math.floor(screen.width * devicePixelRatio);
|
||||
const sh = Math.floor(screen.height * devicePixelRatio);
|
||||
let previewUrl = getPreviewUrl(photo, false, [sw, sh]);
|
||||
let previewUrl = utils.getPreviewUrl(photo, false, [sw, sh]);
|
||||
|
||||
const isvideo = photo.flag & this.c.FLAG_IS_VIDEO;
|
||||
|
||||
|
|
|
@ -134,26 +134,4 @@ const genFileInfo = function (obj) {
|
|||
return fileInfo;
|
||||
};
|
||||
|
||||
/** Get preview URL from photo object */
|
||||
const getPreviewUrl = function (
|
||||
photo: IPhoto,
|
||||
square: boolean,
|
||||
size: number | [number, number]
|
||||
) {
|
||||
const [x, y] = typeof size === "number" ? [size, size] : size;
|
||||
|
||||
return API.Q(API.IMAGE_PREVIEW(photo.fileid), {
|
||||
c: photo.etag,
|
||||
x,
|
||||
y,
|
||||
a: square ? "0" : "1",
|
||||
});
|
||||
};
|
||||
|
||||
export {
|
||||
encodeFilePath,
|
||||
extractFilePaths,
|
||||
sortCompare,
|
||||
genFileInfo,
|
||||
getPreviewUrl,
|
||||
};
|
||||
export { encodeFilePath, extractFilePaths, sortCompare, genFileInfo };
|
||||
|
|
|
@ -1,6 +1,22 @@
|
|||
import { IPhoto } from "../../types";
|
||||
import { API } from "../API";
|
||||
|
||||
/** Get preview URL from photo object */
|
||||
export function getPreviewUrl(
|
||||
photo: IPhoto,
|
||||
square: boolean,
|
||||
size: number | [number, number]
|
||||
) {
|
||||
const [x, y] = typeof size === "number" ? [size, size] : size;
|
||||
|
||||
return API.Q(API.IMAGE_PREVIEW(photo.fileid), {
|
||||
c: photo.etag,
|
||||
x,
|
||||
y,
|
||||
a: square ? "0" : "1",
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the path of the folder on folders route
|
||||
* This function does not check if this is the folder route
|
||||
|
|
Loading…
Reference in New Issue