feat(views/table): render note icon

This commit is contained in:
Elian Doran
2025-06-28 17:07:11 +03:00
parent 8e51469de5
commit 4a26f30d65
2 changed files with 19 additions and 2 deletions

View File

@@ -32,6 +32,18 @@ export async function buildData(parentNote: FNote, info: PromotedAttributeInform
export function buildColumnDefinitions(info: PromotedAttributeInformation[]) { export function buildColumnDefinitions(info: PromotedAttributeInformation[]) {
const columnDefs: ColumnDefinition[] = [ const columnDefs: ColumnDefinition[] = [
{
field: "iconClass",
title: "Icon",
width: 40,
headerSort: false,
hozAlign: "center",
formatter(cell) {
console.log(cell);
const iconClass = cell.getValue();
return `<span class="bx ${iconClass}"></span>`;
},
},
{ {
field: "noteId", field: "noteId",
title: "Note ID", title: "Note ID",
@@ -92,6 +104,7 @@ export async function buildRowDefinitions(parentNote: FNote, notes: FNote[], inf
} }
} }
definitions.push({ definitions.push({
iconClass: note.getIcon(),
noteId: note.noteId, noteId: note.noteId,
title: note.title, title: note.title,
labels, labels,

View File

@@ -8,7 +8,7 @@ import branches from "../../../services/branches.js";
import type { CommandListenerData, EventData } from "../../../components/app_context.js"; import type { CommandListenerData, EventData } from "../../../components/app_context.js";
import type { Attribute } from "../../../services/attribute_parser.js"; import type { Attribute } from "../../../services/attribute_parser.js";
import note_create from "../../../services/note_create.js"; import note_create from "../../../services/note_create.js";
import {Tabulator, SortModule} from 'tabulator-tables'; import {Tabulator, SortModule, FormatModule} from 'tabulator-tables';
import "tabulator-tables/dist/css/tabulator_bootstrap5.min.css"; import "tabulator-tables/dist/css/tabulator_bootstrap5.min.css";
const TPL = /*html*/` const TPL = /*html*/`
@@ -81,7 +81,11 @@ export default class TableView extends ViewMode<StateInfo> {
const viewStorage = await this.viewStorage.restore(); const viewStorage = await this.viewStorage.restore();
const initialState = viewStorage?.gridState; const initialState = viewStorage?.gridState;
Tabulator.registerModule(SortModule); const modules = [SortModule, FormatModule];
for (const module of modules) {
Tabulator.registerModule(module);
}
this.api = new Tabulator(el, {}); this.api = new Tabulator(el, {});
this.loadData(); this.loadData();
} }