Шпаргалка. Textarea в настройках компонента через параметр CUSTOM

Понадобилось в настройках компонента добавить textarea. 
Выкладываю краткую инструкцию, как это сделать. 

В .parameters.php добавляем
$arTemplateParameters = Array(
...
   "TEXT_INTRO" => Array(
      "PARENT"   => "DATA_SOURSE",
      "NAME"      => "Вступительный текст",
      "TYPE"      => "CUSTOM",
      "JS_FILE"   => "/путь/к/файлу/settings.js",
      "JS_EVENT"   => "OnTextAreaConstruct",
      "DEFAULT"   => null,
   ),
...
);

Затем в settings.js можно написать вот так:
function OnTextAreaConstruct(arParams) {
   var iInputID   = arParams.oInput.id;
   var iTextAreaID   = iInputID + '_ta';

   var obLabel   = arParams.oCont.appendChild(BX.create('textarea', {
      props : {
         'cols' : 40,
         'rows' : 5,
         'id' : iTextAreaID
      },
      html: arParams.oInput.value
   }));

   $("#"+iTextAreaID).on('keyup', function() {
      $("#"+iInputID).val($(this).val());
   });
}

А вот и результат:
Clip2net_151120170922[1].png

P.S. Для данной задачи есть способ проще, в настройках компонента указать:
"PARAM" => array(
    "PARENT" => "BASE",
    "NAME" => "Param",
    "TYPE" => "STRING",
    "ROWS" => "10",
    "COLS" => "50",
    "DEFAULT" => "",
),