From 7cc8214be0d4cab817fe0da939931c2073d13f3d Mon Sep 17 00:00:00 2001 From: Alfonso Salces Date: Fri, 12 May 2023 08:55:36 +0200 Subject: [PATCH] MOBILE-4247 search: Add field#name and description to advanced search --- src/addons/mod/data/components/search/search.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/addons/mod/data/components/search/search.ts b/src/addons/mod/data/components/search/search.ts index ced4e44fe..22d000723 100644 --- a/src/addons/mod/data/components/search/search.ts +++ b/src/addons/mod/data/components/search/search.ts @@ -104,12 +104,26 @@ export class AddonModDataSearchComponent implements OnInit { this.fieldsArray.forEach((field) => { let replace = '[[' + field.name + ']]'; replace = replace.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&'); - const replaceRegex = new RegExp(replace, 'gi'); + let replaceRegex = new RegExp(replace, 'gi'); // Replace field by a generic directive. const render = ''; template = template.replace(replaceRegex, render); + + // Replace the field name tag. + replace = '[[' + field.name + '#name]]'; + replace = replace.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&'); + replaceRegex = new RegExp(replace, 'gi'); + + template = template.replace(replaceRegex, field.name); + + // Replace the field description tag. + replace = '[[' + field.name + '#description]]'; + replace = replace.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&'); + replaceRegex = new RegExp(replace, 'gi'); + + template = template.replace(replaceRegex, field.description); }); // Not pluginable other search elements.