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
Подсветку синтаксиса пилишь )
Denis Solovyov
Подсветку синтаксиса пилишь )
что-то похожее но только на эти 4 варианта
Alexander
что-то похожее но только на эти 4 варианта
Словосочетания прогоняй первыми + в регулярке сделай проверку на нахождение слова внутри спана
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
кто морду делает, тот и требовать данные с бека доллжен
Leo
кто морду делает, тот и требовать данные с бека доллжен
Пока никто, это будет следующей задачей, она пока еще даже не сверстана)))
Evgeny
ну вот как сверстают, так и определятся какие данные нужны
Leo
ну вот как сверстают, так и определятся какие данные нужны
данные в принципе и так ясно, нужно понять формат апи, какие поля как отдавать, какие фильтры нужны (и как лучше сделать)
Evgeny
ну как ясно. если стоит вопрос "какие поля отдавать"
Evgeny
а так вроде json сейчас в 99% случаев
Evgeny
фильтры фронт задает или менеджер проекта/заказчик
Evgeny
как лучше сделать бекендщик сам знает, скажите какиетданные нужны
Evgeny
блин напиши в лс, спроектирую апи)
Anonymous
Ребзя. Можно ли как-то через eventы отследить, изменятся и перемещается ли определенный элемент на странице?
Anonymous
Не могу такого найти. А интервалом чекать - как-то по-быдлокодерски
Anonymous
Вроде нашел https://stackoverflow.com/a/16714909/9562635
stay
Разве не работает?
Anonymous
on.(“resize”) ?
Насколько я знаю он отслеживает только изменение окна браузера
stay
Насколько я знаю он отслеживает только изменение окна браузера
Если применять к window, то да. Но такое событие есть у любого элемента
Roman
Если применять к window, то да. Но такое событие есть у любого элемента
дык это только на размер же. на перемешение сработает?
stay
Блин, не знаю даже
Roman
скорее всего так нельзя и тебе нужно какой-то реактивный фреймворк/либа
stay
Да наверняка есть решения для этого. Просто не очевидные.
stay
Хотелось бы глянуть
Андрей
Мде...
Anonymous
Лучше MutationObserver чем костыльный resize
Anonymous
Но MutationObserver на перемещения элемента не работает, насколько я понимаю
Андрей
Что такое "перемещение элемента"?
Anonymous
Передивнуть его в рамках страницы, координаты его поменять
Anonymous
offset top/left, говоря языком jquery
Андрей
А как ты без изменения дома будешь его перемещать?
stay
А чем resize костыльный?
Anonymous
А чем resize костыльный?
Он на window кидается, и потом фильтровать надо. Его нельзя на элемент кинуть
stay
В смысле нельзя?
stay
Подожди, это надо проверить
Anonymous
ResizeObserver
У него 23% в caniuse поддержка браузерами
Anonymous
А так - да
Anonymous
Подошел бы
Anonymous
Есть полифиллы
Anonymous
А так только хром пока нативно поддерживает. Но Хром стоит у большинства
Андрей
Лол
Андрей
Вот за такое я бы банил.
Anonymous
А так только хром пока нативно поддерживает. Но Хром стоит у большинства
caniuse он проценты относительно юзеров браузеров выводит, а не браузеров)
Шемиль
А что перемещается?
Андрей
Хотя нет, предложили использовать полифиллы.
Андрей
А зачем он тебе?
Шемиль
div
Давайте поподробнее)
Anonymous
Давайте поподробнее)
Порнобаннер. Какие подробности нужны?
Anonymous
А как ты без изменения дома будешь его перемещать?
Да, ты прав. Лучший вариант При каждом изменении дома проверять - изменился ли наш элемент
Anonymous
Р
Anonymous
У вас как происходит перемещения?
Не важно. Мне нужно отслеживать любые изменения offset'а
Anonymous
Тут дело в том, что я не могу такив вещи прогнозировать, мне надо любые изменения мониторить
Anonymous
И в этом и сложность, конечно
Шемиль
Тут дело в том, что я не могу такив вещи прогнозировать, мне надо любые изменения мониторить
А offset это разве не координаты? Пожалуйста, напишите по подробнее что вы хотите сделать?