UNPKG

devexpress-reporting

Version:

DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.

34 lines (33 loc) 1.35 kB
/** * DevExpress HTML/JS Reporting (designer\internal\fieldlist\_renameDataSourceStrategy.js) * Version: 25.1.3 * Build date: Jun 26, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ export class RenameDataSourceStrategy { constructor(dsHelper, _afterRenameCallBack) { this.dsHelper = dsHelper; this._afterRenameCallBack = _afterRenameCallBack; this._rename = (dataSourceInfo, name) => { dataSourceInfo.name = name; if (dataSourceInfo.data.name) { dataSourceInfo.data.name(name); } this._afterRenameCallBack && this._afterRenameCallBack(); }; } validateName(nameCandidate) { return nameCandidate && !nameCandidate.match(/(?!\_)[\W]+/); } validateUnique(nameCandidate, currentName) { return nameCandidate && (nameCandidate === currentName || this.dsHelper().usedDataSources().map(dataSource => dataSource.name).indexOf(nameCandidate) === -1); } tryRename(nameCandidate, currentItemData) { const currentDs = this.dsHelper && this.dsHelper().findDataSourceInfo(currentItemData); if (!currentDs) return false; this._rename(currentDs, nameCandidate); return true; } }