devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
69 lines (68 loc) • 2.91 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (designer\tools\generator\_reportMenuSettings.js)
* Version: 20.2.13
* Build date: Apr 10, 2023
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var analytics_internal_1 = require("@devexpress/analytics-core/analytics-internal");
var ko = require("knockout");
var events = require("devextreme/events");
var ReportMenuSettings = (function (_super) {
__extends(ReportMenuSettings, _super);
function ReportMenuSettings() {
var _this = _super.call(this) || this;
_this.appMenuVisible = ko.observable(false);
_this._$menuElement = null;
_this.isMenuCollapsed = ko.observable(false);
_this.toggleAppMenu = function (event) {
var canToggle = !event || !_this._$menuElement.is(event.target) && !_this._$menuElement.find(event.target).length;
canToggle && _this._toggleAppMenu();
return canToggle;
};
return _this;
}
ReportMenuSettings.prototype.dispose = function () {
_super.prototype.dispose.call(this);
events.off(document, 'dxpointerdown', this.toggleAppMenu);
this._$menuElement = null;
};
ReportMenuSettings.prototype.setMenuElement = function ($element) {
this._$menuElement = $element;
};
ReportMenuSettings.prototype._toggleAppMenu = function () {
this.appMenuVisible(!this.appMenuVisible());
if (this.appMenuVisible()) {
events.on(document, 'dxpointerdown', this.toggleAppMenu);
}
else {
this.isMenuCollapsed(false);
events.off(document, 'dxpointerdown', this.toggleAppMenu);
}
};
ReportMenuSettings.prototype.generate = function () {
var _this = this;
var result = _super.prototype.generate.call(this);
if (this.isMenuCollapsed)
result['isMenuCollapsed'] = this.isMenuCollapsed;
result['setMenuElement'] = function ($element) { return _this.setMenuElement($element); };
return result;
};
return ReportMenuSettings;
}(analytics_internal_1.MenuSettings));
exports.ReportMenuSettings = ReportMenuSettings;