UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

128 lines (126 loc) 5.03 kB
/** * DevExtreme (cjs/__internal/ui/diagram/diagram.options_update.js) * Version: 25.2.8 * Build date: Mon Jun 08 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _diagram = _interopRequireDefault(require("../../ui/diagram/diagram.bar")); var _diagram2 = require("../../ui/diagram/diagram.importer"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } class DiagramOptionsUpdateBar extends _diagram.default { constructor(owner) { super(owner); const { DiagramCommand: DiagramCommand } = (0, _diagram2.getDiagram)(); this.commandOptions = {}; this.commandOptions[DiagramCommand.Fullscreen] = "fullScreen"; this.commandOptions[DiagramCommand.ZoomLevel] = value => { if ("object" === typeof this._getOption("zoomLevel")) { this._setOption("zoomLevel.value", value) } else { this._setOption("zoomLevel", value) } }; this.commandOptions[DiagramCommand.SwitchAutoZoom] = value => { const { AutoZoomMode: AutoZoomMode } = (0, _diagram2.getDiagram)(); switch (value) { case AutoZoomMode.FitContent: this._setOption("autoZoomMode", "fitContent"); break; case AutoZoomMode.FitToWidth: this._setOption("autoZoomMode", "fitWidth"); break; case AutoZoomMode.Disabled: this._setOption("autoZoomMode", "disabled") } }; this.commandOptions[DiagramCommand.ToggleSimpleView] = "simpleView"; this.commandOptions[DiagramCommand.ShowGrid] = "showGrid"; this.commandOptions[DiagramCommand.SnapToGrid] = "snapToGrid"; this.commandOptions[DiagramCommand.GridSize] = value => { if ("object" === typeof this._getOption("gridSize")) { this._setOption("gridSize.value", value) } else { this._setOption("gridSize", value) } }; this.commandOptions[DiagramCommand.ViewUnits] = "viewUnits"; this.commandOptions[DiagramCommand.PageSize] = value => { const pageSize = this._getOption("pageSize"); if (void 0 === pageSize || pageSize.width !== value.width || pageSize.height !== value.height) { this._setOption("pageSize", value) } }; this.commandOptions[DiagramCommand.PageLandscape] = value => { this._setOption("pageOrientation", value ? "landscape" : "portrait") }; this.commandOptions[DiagramCommand.ViewUnits] = value => { const { DiagramUnit: DiagramUnit } = (0, _diagram2.getDiagram)(); switch (value) { case DiagramUnit.In: this._setOption("viewUnits", "in"); break; case DiagramUnit.Cm: this._setOption("viewUnits", "cm"); break; case DiagramUnit.Px: this._setOption("viewUnits", "px") } }; this.commandOptions[DiagramCommand.PageColor] = "pageColor"; this._updateLock = 0 } getCommandKeys() { return Object.keys(this.commandOptions).map(key => parseInt(key, 10)) } setItemValue(key, value) { if (this.isUpdateLocked()) { return } this.beginUpdate(); try { var _this$commandOptions; if ("function" === typeof(null === (_this$commandOptions = this.commandOptions) || void 0 === _this$commandOptions ? void 0 : _this$commandOptions[key])) { var _this$commandOptions2; null === (_this$commandOptions2 = this.commandOptions) || void 0 === _this$commandOptions2 || _this$commandOptions2[key].call(this, value) } else { var _this$commandOptions3; this._setOption(null === (_this$commandOptions3 = this.commandOptions) || void 0 === _this$commandOptions3 ? void 0 : _this$commandOptions3[key], value) } } finally { this.endUpdate() } } beginUpdate() { this._updateLock += 1 } endUpdate() { this._updateLock -= 1 } isUpdateLocked() { return this._updateLock > 0 } _getOption(name) { return this._owner.option(name) } _setOption(name, value) { this._owner.option(name, value) } } var _default = exports.default = DiagramOptionsUpdateBar;