devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
136 lines (131 loc) • 5.11 kB
JavaScript
/**
* DevExtreme (cjs/ui/diagram/ui.diagram.scroll_view.js)
* Version: 22.1.9
* Build date: Tue Apr 18 2023
*
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
exports.default = void 0;
var _size = require("../../core/utils/size");
var _renderer = _interopRequireDefault(require("../../core/renderer"));
var _ui = _interopRequireDefault(require("../widget/ui.widget"));
var _scroll_view = _interopRequireDefault(require("../scroll_view"));
var _module_widget_utils = require("../../__internal/grids/pivot_grid/module_widget_utils");
var _diagram = require("./diagram.importer");
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass)
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) {
o.__proto__ = p;
return o
};
return _setPrototypeOf(o, p)
}
var DiagramScrollView = function(_Widget) {
_inheritsLoose(DiagramScrollView, _Widget);
function DiagramScrollView() {
return _Widget.apply(this, arguments) || this
}
var _proto = DiagramScrollView.prototype;
_proto._init = function() {
_Widget.prototype._init.call(this);
var _getDiagram = (0, _diagram.getDiagram)(),
EventDispatcher = _getDiagram.EventDispatcher;
this.onScroll = new EventDispatcher;
this._createOnCreateDiagramAction()
};
_proto._initMarkup = function() {
var _this = this;
_Widget.prototype._initMarkup.call(this);
var $scrollViewWrapper = (0, _renderer.default)("<div>").appendTo(this.$element());
var options = {
direction: "both",
bounceEnabled: false,
scrollByContent: false,
onScroll: function(_ref) {
var scrollOffset = _ref.scrollOffset;
_this._raiseOnScroll(scrollOffset.left, scrollOffset.top)
}
};
var useNativeScrolling = this.option("useNativeScrolling");
if (void 0 !== useNativeScrolling) {
options.useNative = useNativeScrolling
}
this._scrollView = this._createComponent($scrollViewWrapper, _scroll_view.default, options);
this._onCreateDiagramAction({
$parent: (0, _renderer.default)(this._scrollView.content()),
scrollView: this
})
};
_proto.setScroll = function(left, top) {
this._scrollView.scrollTo({
left: left,
top: top
});
this._raiseOnScrollWithoutPoint()
};
_proto.offsetScroll = function(left, top) {
this._scrollView.scrollBy({
left: left,
top: top
});
this._raiseOnScrollWithoutPoint()
};
_proto.getSize = function() {
var _getDiagram2 = (0, _diagram.getDiagram)(),
Size = _getDiagram2.Size;
var $element = this._scrollView.$element();
return new Size(Math.floor((0, _size.getWidth)($element)), Math.floor((0, _size.getHeight)($element)))
};
_proto.getScrollContainer = function() {
return this._scrollView.$element()[0]
};
_proto.getScrollBarWidth = function() {
return this.option("useNativeScrolling") ? (0, _module_widget_utils.calculateScrollbarWidth)() : 0
};
_proto.detachEvents = function() {};
_proto._raiseOnScroll = function(left, top) {
var _getDiagram3 = (0, _diagram.getDiagram)(),
Point = _getDiagram3.Point;
this.onScroll.raise("notifyScrollChanged", (function() {
return new Point(left, top)
}))
};
_proto._raiseOnScrollWithoutPoint = function() {
var _this2 = this;
var _getDiagram4 = (0, _diagram.getDiagram)(),
Point = _getDiagram4.Point;
this.onScroll.raise("notifyScrollChanged", (function() {
return new Point(_this2._scrollView.scrollLeft(), _this2._scrollView.scrollTop())
}))
};
_proto._createOnCreateDiagramAction = function() {
this._onCreateDiagramAction = this._createActionByOption("onCreateDiagram")
};
_proto._optionChanged = function(args) {
switch (args.name) {
case "onCreateDiagram":
this._createOnCreateDiagramAction();
break;
case "useNativeScrolling":
break;
default:
_Widget.prototype._optionChanged.call(this, args)
}
};
return DiagramScrollView
}(_ui.default);
var _default = DiagramScrollView;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default;