UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

36 lines (35 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = TrackHeightMixin; const configuration_1 = require("@jbrowse/core/configuration"); const mobx_state_tree_1 = require("mobx-state-tree"); const minDisplayHeight = 20; function TrackHeightMixin() { return mobx_state_tree_1.types .model({ heightPreConfig: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.refinement('displayHeight', mobx_state_tree_1.types.number, n => n >= minDisplayHeight)), }) .volatile(() => ({ scrollTop: 0, })) .views(self => ({ get height() { var _a; return (_a = self.heightPreConfig) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'height'); }, })) .actions(self => ({ setScrollTop(scrollTop) { self.scrollTop = scrollTop; }, setHeight(displayHeight) { self.heightPreConfig = Math.max(displayHeight, minDisplayHeight); return self.height; }, resizeHeight(distance) { const oldHeight = self.height; const newHeight = this.setHeight(self.height + distance); return newHeight - oldHeight; }, })); }