devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
74 lines (73 loc) • 3.06 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (chart\internal\_utils.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 _dateUtils_1 = require("../_dateUtils");
var analytics_internal_1 = require("@devexpress/analytics-core/analytics-internal");
var ko = require("knockout");
var $ = require("jquery");
function createInnerActionsWithPopover(text, id, actions) {
var object = {
text: text,
imageClassName: 'dxrd-image-add',
imageTemplateName: 'dxrd-svg-operations-add',
disabled: ko.observable(false),
id: id,
_visible: ko.observable(false),
popoverVisible: null,
togglePopoverVisible: null,
closePopover: null,
templateName: 'dxrd-collectionactions-template',
getContainer: function (element, selector) {
return $(element).parent().find(selector);
},
actions: actions
};
object.popoverVisible = ko.pureComputed(function () {
return object._visible();
});
object.togglePopoverVisible = function () {
object._visible(!object._visible());
};
object.closePopover = function () {
object._visible(false);
};
return [object];
}
exports.createInnerActionsWithPopover = createInnerActionsWithPopover;
function _isNumericTypeSpecific(specific) {
return ['Integer', 'Float', 'CalcInteger', 'CalcFloat', 'SumInteger', 'SumFloat'].indexOf(specific) > -1;
}
exports._isNumericTypeSpecific = _isNumericTypeSpecific;
function _isDateTypeSpecific(specific) {
return ['Date', 'CalcDate', 'SumDate'].indexOf(specific) > -1;
}
exports._isDateTypeSpecific = _isDateTypeSpecific;
function _getUnconvertiblePoint(propertyName, oldValue, newValue, points) {
var filter = function (_) { return false; };
if ((oldValue === 'Numerical' && newValue === 'DateTime') || (oldValue === 'DateTime' && newValue === 'Numerical')) {
filter = function (point) { return point[propertyName]() !== null && point[propertyName]() !== void 0 && point[propertyName]() !== ''; };
}
if (oldValue === 'Auto' || oldValue === 'Qualitative')
if (newValue === 'Numerical') {
filter = function (point) {
var number = parseInt(point[propertyName]());
return isNaN(number) || (typeof number === 'number' && JSON.stringify(number) !== point[propertyName]().toString());
};
}
else if (newValue === 'DateTime') {
filter = function (point) {
var date = analytics_internal_1.parseDate(point[propertyName](), false, 'MM/dd/yyyy');
if (!date)
date = _dateUtils_1.parseDate(point[propertyName]());
return !date;
};
}
return points.filter(filter)[0] || null;
}
exports._getUnconvertiblePoint = _getUnconvertiblePoint;