feat(views/geomap): create empty view type

This commit is contained in:
Elian Doran 2025-07-06 11:13:17 +03:00
parent 8efef6842d
commit 7ea37b9eb9
No known key found for this signature in database
2 changed files with 29 additions and 2 deletions

View File

@ -1,11 +1,12 @@
import type FNote from "../entities/fnote.js";
import CalendarView from "../widgets/view_widgets/calendar_view.js";
import GeoView from "../widgets/view_widgets/geo_view/index.js";
import ListOrGridView from "../widgets/view_widgets/list_or_grid_view.js";
import TableView from "../widgets/view_widgets/table_view/index.js";
import type { ViewModeArgs } from "../widgets/view_widgets/view_mode.js";
import type ViewMode from "../widgets/view_widgets/view_mode.js";
export type ViewTypeOptions = "list" | "grid" | "calendar" | "table";
export type ViewTypeOptions = "list" | "grid" | "calendar" | "table" | "geoMap";
export default class NoteListRenderer {
@ -26,6 +27,9 @@ export default class NoteListRenderer {
case "table":
this.viewMode = new TableView(args);
break;
case "geoMap":
this.viewMode = new GeoView(args);
break;
default:
this.viewMode = null;
}
@ -34,7 +38,7 @@ export default class NoteListRenderer {
#getViewType(parentNote: FNote): ViewTypeOptions {
const viewType = parentNote.getLabelValue("viewType");
if (!["list", "grid", "calendar", "table"].includes(viewType || "")) {
if (!["list", "grid", "calendar", "table", "geoMap"].includes(viewType || "")) {
// when not explicitly set, decide based on the note type
return parentNote.type === "search" ? "list" : "grid";
} else {

View File

@ -0,0 +1,23 @@
import ViewMode, { ViewModeArgs } from "../view_mode.js";
const TPL = /*html*/`
<div class="geo-view">
Geo View is not implemented yet.
</div>`;
export default class GeoView extends ViewMode<{}> {
private $root: JQuery<HTMLElement>;
constructor(args: ViewModeArgs) {
super(args, "geoMap");
this.$root = $(TPL);
args.$parent.append(this.$root);
}
async renderList() {
console.log("Rendered");
return this.$root;
}
}