Browse Source

fix(nocodb): add missing parsing logic

pull/5457/head
Wing-Kam Wong 2 years ago
parent
commit
348e6a6964
  1. 13
      packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/BaseModelSqlv2.ts

13
packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/BaseModelSqlv2.ts

@ -3242,17 +3242,24 @@ function extractCondition(nestedArrayConditions, aliasColObjMap) {
// eslint-disable-next-line prefer-const // eslint-disable-next-line prefer-const
let [logicOp, alias, op, value] = let [logicOp, alias, op, value] =
str.match(/(?:~(and|or|not))?\((.*?),(\w+),(.*)\)/)?.slice(1) || []; str.match(/(?:~(and|or|not))?\((.*?),(\w+),(.*)\)/)?.slice(1) || [];
if (!alias && !op && !value) {
// try match with blank filter format
[logicOp, alias, op, value] =
str.match(/(?:~(and|or|not))?\((.*?),(\w+)\)/)?.slice(1) || [];
}
let sub_op = null; let sub_op = null;
if (aliasColObjMap[alias]) { if (aliasColObjMap[alias]) {
if ( if (
[UITypes.Date, UITypes.DateTime].includes(aliasColObjMap[alias].uidt) [UITypes.Date, UITypes.DateTime].includes(aliasColObjMap[alias].uidt)
) { ) {
value = value.split(','); value = value?.split(',');
// the first element would be sub_op // the first element would be sub_op
sub_op = value[0]; sub_op = value?.[0];
// remove the first element which is sub_op // remove the first element which is sub_op
value.shift(); value?.shift();
value = value?.[0];
} else if (op === 'in') { } else if (op === 'in') {
value = value.split(','); value = value.split(',');
} }

Loading…
Cancel
Save