Size: a a a

Angular - русскоговорящее сообщество

2020 May 26

лл

ленус ламстронинг... in Angular - русскоговорящее сообщество
John
норм практика это директива на кнопку
да знаю, но я взял пример из доков. Просто на пустом сайте все окей работает а англуяр крутит пальцы веером и говорит что выше всего этого
источник

GB

Grigory Belousov in Angular - русскоговорящее сообщество
Вопрос по модальным окнам. У вас их много на проекте? Или по сути одно окно и вы посредством dynamic component loading подгружаете туда необходимое содержимое?
источник

лл

ленус ламстронинг... in Angular - русскоговорящее сообщество
модалок много, я их через material реализовываю. Однако эта модалка сделана на JQ как я понимаю
источник

лл

ленус ламстронинг... in Angular - русскоговорящее сообщество
JQ я тоже подключил, просто в код не импортируются, сейчас попробую как нибудь в компонент пришить аккуратно
источник

IF

Igor Filippov in Angular - русскоговорящее сообщество
проще уже самому модалку написать чем такие муки испытывать
источник

лл

ленус ламстронинг... in Angular - русскоговорящее сообщество
я просто не знаю как в кастомную модалку подтянуть данные, код вызова модалки выглядит вот так jQuery(".payrexx-modal-window").payrexxModal();
источник

GB

Grigory Belousov in Angular - русскоговорящее сообщество
Вопрос был скорее ко всем :) Какие, вообще, best practices при работе с модальными окнами? Стоит заморачиваться с ComponentFactoryResolver? Или делать по старинке для каждой сущности своя модалка? Кто работает на больших проектах, подскажите, пожалуйста, как у вас это реализовано?
источник

лл

ленус ламстронинг... in Angular - русскоговорящее сообщество
ну у меня на сайте 4 модалки я для каждой сделал свою
источник

GB

Grigory Belousov in Angular - русскоговорящее сообщество
У нас в данный момент тоже так. Но когда у тебя не 4, а 104 модалки, то поддерживать это становится больно:)
источник

IF

Igor Filippov in Angular - русскоговорящее сообщество
Grigory Belousov
Вопрос был скорее ко всем :) Какие, вообще, best practices при работе с модальными окнами? Стоит заморачиваться с ComponentFactoryResolver? Или делать по старинке для каждой сущности своя модалка? Кто работает на больших проектах, подскажите, пожалуйста, как у вас это реализовано?
Если модалка тянет за собой много функциональности, то логично её подгрузить по требованию. Если нет, то и смысла нет. У нас просто есть компонент модалки с общим поведением и через нг контент вставляем содержимое
источник

ЕУ

Евгений Удалов... in Angular - русскоговорящее сообщество
ленус ламстронинг
я просто не знаю как в кастомную модалку подтянуть данные, код вызова модалки выглядит вот так jQuery(".payrexx-modal-window").payrexxModal();
это прям как сесть в танк, чтоб потом через ствол копьем мочить врага
источник

MC

Maksim Chuguev in Angular - русскоговорящее сообщество
подскажите, кто-нибудь сталкивался с проблемой 303 редиректа в сафари и ие (удаляется заголовок авторизации), https://developer.mozilla.org/ru/docs/Web/API/Request/redirect говорит что redirect: "manual" не поддерживает, есть какие-нибудь обходные решения?
источник

лл

ленус ламстронинг... in Angular - русскоговорящее сообщество
Евгений Удалов
это прям как сесть в танк, чтоб потом через ствол копьем мочить врага
да согласен, но мне повезло ткк  их модалка тупо на iframe тянет с гетами
источник

GB

Grigory Belousov in Angular - русскоговорящее сообщество
Igor Filippov
Если модалка тянет за собой много функциональности, то логично её подгрузить по требованию. Если нет, то и смысла нет. У нас просто есть компонент модалки с общим поведением и через нг контент вставляем содержимое
Спасибо. Вы через фабрику тяните нужный компонент?
источник

IF

Igor Filippov in Angular - русскоговорящее сообщество
Grigory Belousov
Спасибо. Вы через фабрику тяните нужный компонент?
Ну сначала компилирую модуль, а потом компонент
источник

MM

Mikita Melnikau in Angular - русскоговорящее сообщество
Всем привет. Помогите разобраться с кашей в голове. Делаю чат. Строю логику так:
- Пользователь ввёл креды
- Креды подошли сохранил токен для входа
- Получаю последние комнаты пользователя и их данные
С этим проблем нет. Проблема есть в другом. Где я должен осуществлять подписку на сокет на новые сообщения? Я как понимаю, когда я получаю данные последних комнат в эффекте. Ну, окей. Но, тогда, возникает два вопроса:
1. а если таких событий для каждой комнаты 20?
2. как отписываться
источник

J

John in Angular - русскоговорящее сообщество
Grigory Belousov
Вопрос был скорее ко всем :) Какие, вообще, best practices при работе с модальными окнами? Стоит заморачиваться с ComponentFactoryResolver? Или делать по старинке для каждой сущности своя модалка? Кто работает на больших проектах, подскажите, пожалуйста, как у вас это реализовано?
если модалки одинаковые по виду и кнопкам то кидаю в инпут конфиг и в нем уже настраиваю повидение, если модалки отличаются дизайном и логикой проще сделать отдельно сущность
источник

AT

Alexander Trunov in Angular - русскоговорящее сообщество
Mikita Melnikau
Всем привет. Помогите разобраться с кашей в голове. Делаю чат. Строю логику так:
- Пользователь ввёл креды
- Креды подошли сохранил токен для входа
- Получаю последние комнаты пользователя и их данные
С этим проблем нет. Проблема есть в другом. Где я должен осуществлять подписку на сокет на новые сообщения? Я как понимаю, когда я получаю данные последних комнат в эффекте. Ну, окей. Но, тогда, возникает два вопроса:
1. а если таких событий для каждой комнаты 20?
2. как отписываться
Я в свое время делал чат на Angular + Socket.IO. Логика была примерно следующая. После успешной авторизации загружалось основное окно чата. На этом же шаге происходила подписка на события из сокета. Сразу после подключения сервер присылал "первоначальные" события - список комнат, количество непрочитанный сообщений и т.п. Далее уже в конкретных компонентах чата делал подписку на те или иные события. Например, компонент "элемент списка комнат" отслеживал новые сообщения, но только для комнаты с текущим id и, при наличии, увеличивал счетчик непрочитанных сообщений. Компонент "окно переписки", тоже следил за новыми сообщениями для "текущей переписки" и добавлял элементы в dom при новых входящих сообщениях. Ну и т.п. Это так, очень схематично. Там конечно логика была сложнее.  При выходе из чата происходила отписка от всего. Отписываться можно в ngOnDestroy() конкретных компонентов. Можно подписываться с указанием takeUntil, например:

const onlyCurrentRoom = (message: Message) => message.roomId === this.roomId;

this.socketService.newMessage$
   .pipe(
       takeUntil(this.chatService.shutdown$),
       filter(onlyCurrentRoom),
       tap(someHandler)
   )
   .subscibe();

В данном случае при выходе нужно заэмитить в shutdown$ новое событие.

В общем, советую сначала поделить свой чат на компоненты. Там уже будет видно какому компоненту какие данные нужны, когда подписываться, когда отписываться и т.п.
источник

MM

Mikita Melnikau in Angular - русскоговорящее сообщество
@alxtrunov спасибо за такой подробный ответ!
источник

b

baranovskyi in Angular - русскоговорящее сообщество
привет
использую полифил для webp картинок, потому что IE11 не поддерживает данный формат
вот полифил https://www.npmjs.com/package/webp-hero
но после подключения его в файл polyfills.ts появляется такая ошибка?
кто-небудь сталкивался с этим?
источник