import {escapeHtml} from "../util/escape";
import {confirmDialog} from "../dialog/confirmDialog";
import {pathPosix} from "../util/pathName";
import {isBrowser} from "../util/functions";
import {hasClosestByClassName} from "../protyle/util/hasClosest";
import {fetchPost} from "../util/fetch";
import {getAllModels} from "../layout/getAll";
import {openBy} from "../editor/util";
import {renderAssetsPreview} from "../asset/renderAssets";
import {writeText} from "../protyle/util/compatibility";
export const image = {
element: undefined as Element,
genHTML: () => {
return `
${window.siyuan.languages.unreferencedAssets}
${window.siyuan.languages.missingAssets}
`;
},
bindEvent: () => {
const assetsListElement = image.element.querySelector(".config-assets__list");
image.element.addEventListener("click", (event) => {
let target = event.target as HTMLElement;
while (target && !target.isEqualNode(image.element)) {
const type = target.getAttribute("data-type");
if (target.id === "removeAll") {
confirmDialog(window.siyuan.languages.deleteOpConfirm, `${window.siyuan.languages.clearAll}`, () => {
fetchPost("/api/asset/removeUnusedAssets", {}, response => {
getAllModels().asset.forEach(item => {
if (response.data.paths.includes(item.path)) {
item.parent.close();
}
});
assetsListElement.innerHTML = `