in client/src/cqlInput/editor/plugin.ts [235:263]
appendTransaction(_, oldState, newState) {
let tr: Transaction | undefined;
const maybeQueries = queryHasChanged(oldState.doc, newState.doc);
if (maybeQueries) {
const { tr: newTr } = applyQueryToTr(newState.tr);
tr = newTr;
}
// If the selection has changed, reset any chips that are pending delete
if (!oldState.selection.eq(newState.selection)) {
const posOfChipWrappersToReset: number[] = [];
newState.doc.descendants((node, pos) => {
if (node.type === chip && node.attrs[DELETE_CHIP_INTENT]) {
posOfChipWrappersToReset.push(pos);
}
});
if (posOfChipWrappersToReset.length) {
tr = newState.tr;
posOfChipWrappersToReset.forEach((pos) => {
tr?.setNodeAttribute(pos, DELETE_CHIP_INTENT, false);
});
return tr;
}
}
return tr;
},