mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-20 22:55:59 +00:00
insert multiple JSON documents
This commit is contained in:
@@ -390,6 +390,25 @@ export function changeSetInsertNewRow(changeSet: ChangeSet, name?: NamedObjectIn
|
||||
};
|
||||
}
|
||||
|
||||
export function changeSetInsertDocuments(
|
||||
changeSet: ChangeSet,
|
||||
documents: any[],
|
||||
name?: NamedObjectInfo
|
||||
): ChangeSet {
|
||||
const insertedRows = getChangeSetInsertedRows(changeSet, name);
|
||||
return {
|
||||
...changeSet,
|
||||
inserts: [
|
||||
...changeSet.inserts,
|
||||
...documents.map((doc, index) => ({
|
||||
...name,
|
||||
insertedRowIndex: insertedRows.length + index,
|
||||
fields: doc,
|
||||
})),
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
export function changeSetContainsChanges(changeSet: ChangeSet) {
|
||||
if (!changeSet) return false;
|
||||
return changeSet.deletes.length > 0 || changeSet.updates.length > 0 || changeSet.inserts.length > 0;
|
||||
|
||||
@@ -98,8 +98,9 @@ export class CollectionGridDisplay extends GridDisplay {
|
||||
changeSet
|
||||
) {
|
||||
super(config, setConfig, cache, setCache, driver);
|
||||
const changedDocs = _.compact([...changeSet.inserts, ...changeSet.updates].map(chs => chs.document));
|
||||
this.columns = analyseCollectionDisplayColumns([...(loadedRows || []), ...changedDocs], this);
|
||||
const changedDocs = _.compact(changeSet.updates.map(chs => chs.document));
|
||||
const insertedDocs = _.compact(changeSet.inserts.map(chs => chs.fields));
|
||||
this.columns = analyseCollectionDisplayColumns([...(loadedRows || []), ...changedDocs, ...insertedDocs], this);
|
||||
this.filterable = true;
|
||||
this.sortable = true;
|
||||
this.editable = true;
|
||||
|
||||
Reference in New Issue
Block a user