Size: a a a

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

2020 February 14

МФ

Максим Фадеенко in Angular - русскоговорящее сообщество
второе значени, первое отвалилось
источник

МФ

Максим Фадеенко in Angular - русскоговорящее сообщество
и вот теплайт, тут тоже идет взаимодействие с disable и enable
источник

МФ

Максим Фадеенко in Angular - русскоговорящее сообщество
и вот не понятно, почему в начале вроде все задизейблено, но все равно все объекты поподают в value, что то не понимаю эти формы(
источник

СО

Сергей Омельницкий in Angular - русскоговорящее сообщество
Всем привет. А кто-нибудь пробовал передавать параметры nodejs env в angular?)
источник

СО

Сергей Омельницкий in Angular - русскоговорящее сообщество
источник

И

Илья | 😶 in Angular - русскоговорящее сообщество
Максим Фадеенко
и вот теплайт, тут тоже идет взаимодействие с disable и enable
Испы свой UI Фреймворк выкатили наконец-то ?
источник

ОК

Олег Колодезев in Angular - русскоговорящее сообщество
Олег Колодезев
Народ, нужен совет
Я создаю попап для карты (mapbox-gl-js)
Как это обычно делаем:
1 - с помощью ComponentFactoryResolver создаём ComponentFactory для днамического создания компонента
2 - с помощью ComponentFactory<T> и инджектора создаём компонент T
3
this.openedPopup = new Popup()
     .setLngLat(lngLat)
     .setDOMContent(dynamicComponet.location.nativeElement)
     .addTo(this.map);

dynamicComponet.changeDetectorRef.detectChanges();

Я добавил туда <mat-expansion-panel>. Она не раскрывается
Так же, если туда добавить matInput, то не будет красивой анимации при выделении

При этом (click) работает, кнопки нажимаются, связывание данных работает
Не очень понимаю, куда копать

Как надо правильно создавать динамические компоненты, чтобы всё работало?
По-прежнему очень нужен совет о том, как правильно запустить процесс обработки изменений в попапе на карте

Сейчас решил задачу через this.changeDetectorRef.detectChanges(); после любого клика на попап, но это довольно зашкварное решение

Если кто-нибудь подскажет более разумное решение - буду очень благодарен
источник

B

Bohdan in Angular - русскоговорящее сообщество
Олег Колодезев
Народ, нужен совет
Я создаю попап для карты (mapbox-gl-js)
Как это обычно делаем:
1 - с помощью ComponentFactoryResolver создаём ComponentFactory для днамического создания компонента
2 - с помощью ComponentFactory<T> и инджектора создаём компонент T
3
this.openedPopup = new Popup()
     .setLngLat(lngLat)
     .setDOMContent(dynamicComponet.location.nativeElement)
     .addTo(this.map);

dynamicComponet.changeDetectorRef.detectChanges();

Я добавил туда <mat-expansion-panel>. Она не раскрывается
Так же, если туда добавить matInput, то не будет красивой анимации при выделении

При этом (click) работает, кнопки нажимаются, связывание данных работает
Не очень понимаю, куда копать

Как надо правильно создавать динамические компоненты, чтобы всё работало?
Кстати, я делал через angular elements и его в попап ложил)
источник

ОК

Олег Колодезев in Angular - русскоговорящее сообщество
Bohdan
Кстати, я делал через angular elements и его в попап ложил)
и описанных проблем с инпутами, например, не возникало?
источник

ОК

Олег Колодезев in Angular - русскоговорящее сообщество
я попробую, спасибо
источник

ET

Evgeniy Tratsevsky in Angular - русскоговорящее сообщество
Всем привет!
Необходимо отловить событие закрытия окна/табы браузера и отобразить пользовательское сообщение.
OnDestroy отработает на уровне компонента.
Может кто подскажет более красивое решение, кроме как через
@HostListener('window:beforeunload', ['$event']) или
@HostListener('window:unload', ['$event'])?
источник

B

Bohdan in Angular - русскоговорящее сообщество
Олег Колодезев
и описанных проблем с инпутами, например, не возникало?
`onMapReady(mp: Map) {
   this.geo
     .bindPopup((layer) => {
       const popupEl: NgElement & WithProperties<PopupComponent> = document.createElement('popup-element') as any;
       // Listen to the close event
       popupEl.addEventListener('closed', () => document.body.removeChild(popupEl));
       popupEl.cardId = layer.feature.properties.id;
       // Add to the DOM
       document.body.appendChild(popupEl);
       return popupEl;
     }, {offset: point(0, 0)})
`
     .addTo(mp)
   mp.fitBounds(this.geo.getBounds(), {
     padding: point(24, 24),
     maxZoom: 12,
     animate: true
   });
   mp.setView(latLng([50.4538013, 30.5054876]), 15);

 }`

такой код был, правда это было для демо и за пару часов накидал, поэтому не знаю подводные камни есть в этом или нету
источник

ОК

Олег Колодезев in Angular - русскоговорящее сообщество
Bohdan
`onMapReady(mp: Map) {
   this.geo
     .bindPopup((layer) => {
       const popupEl: NgElement & WithProperties<PopupComponent> = document.createElement('popup-element') as any;
       // Listen to the close event
       popupEl.addEventListener('closed', () => document.body.removeChild(popupEl));
       popupEl.cardId = layer.feature.properties.id;
       // Add to the DOM
       document.body.appendChild(popupEl);
       return popupEl;
     }, {offset: point(0, 0)})
`
     .addTo(mp)
   mp.fitBounds(this.geo.getBounds(), {
     padding: point(24, 24),
     maxZoom: 12,
     animate: true
   });
   mp.setView(latLng([50.4538013, 30.5054876]), 15);

 }`

такой код был, правда это было для демо и за пару часов накидал, поэтому не знаю подводные камни есть в этом или нету
Дико благодарю, обязательно вечером опробую!
источник

EK

Egor Kozhanov in Angular - русскоговорящее сообщество
Привет всем
подскажите пожалуйста, как реализовать что-то подобное:

хочу сделать дропдаун, где стартером (то, что вызывает дроп) может быть какой-то другой компонент
и боди (то, что выпадает) будет тоже любым компонентом

по разметке это выглядит примерно так

<dropdown>
 <dropdown-starter>
   {{компонент, по клику на который появится боди}}
 </dropdown-starter>
 <dropdown-body>
   {{компонент, который будет "выпадать"}}
 </dropdown-body>
</dropdown>

какую тему вообще почитать, чтобы врубиться в это?

спасибо
источник

V

Vlad in Angular - русскоговорящее сообщество
Подскажите, можно ли вызвать метод у компонента чайлда через ng-content? Например у меня враппер над модалками и при закрытии модалки хочу вызывать метод reset(), как это сделать?
источник

Q

Qwerty123 in Angular - русскоговорящее сообщество
доброго времени суток
Отписывал выше про траблы при переходе с 7 на 9 версию

Кому интересно в чем был трабл, вкратце:
есть пакет time-ago-pipe, откуда импорчу TimeAgoPipe в declarations.
Как оказалось, на этом этапе импорт пайпа крашил всю сборку🤷‍♂️
Решение пришло самым банальным костылем

@Pipe({
   name: 'timeAgo',
   pure: false
})
export class TimeAgoExtendsPipe extends TimeAgoPipe {}

и все заработало
Магия какая-то🤔

если вдруг, сорс самого пайпа:
https://github.com/AndrewPoyntz/time-ago-pipe/blob/master/time-ago.pipe.ts
вроде ничего там из deprecated нет🤔🤔🤔
источник

h

highsierra in Angular - русскоговорящее сообщество
подскажите пожалуйста, пытаюсь чужой проект поднять, ставлю нод модули и вот такой эррор, это что сделать надо?)
источник

h

highsierra in Angular - русскоговорящее сообщество
источник

АС

Андрей Сергеевич in Angular - русскоговорящее сообщество
highsierra
подскажите пожалуйста, пытаюсь чужой проект поднять, ставлю нод модули и вот такой эррор, это что сделать надо?)
запустить инстал ?
источник

АС

Андрей Сергеевич in Angular - русскоговорящее сообщество
там же пишет подсказку ))
источник