feat(popup_editor): support collections

This commit is contained in:
Elian Doran 2025-07-10 19:39:08 +03:00
parent 59ce2072c5
commit 27738acefc
No known key found for this signature in database
2 changed files with 21 additions and 4 deletions

View File

@ -230,7 +230,7 @@ export default class DesktopLayout {
.child(new PromotedAttributesWidget())
.child(new SqlTableSchemasWidget())
.child(new NoteDetailWidget())
.child(new NoteListWidget())
.child(new NoteListWidget(false))
.child(new SearchResultWidget())
.child(new SqlResultWidget())
.child(new ScrollPaddingWidget())
@ -268,7 +268,8 @@ export default class DesktopLayout {
.child(new NoteTitleWidget()))
.child(new ClassicEditorToolbar())
.child(new PromotedAttributesWidget())
.child(new NoteDetailWidget()));
.child(new NoteDetailWidget())
.child(new NoteListWidget(true)));
applyModals(rootContainer);
return rootContainer;

View File

@ -40,16 +40,32 @@ export default class NoteListWidget extends NoteContextAwareWidget {
private shownNoteId?: string | null;
private viewMode?: ViewMode<any> | null;
private attributeDetailWidget: AttributeDetailWidget;
private displayOnlyCollections: boolean;
constructor() {
/**
* @param displayOnlyCollections if set to `true` then only collection-type views are displayed such as geo-map and the calendar. The original book types grid and list will be ignored.
*/
constructor(displayOnlyCollections: boolean) {
super();
this.attributeDetailWidget = new AttributeDetailWidget()
.contentSized()
.setParent(this);
this.displayOnlyCollections = displayOnlyCollections;
}
isEnabled() {
return super.isEnabled() && this.noteContext?.hasNoteList();
if (!super.isEnabled()) {
return false;
}
if (this.displayOnlyCollections) {
const viewType = this.note?.getLabelValue("viewType");
if (!viewType || ["grid", "list"].includes(viewType)) {
return false;
}
}
return this.noteContext?.hasNoteList();
}
doRender() {