UNPKG

pdbe-molstar

Version:
39 lines (38 loc) 2.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FullLayoutNoControlsUnlessExpanded = void 0; const plugin_1 = require("molstar/lib/mol-plugin-ui/plugin"); const config_1 = require("molstar/lib/mol-plugin/config"); const plugin_custom_state_1 = require("../plugin-custom-state"); class FullLayoutNoControlsUnlessExpanded extends plugin_1.Layout { componentDidMount() { super.componentDidMount(); // Hide Toggle Controls button unless expanded: this.updateControlToggleVisibility(); this.subscribe(this.plugin.layout.events.updated, () => this.updateControlToggleVisibility()); } /** Show/hide wrench button as needed (so it never displays in non-expanded mode) */ updateControlToggleVisibility() { var _a; const isExpanded = this.plugin.layout.state.isExpanded; const hideCanvasControls = (_a = (0, plugin_custom_state_1.PluginCustomState)(this.plugin).initParams) === null || _a === void 0 ? void 0 : _a.hideCanvasControls; const hideControlToggle = (hideCanvasControls === null || hideCanvasControls === void 0 ? void 0 : hideCanvasControls.includes('controlToggle')) || (hideCanvasControls === null || hideCanvasControls === void 0 ? void 0 : hideCanvasControls.includes('all')); this.plugin.config.set(config_1.PluginConfig.Viewport.ShowControls, isExpanded && !hideControlToggle); } get layoutVisibilityClassName() { const classes = super.layoutVisibilityClassName.split(' '); const state = this.plugin.layout.state; if (!state.isExpanded) { if (!classes.includes('msp-layout-hide-top')) classes.push('msp-layout-hide-top'); if (!classes.includes('msp-layout-hide-bottom')) classes.push('msp-layout-hide-bottom'); if (!classes.includes('msp-layout-hide-left')) classes.push('msp-layout-hide-left'); if (!classes.includes('msp-layout-hide-right')) classes.push('msp-layout-hide-right'); } return classes.join(' '); } } exports.FullLayoutNoControlsUnlessExpanded = FullLayoutNoControlsUnlessExpanded;