devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
38 lines (37 loc) • 1.72 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (chart\components\series\_indicator.js)
* Version: 24.2.7
* Build date: Apr 29, 2025
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
import { getLocalization, getUniqueName, guid } from '@devexpress/analytics-core/analytics-internal';
import { indicatorMapper } from '../../internal/meta/_indicators';
import { ChartElementCollectionItemBase } from '../../internal/_elementCollection';
import { createInnerActionsWithPopover } from '../../internal/_utils';
export class Indicator extends ChartElementCollectionItemBase {
constructor(model, parent, serializer) {
super(model, parent, serializer, indicatorMapper[model['@TypeNameSerializable']]);
}
getExpressionProperties() {
return ['LegendText'];
}
}
Indicator.prefix = 'indicator';
export function assignIndicatorActions(indicators) {
const addIndicator = (model, display) => {
model['@Name'] = getUniqueName(indicators().map(x => { return x['name'](); }), display);
indicators()['innerActions'][0].closePopover();
indicators.push(new Indicator(model, indicators));
};
const actions = Object.keys(indicatorMapper).map(x => {
const display = getLocalization(x, 'ChartStringId.Ind' + x);
return {
text: x,
display: display,
clickAction: () => addIndicator({ '@TypeNameSerializable': x }, display)
};
});
const id = 'addindicators-action_' + guid();
indicators()['innerActions'] = createInnerActionsWithPopover(getLocalization('Add', 'ChartStringId.MenuItemAdd'), id, actions, 'dxcd-indicators-list');
}