Files
Trilium/apps/client/src/widgets/view_widgets/table_view.ts

55 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-06-25 11:03:43 +03:00
import froca from "../../services/froca.js";
import renderTable from "./table_view/renderer.js";
2025-06-25 10:31:41 +03:00
import ViewMode, { ViewModeArgs } from "./view_mode";
const TPL = /*html*/`
<div class="table-view">
2025-06-25 10:40:04 +03:00
<style>
.table-view {
overflow: hidden;
position: relative;
height: 100%;
user-select: none;
padding: 10px;
}
2025-06-25 10:49:33 +03:00
.table-view-container {
height: 100%;
}
2025-06-25 10:40:04 +03:00
</style>
2025-06-25 10:49:33 +03:00
<div class="table-view-container">
<p>Table view goes here.</p>
</div>
2025-06-25 10:31:41 +03:00
</div>
`;
export default class TableView extends ViewMode {
private $root: JQuery<HTMLElement>;
2025-06-25 10:49:33 +03:00
private $container: JQuery<HTMLElement>;
2025-06-25 11:03:43 +03:00
private noteIds: string[];
2025-06-25 10:31:41 +03:00
constructor(args: ViewModeArgs) {
super(args);
this.$root = $(TPL);
2025-06-25 10:49:33 +03:00
this.$container = this.$root.find(".table-view-container");
2025-06-25 11:03:43 +03:00
this.noteIds = args.noteIds;
2025-06-25 10:31:41 +03:00
args.$parent.append(this.$root);
}
2025-06-25 10:40:04 +03:00
get isFullHeight(): boolean {
return true;
}
2025-06-25 10:31:41 +03:00
async renderList() {
2025-06-25 11:03:43 +03:00
const notes = await froca.getNotes(this.noteIds);
2025-06-25 10:49:33 +03:00
this.$container.empty();
2025-06-25 11:03:43 +03:00
renderTable(this.$container[0], notes);
2025-06-25 10:31:41 +03:00
return this.$root;
}
}