Добавлен выбор режима условия для table-полей в переходах: по значению или пользователь из колонки
This commit is contained in:
@@ -292,7 +292,7 @@ export function buildSystemFieldValuesForConditions(
|
||||
* Проверяет, соответствуют ли значения полей заданным правилам.
|
||||
*/
|
||||
export function fieldConditionsMatch(
|
||||
rules: { fieldCode?: string; value?: string; operator?: "contains" | "empty" | "filled" }[],
|
||||
rules: { fieldCode?: string; value?: string; operator?: "contains" | "empty" | "filled"; tableMode?: "value" | "column_user" }[],
|
||||
fieldValues: Array<{ fieldId: number; value: unknown }>,
|
||||
fields: Array<{
|
||||
id: number;
|
||||
@@ -311,6 +311,10 @@ export function fieldConditionsMatch(
|
||||
const field = fields.find((f) => f.code === rule.fieldCode);
|
||||
if (!field) return false;
|
||||
|
||||
// Режим "пользователь из колонки" — это конфигурация выборки согласующего,
|
||||
// а не условие на значение поля. Пропускаем, чтобы не ломать проверку.
|
||||
if (rule.tableMode === "column_user") continue;
|
||||
|
||||
const fv = fieldValues.find((fv) => fv.fieldId === field.id);
|
||||
const operator = rule.operator || "contains";
|
||||
|
||||
@@ -364,6 +368,7 @@ export interface FieldRule {
|
||||
fieldCode: string;
|
||||
operator?: "contains" | "empty" | "filled";
|
||||
value?: string;
|
||||
tableMode?: "value" | "column_user";
|
||||
}>;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user