devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
70 lines (69 loc) • 3.28 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (designer\internal\scripting\_languageHelper.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
*/
;
Object.defineProperty(exports, "__esModule", { value: true });
var _reportCompleter_1 = require("./_reportCompleter");
var ace_1 = require("ace-builds/src-noconflict/ace");
var analytics_widgets_internal_1 = require("@devexpress/analytics-core/analytics-widgets-internal");
var mode_csharp_1 = require("ace-builds/src-noconflict/mode-csharp");
var mode_vbscript_1 = require("ace-builds/src-noconflict/mode-vbscript");
analytics_widgets_internal_1.aceAvailable(!!ace_1.default);
if (!window['ace'] && analytics_widgets_internal_1.aceAvailable()) {
ace_1.default.config.setModuleUrl('ace/mode/csharp', mode_csharp_1.default);
ace_1.default.config.setModuleUrl('ace/mode/vbscript', mode_vbscript_1.default);
}
var LanguageHelper = (function () {
function LanguageHelper(report) {
this._report = report;
}
LanguageHelper.prototype.getLanguageMode = function () {
if (this._report()) {
var scriptLanguage = this._report().scriptLanguage();
switch (scriptLanguage) {
case 'CSharp':
return 'ace/mode/csharp';
case 'VisualBasic':
return 'ace/mode/vbscript';
default:
return 'ace/mode/text';
}
}
};
LanguageHelper.prototype.createNewHandler = function (eventName, eventArgsType) {
if (this._report()) {
var scriptLanguage = this._report().scriptLanguage();
switch (scriptLanguage) {
case 'CSharp':
return '\r\nprivate void ' + eventName + '(object sender, ' + eventArgsType + ' e) {\r\n\r\n}\r\n';
case 'VisualBasic':
return '\r\nPrivate Sub ' + eventName + '(ByVal sender As Object, ByVal e As ' + eventArgsType + ')\r\n\r\nEnd Sub\r\n';
case 'JScript':
return '\r\nprivate final function ' + eventName + '(sender : System.Object, e : ' + eventArgsType + ') {\r\n\r\n}\r\n';
}
}
};
LanguageHelper.prototype.getFunctionNamesFromScript = function (scripts) {
if (this._report()) {
var keyWords = { 'CSharp': 'void ', 'VisualBasic': 'Sub ', 'JScript': 'function ' };
var scriptLanguage = this._report().scriptLanguage();
var events = [];
if (scripts) {
var lines = scripts.match(new RegExp(keyWords[scriptLanguage] + '(([A-Z])|[a-z])\\w+\\(', 'g'));
lines && lines.forEach(function (line) {
events.push(line.substring(keyWords[scriptLanguage].length, line.length - 1));
});
}
return events;
}
};
LanguageHelper.prototype.createCompleters = function (editor, bindingContext, viewModel) {
return [new _reportCompleter_1.ReportCompleter(bindingContext.$root.model, editor, viewModel.guid)];
};
return LanguageHelper;
}());
exports.LanguageHelper = LanguageHelper;