data macros (able to change columns) + duplicate column macro

This commit is contained in:
Jan Prochazka
2020-11-01 12:09:40 +01:00
parent d5b8433c17
commit ab2fb3bf97
4 changed files with 119 additions and 8 deletions

View File

@@ -1,5 +1,13 @@
import { FreeTableModel, MacroDefinition, MacroSelectedCell, runMacro } from '@dbgate/datalib';
import Grider, { GriderRowStatus } from '../datagrid/Grider';
import _ from 'lodash';
function convertToSet(row, field) {
if (!row) return null;
if (!row[field]) return null;
if (_.isSet(row[field])) return row[field];
return new Set(row[field]);
}
export default class MacroPreviewGrider extends Grider {
model: FreeTableModel;
@@ -17,7 +25,9 @@ export default class MacroPreviewGrider extends Grider {
const row = this.model.rows[index];
return {
status: (row && row.__rowStatus) || 'regular',
modifiedFields: row ? row.__modifiedFields : null,
modifiedFields: convertToSet(row, '__modifiedFields'),
insertedFields: convertToSet(row, '__insertedFields'),
deletedFields: convertToSet(row, '__deletedFields'),
};
}