mirror of
https://git.datalinker.icu/comfyanonymous/ComfyUI
synced 2026-08-19 21:36:40 +08:00
54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
import {RgthreeCustomElement} from "rgthree/common/components/base_custom_element";
|
|
import {RgthreeModelInfo} from "typings/rgthree";
|
|
|
|
export class RgthreeModelInfoCard extends RgthreeCustomElement {
|
|
static override readonly NAME = "rgthree-model-info-card";
|
|
static override readonly TEMPLATES = "components/model-info-card.html";
|
|
static override readonly CSS = "components/model-info-card.css";
|
|
static override readonly USE_SHADOW = false;
|
|
|
|
private data: RgthreeModelInfo = {};
|
|
|
|
getModified(
|
|
value: number,
|
|
data: any,
|
|
currentElement: HTMLElement,
|
|
contextElement: RgthreeModelInfoCard,
|
|
) {
|
|
const date = new Date(value);
|
|
return String(`${date.toLocaleDateString()} ${date.toLocaleTimeString()}`);
|
|
}
|
|
|
|
getCivitaiLink(links: string[] | undefined) {
|
|
return links?.find((i) => i.includes("civitai.com/models")) || null;
|
|
}
|
|
|
|
setModelData(data: RgthreeModelInfo) {
|
|
this.data = data;
|
|
}
|
|
|
|
hasBaseModel(baseModel: string) {
|
|
return this.data.baseModel === baseModel;
|
|
}
|
|
|
|
hasData(field: string) {
|
|
// return !!this.data.hasInfoFile;
|
|
if (field === "civitai") {
|
|
return !!this.getCivitaiLink(this.data.links)?.length;
|
|
}
|
|
return !!(this.data as any)[field];
|
|
}
|
|
|
|
matchesQueryText(query: string) {
|
|
return (this.data.name || this.data.file)?.includes(query);
|
|
}
|
|
|
|
hide() {
|
|
this.classList.add("-is-hidden");
|
|
}
|
|
|
|
show() {
|
|
this.classList.remove("-is-hidden");
|
|
}
|
|
}
|