Denis Solovyov
привет всем
Denis Solovyov
function replaceWords(data){
// але привет або але, або але, привіт або пока але
let patterns = ['але', 'або','але або','або але'];
for(let i=0; i<patterns.length; i++){
data = data.replace(new RegExp('('+patterns[i]+')', 'g'), getColorWord(patterns[i]));
}
return data;
}
function getColorWord(word) {
let color = '';
switch(word){
case "але": color = 'red'; break;
case "або": color = 'blue'; break;
case 'але або': color = 'green'; break;
case 'або але': color = 'brown'; break;
default: color = 'black'; break;
}
return '<span style="color:' + color + ';">' + word + '</span>';
}
Denis Solovyov
есть такая функция должна менять цвет 4 словосочетаний
Denis Solovyov
но те словочетания в которых два слова не хочет выделять текстом
Denis Solovyov
вот пример как работает
Denis Solovyov
Denis Solovyov
можете подсказать что не правильно делаю
Aleksey
сначала заменяешь "але" на "<span>але</span>". Поэтому паттерн из 2 слов не находится.
Denis Solovyov
нужно в функции сохранять результат в другую переменную?
Denis Solovyov
чтобы такого не было?
Aleksey
Смотря как должно работать
Denis Solovyov
нужно при наборе текста сразу выводить слова или словочетания нужного цвета
Alexander 🐯
Alexander
Подсветку синтаксиса пилишь )
Alexander 🐯
Alexander 🐯
А, ему сразу при наборе надо
Alexander 🐯
Хотя судя по коду все равно. Он ререндерит после изменения. Поэтому просто надо проверять след. слово
Anonymous
В линзах могут быть условия?
Denis Solovyov
function replaceWords(data){
// але привет або але, або але, привіт або пока але
let patterns = ['але','або','але або','або але'];
let pat = new RegExp(patterns.join('|')+'|<([A-Za-z][A-Za-z0-9]*)\\\\b[^>]*😠.*?)</\\\\1>', 'g');
for(let i=0; i<patterns.length; i++){
data = data.replace(pat, getColorWord(patterns[i]));
}
return data;
}
Highly Likely
https://t.me/nodejs_ru
Leo
Всем привет! Есть задача описать требования к API для дальнейшего прикручивания веб морды (готовый дизайн) с использованием Node.js. Тут имеет смысл спрашивать тут? Или есть отдельный чатик для этого? Что это должен быть за человек? Кого искать?)
Evgeny
а кто морду то делает?
Evgeny
кто морду делает, тот и требовать данные с бека доллжен
Evgeny
ну вот как сверстают, так и определятся какие данные нужны
Evgeny
ну как ясно. если стоит вопрос "какие поля отдавать"
Evgeny
а так вроде json сейчас в 99% случаев
Evgeny
фильтры фронт задает или менеджер проекта/заказчик
Evgeny
как лучше сделать бекендщик сам знает, скажите какиетданные нужны
Evgeny
блин напиши в лс, спроектирую апи)
Anonymous
Ребзя. Можно ли как-то через eventы отследить, изменятся и перемещается ли определенный элемент на странице?
Anonymous
Не могу такого найти. А интервалом чекать - как-то по-быдлокодерски
Anonymous
Вроде нашел https://stackoverflow.com/a/16714909/9562635
stay
stay
Разве не работает?
Андрей
Anonymous
on.(“resize”) ?
Насколько я знаю он отслеживает только изменение окна браузера
Roman
stay
Блин, не знаю даже
Roman
скорее всего так нельзя и тебе нужно какой-то реактивный фреймворк/либа
stay
Да наверняка есть решения для этого. Просто не очевидные.
stay
Хотелось бы глянуть
Андрей
Мде...
Anonymous
Лучше MutationObserver чем костыльный resize
Anonymous
Но MutationObserver на перемещения элемента не работает, насколько я понимаю
Андрей
Что такое "перемещение элемента"?
Anonymous
Передивнуть его в рамках страницы, координаты его поменять
Anonymous
offset top/left, говоря языком jquery
Андрей
А как ты без изменения дома будешь его перемещать?
stay
А чем resize костыльный?
stay
В смысле нельзя?
stay
Подожди, это надо проверить
Anonymous
Anonymous
А так - да
Anonymous
Подошел бы
Anonymous
Есть полифиллы
Anonymous
А так только хром пока нативно поддерживает. Но Хром стоит у большинства
Андрей
Лол
Андрей
Вот за такое я бы банил.
Шемиль
А что перемещается?
Anonymous
Андрей
Хотя нет, предложили использовать полифиллы.
Андрей
А зачем он тебе?
Шемиль
Шемиль
Шемиль
Anonymous
Р
Anonymous
Тут дело в том, что я не могу такив вещи прогнозировать, мне надо любые изменения мониторить
Anonymous
И в этом и сложность, конечно
Шемиль