You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(fields): the criteria builder stops calling an empty criteria "All records" (#2962)
Renderer half of objectstack#3896 / objectstack-ai/objectstack#3929.
`FilterConditionField` renders `sys_sharing_rule.criteria_json`. With no criteria it displayed "All records" — describing a bug as a feature, since the server evaluated that shape as a match-all grant. The server now refuses to save such a rule; this is the renderer catching up.
The empty read-only state now says the rule shares nothing, in destructive styling, retranslated across all ten locales. A new `criteriaRequired` hint shows under the builder and the JSON editor while the criteria is empty, because the server's rejection only arrives as a toast after Save — the form does not map server `fields[]` onto per-field errors. `isMatchAllCriteria` is exported as a client-side mirror of the server predicate and only decides whether the hint shows; the server stays authoritative.
Copy file name to clipboardExpand all lines: packages/i18n/src/locales/de.ts
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -190,7 +190,8 @@ const de = {
190
190
},
191
191
filterCondition: {
192
192
selectObjectFirst: "Wählen Sie zuerst ein Objekt.",
193
-
allRecords: "Alle Datensätze",
193
+
noCriteria: "Keine Kriterien – diese Regel teilt nichts",
194
+
criteriaRequired: "Fügen Sie mindestens eine Bedingung hinzu. Eine Regel ohne Kriterien würde jeden Datensatz teilen und kann daher nicht gespeichert werden.",
194
195
invalidJson: "Ungültiges JSON — die Regel trifft auf keinen Datensatz zu, bis dies behoben ist.",
195
196
jsonOnly: "Dieses Kriterium kann nur als JSON bearbeitet werden",
Copy file name to clipboardExpand all lines: packages/i18n/src/locales/fr.ts
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -190,7 +190,8 @@ const fr = {
190
190
},
191
191
filterCondition: {
192
192
selectObjectFirst: "Sélectionnez d'abord un objet.",
193
-
allRecords: "Tous les enregistrements",
193
+
noCriteria: "Aucun critère — cette règle ne partage rien",
194
+
criteriaRequired: "Ajoutez au moins une condition. Une règle sans critères partagerait tous les enregistrements ; elle ne peut donc pas être enregistrée.",
194
195
invalidJson: "JSON invalide — la règle ne correspondra à aucun enregistrement tant qu'elle n'est pas corrigée.",
195
196
jsonOnly: "Ce critère ne peut être modifié qu'en JSON",
0 commit comments