mirror of
https://github.com/dbgate/dbgate
synced 2024-11-07 20:26:23 +00:00
fixed delete changeset rows
This commit is contained in:
parent
ada7ee7cab
commit
bc593d25ae
@ -337,6 +337,25 @@ export function revertChangeSetRowChanges(changeSet: ChangeSet, definition: Chan
|
||||
return changeSet;
|
||||
}
|
||||
|
||||
function consolidateInsertIndexes(changeSet: ChangeSet, name: NamedObjectInfo): ChangeSet {
|
||||
const indexes = changeSet.inserts
|
||||
.filter(x => x.pureName == name.pureName && x.schemaName == name.schemaName)
|
||||
.map(x => x.insertedRowIndex);
|
||||
|
||||
indexes.sort((a, b) => a - b);
|
||||
if (indexes[indexes.length - 1] != indexes.length - 1) {
|
||||
return {
|
||||
...changeSet,
|
||||
inserts: changeSet.inserts.map(x => ({
|
||||
...x,
|
||||
insertedRowIndex: indexes.indexOf(x.insertedRowIndex),
|
||||
})),
|
||||
};
|
||||
}
|
||||
|
||||
return changeSet;
|
||||
}
|
||||
|
||||
export function deleteChangeSetRows(changeSet: ChangeSet, definition: ChangeSetRowDefinition): ChangeSet {
|
||||
let [fieldName, existingItem] = findExistingChangeSetItem(changeSet, definition);
|
||||
if (fieldName == 'updates') {
|
||||
@ -344,7 +363,7 @@ export function deleteChangeSetRows(changeSet: ChangeSet, definition: ChangeSetR
|
||||
[fieldName, existingItem] = findExistingChangeSetItem(changeSet, definition);
|
||||
}
|
||||
if (fieldName == 'inserts') {
|
||||
return revertChangeSetRowChanges(changeSet, definition);
|
||||
return consolidateInsertIndexes(revertChangeSetRowChanges(changeSet, definition), definition);
|
||||
} else {
|
||||
if (existingItem && fieldName == 'deletes') return changeSet;
|
||||
return {
|
||||
@ -390,11 +409,7 @@ export function changeSetInsertNewRow(changeSet: ChangeSet, name?: NamedObjectIn
|
||||
};
|
||||
}
|
||||
|
||||
export function changeSetInsertDocuments(
|
||||
changeSet: ChangeSet,
|
||||
documents: any[],
|
||||
name?: NamedObjectInfo
|
||||
): ChangeSet {
|
||||
export function changeSetInsertDocuments(changeSet: ChangeSet, documents: any[], name?: NamedObjectInfo): ChangeSet {
|
||||
const insertedRows = getChangeSetInsertedRows(changeSet, name);
|
||||
return {
|
||||
...changeSet,
|
||||
|
@ -391,7 +391,7 @@
|
||||
|
||||
export function deleteSelectedRows() {
|
||||
grider.beginUpdate();
|
||||
for (const index of getSelectedRowIndexes()) {
|
||||
for (const index of _.sortBy(getSelectedRowIndexes(), x => -x)) {
|
||||
if (_.isNumber(index)) grider.deleteRow(index);
|
||||
}
|
||||
grider.endUpdate();
|
||||
@ -750,7 +750,7 @@
|
||||
|
||||
export function generateSqlFromData() {
|
||||
const columnIndexes = _.uniq(selectedCells.map(x => x[1]));
|
||||
columnIndexes.sort();
|
||||
columnIndexes.sort((a, b) => a - b);
|
||||
|
||||
showModal(GenerateSqlFromDataModal, {
|
||||
rows: getSelectedRowData(),
|
||||
|
@ -68,7 +68,7 @@ export class SeriesSizes {
|
||||
// _.map(this.intKeys(_.keys(this.sizeOverridesByModelIndex)), (x) => this.modelToReal(x) - this.frozenCount),
|
||||
x => x >= 0
|
||||
);
|
||||
this.scrollIndexes.sort();
|
||||
this.scrollIndexes.sort((a, b) => a - b);
|
||||
let lastScrollIndex: number = -1;
|
||||
let lastEndPosition: number = 0;
|
||||
this.scrollIndexes.forEach(scrollIndex => {
|
||||
|
Loading…
Reference in New Issue
Block a user