(core) Filter out pages for hidden views from the page list.

Summary:
- Filters out hidden pages from docModel.allPagesList (used for knowing default page, and for search iteration).
- Filters out hidden pages from TreeModel (uses raw tableData, so has a different way to filter).

Test Plan: WIP

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D2996
This commit is contained in:
Dmitry S
2021-08-27 13:25:20 -04:00
parent 90d1340b64
commit 3edb3a6826
7 changed files with 51 additions and 30 deletions

View File

@@ -18,7 +18,7 @@ export function createDocInfoRec(this: DocInfoRec, docModel: DocModel): void {
return tab ? tab.viewRef() : 0;
}));
this.newDefaultViewId = this.autoDispose(ko.pureComputed(() => {
const page = docModel.allDocPages.at(0);
const page = docModel.visibleDocPages()[0];
return page ? page.viewRef() : 0;
}));
}

View File

@@ -4,8 +4,13 @@ import * as ko from 'knockout';
// Represents a page entry in the tree of pages.
export interface PageRec extends IRowModel<"_grist_Pages"> {
view: ko.Computed<ViewRec>;
isHidden: ko.Computed<boolean>;
}
export function createPageRec(this: PageRec, docModel: DocModel): void {
this.view = refRecord(docModel.views, this.viewRef);
this.isHidden = ko.pureComputed(() => {
const name = this.view().name();
return !name || (name === 'GristDocTour' && !docModel.showDocTourTable);
});
}