2020-10-02 15:10:00 +00:00
|
|
|
import {DocModel, IRowModel} from 'app/client/models/DocModel';
|
2021-08-26 16:35:11 +00:00
|
|
|
import * as modelUtil from 'app/client/models/modelUtil';
|
|
|
|
import {jsonObservable} from 'app/client/models/modelUtil';
|
|
|
|
import {DocumentSettings} from 'app/common/DocumentSettings';
|
2020-10-02 15:10:00 +00:00
|
|
|
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"> {
|
2021-08-26 16:35:11 +00:00
|
|
|
documentSettingsJson: modelUtil.SaveableObjObservable<DocumentSettings>
|
2020-10-02 15:10:00 +00:00
|
|
|
defaultViewId: ko.Computed<number>;
|
|
|
|
newDefaultViewId: ko.Computed<number>;
|
|
|
|
}
|
|
|
|
|
|
|
|
export function createDocInfoRec(this: DocInfoRec, docModel: DocModel): void {
|
2021-08-26 16:35:11 +00:00
|
|
|
this.documentSettingsJson = jsonObservable(this.documentSettings);
|
2020-10-02 15:10:00 +00:00
|
|
|
this.defaultViewId = this.autoDispose(ko.pureComputed(() => {
|
|
|
|
const tab = docModel.allTabs.at(0);
|
|
|
|
return tab ? tab.viewRef() : 0;
|
|
|
|
}));
|
|
|
|
this.newDefaultViewId = this.autoDispose(ko.pureComputed(() => {
|
2021-08-27 17:25:20 +00:00
|
|
|
const page = docModel.visibleDocPages()[0];
|
2020-10-02 15:10:00 +00:00
|
|
|
return page ? page.viewRef() : 0;
|
|
|
|
}));
|
|
|
|
}
|