devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
128 lines (126 loc) • 5.03 kB
JavaScript
/**
* 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;