refactor: optimize mapFields caching in JSONLogicSearchClassBase (#23686)

This commit is contained in:
Aniket Katkar 2025-10-02 17:26:13 +05:30 committed by GitHub
parent d567935667
commit 5e09fc6e15
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 6 deletions

View File

@ -2591,9 +2591,9 @@
"user-mentioned-in-comment": "{{user}} упомянул(а) вас в комментарии.", "user-mentioned-in-comment": "{{user}} упомянул(а) вас в комментарии.",
"user-verified-successfully": "Пользователь проверен", "user-verified-successfully": "Пользователь проверен",
"valid-url-endpoint": "Конечные точки должны быть действительным URL", "valid-url-endpoint": "Конечные точки должны быть действительным URL",
"valid-urls-required": "Пожалуйста, введите действительные URL (например, https://example.com)",
"validation-error-assets": "Пожалуйста, проверьте добавляемые объекты", "validation-error-assets": "Пожалуйста, проверьте добавляемые объекты",
"value-must-be-greater-than": "Значение «{{field}}» должно быть больше чем {{minimum}}", "value-must-be-greater-than": "Значение «{{field}}» должно быть больше чем {{minimum}}",
"valid-urls-required": "Пожалуйста, введите действительные URL (например, https://example.com)",
"value-should-equal-to-value": "Значение должно быть равно {{value}}.", "value-should-equal-to-value": "Значение должно быть равно {{value}}.",
"value-should-not-equal-to-value": "Значение не должно быть равно {{value}}.", "value-should-not-equal-to-value": "Значение не должно быть равно {{value}}.",
"version-released-try-now": "Выпущена версия {{version}} <0>Посмотрите, что нового!</0>", "version-released-try-now": "Выпущена версия {{version}} <0>Посмотрите, что нового!</0>",

View File

@ -183,7 +183,7 @@ class JSONLogicSearchClassBase {
}, },
}; };
mapFields: Record<string, FieldOrGroup>; private _mapFieldsCache?: Record<string, FieldOrGroup>;
defaultSelectOperators = [ defaultSelectOperators = [
'select_equals', 'select_equals',
@ -194,8 +194,12 @@ class JSONLogicSearchClassBase {
'is_not_null', 'is_not_null',
]; ];
constructor() { public get mapFields(): Record<string, FieldOrGroup> {
this.mapFields = { if (this._mapFieldsCache) {
return this._mapFieldsCache;
}
this._mapFieldsCache = {
[EntityReferenceFields.SERVICE]: { [EntityReferenceFields.SERVICE]: {
label: t('label.service'), label: t('label.service'),
type: 'select', type: 'select',
@ -419,6 +423,8 @@ class JSONLogicSearchClassBase {
}, },
}, },
}; };
return this._mapFieldsCache;
} }
public getMapFields = () => { public getMapFields = () => {