siyuan/app/src/asset/renderAssets.ts

47 lines
1.5 KiB
TypeScript
Raw Normal View History

import {Constants} from "../constants";
2022-09-09 20:40:35 +08:00
/// #if !MOBILE
import {getAllModels} from "../layout/getAll";
2022-09-09 20:40:35 +08:00
/// #endif
import {pathPosix} from "../util/pathName";
export const renderAssetsPreview = (pathString: string) => {
2022-08-18 23:47:22 +08:00
if (!pathString) {
return "";
}
2022-07-17 11:06:57 +08:00
const type = pathPosix().extname(pathString).toLowerCase();
if (Constants.SIYUAN_ASSETS_IMAGE.includes(type)) {
return `<img style="max-height: 100%" src="${pathString}">`;
} else if (Constants.SIYUAN_ASSETS_AUDIO.includes(type)) {
return `<audio style="max-width: 100%" controls="controls" src="${pathString}"></audio>`;
} else if (Constants.SIYUAN_ASSETS_VIDEO.includes(type)) {
return `<video style="max-width: 100%" controls="controls" src="${pathString}"></video>`;
} else {
return pathString;
}
2022-07-17 11:06:57 +08:00
};
export const pdfResize = () => {
2022-09-09 20:40:35 +08:00
/// #if !MOBILE
2022-09-07 22:19:58 +08:00
getAllModels().asset.forEach(item => {
const pdfInstance = item.pdfObject;
if (!pdfInstance) {
return;
}
const {pdfDocument, pdfViewer} = pdfInstance;
if (!pdfDocument) {
2022-09-07 22:19:58 +08:00
return;
}
2022-09-07 22:19:58 +08:00
const currentScaleValue = pdfViewer.currentScaleValue;
if (
2022-09-07 22:19:58 +08:00
currentScaleValue === "auto" ||
currentScaleValue === "page-fit" ||
currentScaleValue === "page-width"
) {
// Note: the scale is constant for 'page-actual'.
2022-09-07 22:19:58 +08:00
pdfViewer.currentScaleValue = currentScaleValue;
}
2022-09-07 22:19:58 +08:00
pdfViewer.update();
});
2022-09-09 20:40:35 +08:00
/// #endif
2022-09-07 22:19:58 +08:00
};