Думая о параллельности, хотел спросить. А если я из php кода инициализирую другой http запрос на свой же скрипт, например с другими get-параметрами, и не буду ждать ответа, то получается сервер сам создаст новый процесс в параллель и будет одновременное выполнение?, и таким образом тоже можно запустить задачи в несколько потоков?
или нет возможности отправить запрос и не ждать ответа?
Да, у этого метода есть недостаток с различным временем анимации.
Я тоже в свое время кучу экспериментов перепробовал, но всетаки остановился на анимации height. Т.е. все как и в статье overflow:hidden, height:0 и transition на height.
А потом просто по клику в скрипте:
elem.style.height = `${elem.scrollHeight}px`;
что добавляет inline стиль height с актуальной высотой элемента и за счет css перехода, он анимируется. И при закрытии соответственно.
elem.style.height="";
это убирает inline стиль, и элемент плавно сворачивается.
Постоянно работаю со сложными формами в реакте, (правда без Redux) и самые сложности возникают с встраиванием в такие пакеты готовых виджетов (по типу react-select, flatpicker, uppy), а также динамическими зависимыми частями форм (появляющимися, исчезающими), динамически меняющимися начальными значениями и. т. д.)
В статье в принципе показано как работать с простыми инпутами, но не сказано о преимуществах и недостатках относительно других решений ?
А в целом, интересно почитать как другие люди в реакте с формами борятся)
Сталкивался с экспортом. Код там к сожалению сжат, что-то поменять даже зная верстку практически нереально.
При этом шрифты и кое-какие js все еще подгружаются с CDN тильды, а как и куда формы отправляются, я так и не понял. Кажется тоже на какой-то бекенд на тильде.
И еще эти ресурсы могут не подгружаться, выдавая статус 402 Payment Required. Не разбирался правда в каких случаях.
Поэтому даже если скачать себе, не все так просто ?
Благодарю.
Действительно, что-то пошло не так с ctrl+shift, я не заметил опечатку. В статье поправил, там естественно не «focusableNodes» а «nodesArray», и preventdefault добавил, нужно будет в гитхабе тоже заменить.
Да, кажется это появляется во всех браузерах где есть скролл. В будущих версиях я планирую встроить настройку, которая будет добавлять/убирать всем элементам с определенным css-классом доп. отступ при открытии/закрыти окна.
Нужно только проверить, чтобы это не конфликтовало с возможными css-свойствами у fixed элементов.
Как я писал в статье в начале, я смотрел варианты с окнами без JS, но у них всегда были какие-то проблемы, либо ими было неудобно пользоваться из-за излишней html-разметки. Чаще всего недостатки такие:
— Нельзя открыть окно кликом по любому элементу (например с data-аттрибутом), обычно делаются на основе checkbox и label.
— Если есть примеры без сдвига для скроллбара и чтобы страница не прокручивалась то хотел бы глянуть, как это реализовано.
— Фокус ведёт себя не совсем удобно, а также не закрыть окно по esc.
— нет возможности запустить js-коллбеки.
— сложности с открытием одного окна из другого.
В принципе, если всё это не важно, то ничего не имею против окон без JS, но в принципе, получившийся минифицированный js-код не очень много весит.
Да, действительно, посмотрел ещё раз спецификацию, можно указать для блока отдельно transitions. Нужно посмотреть, можно ли упростить код, и немножко поправить текст статьи, спасибо за наводку.
Интересная статья, спасибо.
Думая о параллельности, хотел спросить. А если я из php кода инициализирую другой http запрос на свой же скрипт, например с другими get-параметрами, и не буду ждать ответа, то получается сервер сам создаст новый процесс в параллель и будет одновременное выполнение?, и таким образом тоже можно запустить задачи в несколько потоков?
или нет возможности отправить запрос и не ждать ответа?
Да, у этого метода есть недостаток с различным временем анимации.
Я тоже в свое время кучу экспериментов перепробовал, но всетаки остановился на анимации height. Т.е. все как и в статье overflow:hidden, height:0 и transition на height.
А потом просто по клику в скрипте:
elem.style.height = `${elem.scrollHeight}px`;
что добавляет inline стиль height с актуальной высотой элемента и за счет css перехода, он анимируется. И при закрытии соответственно.
elem.style.height="";
это убирает inline стиль, и элемент плавно сворачивается.
Кажется, это самое простое решение.
А чем плох уже популярный пакет React Hook Form?)
Постоянно работаю со сложными формами в реакте, (правда без Redux) и самые сложности возникают с встраиванием в такие пакеты готовых виджетов (по типу react-select, flatpicker, uppy), а также динамическими зависимыми частями форм (появляющимися, исчезающими), динамически меняющимися начальными значениями и. т. д.)
В статье в принципе показано как работать с простыми инпутами, но не сказано о преимуществах и недостатках относительно других решений ?
А в целом, интересно почитать как другие люди в реакте с формами борятся)
Сталкивался с экспортом. Код там к сожалению сжат, что-то поменять даже зная верстку практически нереально.
При этом шрифты и кое-какие js все еще подгружаются с CDN тильды, а как и куда формы отправляются, я так и не понял. Кажется тоже на какой-то бекенд на тильде.
И еще эти ресурсы могут не подгружаться, выдавая статус 402 Payment Required. Не разбирался правда в каких случаях.
Поэтому даже если скачать себе, не все так просто ?
Действительно, что-то пошло не так с ctrl+shift, я не заметил опечатку. В статье поправил, там естественно не «focusableNodes» а «nodesArray», и preventdefault добавил, нужно будет в гитхабе тоже заменить.
Нужно только проверить, чтобы это не конфликтовало с возможными css-свойствами у fixed элементов.
— Нельзя открыть окно кликом по любому элементу (например с data-аттрибутом), обычно делаются на основе checkbox и label.
— Если есть примеры без сдвига для скроллбара и чтобы страница не прокручивалась то хотел бы глянуть, как это реализовано.
— Фокус ведёт себя не совсем удобно, а также не закрыть окно по esc.
— нет возможности запустить js-коллбеки.
— сложности с открытием одного окна из другого.
В принципе, если всё это не важно, то ничего не имею против окон без JS, но в принципе, получившийся минифицированный js-код не очень много весит.
Да, действительно, посмотрел ещё раз спецификацию, можно указать для блока отдельно transitions. Нужно посмотреть, можно ли упростить код, и немножко поправить текст статьи, спасибо за наводку.
Да, бывает, что эмулируют скролл на другом блоке вместо html, не могу точно сказать будут ли проблемы с этим, нужно протестировать на досуге.