parsedHeading function

dynamic parsedHeading(
  1. dynamic question,
  2. dynamic replacementVal
)

Implementation

parsedHeading(question,replacementVal){
  print("sting to replacementVal is 099712 ${replacementVal}");
  var entityRanges = question['rtxt']['blocks'][0]['entityRanges'];
  var entityMapping = question['rtxt']['entityMap'];
  final Map<dynamic,dynamic> stringToReplace = {};

  print("0997 ${question['rtxt']} ");
  print("09971 entity mapping entityMapping ${entityMapping} ");
  if(entityRanges.length <= 0){
    return question['rtxt']['blocks'][0]['text'];
  }

  print("09971 text is->>${question['rtxt']['blocks'][0]['text']} ");
  var replacedString = question['rtxt']['blocks'][0]['text'];
  var extraOffset = 0;
  //8
  for(var i=0 ;i < entityRanges.length ;i++){
    var currentEntity = entityRanges[i];
    var textToReplace = '#CHANGE_${entityMapping[currentEntity['key'].toString()]['data']['component_txt']}';
    replacedString = replacedString.replaceFirst(RegExp(entityMapping[currentEntity['key'].toString()]['data']['component_txt']),textToReplace,currentEntity['offset']+extraOffset);
    extraOffset+=8;
    stringToReplace[i] = {};
    stringToReplace[i]['pramKey'] = entityMapping[currentEntity['key'].toString()]['data']['component_txt'];
    stringToReplace[i]['regexKey'] = textToReplace;

    // entityMapping[currentEntity['key'].toString()]['data']['component_txt']['replace_txt'] = textToReplace;
  }

print("replaced string before is 099712 ${replacedString}");

  for(var i=0 ;i < stringToReplace.length ;i++){
    print("sting to replace i is 099712 ${stringToReplace[i]}");
    var stringToReplaceHere = replacementVal[stringToReplace[i]['pramKey']] != null ? replacementVal[stringToReplace[i]['pramKey']] : '';
    print('099712 string to replace is ${stringToReplaceHere}');
    replacedString = replacedString.replaceAll(stringToReplace[i]['regexKey'],stringToReplaceHere);
  }
  print("replaced string is 099712 ${replacedString}");
  print(" 09971 string to replace map is ${stringToReplace} ");
  return replacedString;
}