import {DocModel, IRowModel} from 'app/client/models/DocModel'; import * as modelUtil from 'app/client/models/modelUtil'; import {jsonObservable} from 'app/client/models/modelUtil'; import {DocumentSettings} from 'app/common/DocumentSettings'; import * as ko from 'knockout'; // The document-wide metadata. It's all contained in a single record with id=1. export interface DocInfoRec extends IRowModel<"_grist_DocInfo"> { documentSettingsJson: modelUtil.SaveableObjObservable defaultViewId: ko.Computed; newDefaultViewId: ko.Computed; } export function createDocInfoRec(this: DocInfoRec, docModel: DocModel): void { this.documentSettingsJson = jsonObservable(this.documentSettings); this.defaultViewId = this.autoDispose(ko.pureComputed(() => { const tab = docModel.allTabs.at(0); return tab ? tab.viewRef() : 0; })); this.newDefaultViewId = this.autoDispose(ko.pureComputed(() => { const page = docModel.visibleDocPages()[0]; return page ? page.viewRef() : 0; })); }