feat(doc): statische map-Methode und iconSrc getter hinzugefügt
- Methode `static map()` hinzugefügt, um eine `Doc`-Instanz aus einem Teilobjekt zu erzeugen. - Umbenennung des Getters `Extension` in `extension`, um mit den Namenskonventionen übereinzustimmen. - Getter `iconSrc` hinzugefügt, um einen Dateisymbolpfad basierend auf der Dateierweiterung bereitzustellen.
This commit is contained in:
parent
b9e6ff27db
commit
5e36a978a7
@ -301,4 +301,4 @@ export const _documents: Doc[] = [
|
||||
addedWhen: new Date("2024-04-17T11:25:00Z"),
|
||||
addedWho: "SchreiberM"
|
||||
}
|
||||
].map(doc => Object.assign(doc));
|
||||
].map(doc => Doc.map(doc));
|
||||
@ -1,6 +1,13 @@
|
||||
import { _documents } from "src/_mock"
|
||||
|
||||
export class Doc {
|
||||
|
||||
static map(source?: Partial<Doc>): Doc {
|
||||
const doc = new Doc();
|
||||
Object.assign(doc, source);
|
||||
return doc;
|
||||
}
|
||||
|
||||
id!: number;
|
||||
name!: string;
|
||||
data!: Uint8Array;
|
||||
@ -9,13 +16,17 @@ export class Doc {
|
||||
changedWhen?: Date;
|
||||
changedWho?: string;
|
||||
|
||||
get Extension(): string | undefined {
|
||||
get extension(): string | undefined {
|
||||
const parts = this.name.split('.');
|
||||
if (parts.length > 1 && parts[parts.length - 1].trim() !== '') {
|
||||
return parts[parts.length - 1].toLowerCase();
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
get iconSrc(): string {
|
||||
return `assets/icons/file/${this.extension ?? 'unknown'}.svg`;
|
||||
}
|
||||
}
|
||||
|
||||
export type DocQuery = {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user