Як в JS вивести великий блок коду HTML?
Ця функція є аналогом herodoc PHP - вона дозволяє вставляти великі коди HTML в сам JS.
Наприклад є константа яка виводить необхідний текст...
const blocks = {
'shlifovka': {
'title': 'Шліфовка !!',
'body': 'shlifovka 888'
},
'frezyvanya': {
'title': 'Фрезування',
'body': 'frezyvanya 888'
},
}
Але нам замість тексту (frezyvanya 888) потрібно вивести відформатований HTML блок!
І ось вся конструкція:
// Ця функція дозволяє вставляти HTML блоки
(function(){}).constructor.prototype.hd = function() {
return this.toString().replace(/.*\/\*\n([\s\S]*)\n\*\/.*/m, "$1");
}
// Наш блок який маємо вставити:
let text_block = function(){/*
<div class="clear str-10"></div>
<div class="row">
<div class="col-40 pola">
<h5> <sup data-name="Виберіть щит на якому знаходиться деталь" class="podskazka leftposk"><s class="ti-info"></s></sup> № Щита:</h5>
<select name="wod_detal[statys]"><!--▓і▓ № Щита для цеху Заготовки -->
<option <?=($currentLang=='ua' ? 'selected checked' : '')?>>Невідомо</option>
<option <?=($currentLang=='ua' ? 'selected checked' : '')?>>№ 1</option>
<option <?=($currentLang=='ru' ? 'selected checked' : '')?>>№ 2</option>
<option <?=($currentLang=='en' ? 'selected checked' : '')?>>№ 3</option>
</select>
<label for="i_urll"><!--▓і▓ Заголовок для цеху Заготовки -->
<h5> <sup data-name="Напишіть заголовок для Цеху Заготовки" class="podskazka leftposk"><s class="ti-info"></s></sup>Заголовок для цеху Заготовки: </h5>
<input id="i_urll" type="text" name="ard_pc_info[i_urll]" value="">
</label>
<label for="t_titl"><!--▓і▓ Опис ТІЛЬКИ для цеху заготовки -->
<h5> <sup data-name="Напишіть текст тілки для цеху Заготовки" class="podskazka leftposk"><s class="ti-info"></s></sup>Опис ТІЛЬКИ для цеху заготовки: </h5>
<textarea id="t_titl" class="" style="min-height:80px" name="ard_pc_text[t_titl]" aria-multiline="true"></textarea>
</label>
</div>
<div class="col-60 pola">
</div>
</div>
*/}.hd();
const blocks = {
'shlifovka': {
'title': 'Шліфовка !!',
'body': 'shlifovka 888'
},
'frezyvanya': {
'title': 'Фрезування',
'body': text_block
},
}