Size: a a a

Советский Angular

2021 September 20

ДБ

Дмитрий Берестовский... in Советский Angular
Это да, согласен. Осталось только найти причину)
Ну и задачу по таске на работе надо как-то закрыть, вряд-ли там дождутся принятия и внедрения PR ))
источник

ДБ

Дмитрий Берестовский... in Советский Angular
А ngx-quill не имеет таких проблем? Кто-то решал похожую задачу, не было подобного бага?
источник

J

Jugger in Советский Angular
может change detection не срабатывает?
источник

ДБ

Дмитрий Берестовский... in Советский Angular
Я пытался вручную через change detector ref - не помогло
источник

SV

Sergey Vakhramov in Советский Angular
Там объект? Может просто новую ссылку ему подсовывать каждый раз?
источник

SV

Sergey Vakhramov in Советский Angular
Я давно очень работал с PrimeNG, как раз похожий косяк был, я смотрел исходники самой либы и дикие костыли делал, чтобы оно работало))
источник

ДБ

Дмитрий Берестовский... in Советский Angular
Да, костыльности в решениях специфических задач тут хватает. Мее тут хорошую мыслю подкинули в другом чате, кажется это поможет решить вопрос (сегодня буду пробовать). Сейчас перешлю сообщение:
источник

ДБ

Дмитрий Берестовский... in Советский Angular
Переслано от Georgii Klubnikov
посмотрите в исходники: https://github.com/primefaces/primeng/blob/master/src/app/components/editor/editor.ts#L67  внутри p-editor использует onPush,  тулбар как понимаю вы задаете через темплейет https://github.com/primefaces/primeng/blob/master/src/app/components/editor/editor.ts#L80  а инициализация тулбара происходит только один раз https://github.com/primefaces/primeng/blob/master/src/app/components/editor/editor.ts#L118  , дальше думайте как подкрутить чтобы получить нужное себе поведение, сам с этим компонентом не работал но исходя из кода вроде можно тулбар самому через https://github.com/primefaces/primeng/blob/master/src/app/components/editor/editor.ts#L90 задавать, а дальше пишите код  с учетом того как работает input при onPush
источник

SV

Sergey Vakhramov in Советский Angular
Примерно как-то так и я действовал)
источник

SV

Sergey Vakhramov in Советский Angular
Попутно матерясь, что выбрал эту ui-либу)
источник

ДБ

Дмитрий Берестовский... in Советский Angular
🤓
Бывает) Это наша доля))

Правда я не матерюсь (принципиально) и либу на этот проект тоже не я выбрал 🙃

Ничего, победить получится, я думаю 😉
источник

SV

Sergey Vakhramov in Советский Angular
Это печально, что большинство принимает говнокод как должное
источник

ДБ

Дмитрий Берестовский... in Советский Angular
Это согласен.

Но я не принимаю его как должное, просто бывает, что не всё от нас зависит (выбор либ или то, как он написаны, например), и надо уметь красиво выйти из ситуации 😉
источник

E

Ekaterina in Советский Angular
Не как должное, а как неизбежное
источник

П

Пёß Цифроwого Сопрот... in Советский Angular
а это как-то применимо кроме как к системному программированию?
источник

AS

Andrii Siuta in Советский Angular
@waterplea
selector: 'header[tuiDocHeader]',
tuiDocHeader чисто для Testing Сypress?
источник

SV

Sergey Vakhramov in Советский Angular
🌳 Улучшение Angular templates

Недавно собрали различные предложения по улучшению Angular templates. В ближайшем митинге их рассмотрят. Ниже я постарался собрать наиболее интересные предложения, если вы заинтересованы во внедрении этих фич думаю стоит зайти и проголосовать за них, или же написать отзывы в комменты.

К сведению, есть доклад как рассматривают различные PR в Angular Team: Angular Connect YouTube

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

Деструктуризация различных типов объектов: 38807


<div *ngFor="let { key as country, value as poi } of countryPoiMap | keyvalue">
  <div>{{ country.name }}</div>
  <div>{{ poi.name }}</div>
</div>


Оператор in в шаблонах 38560


<div *ngIf="'a' in item">
 I'm expecting item is no longer of type A | B, but only A
 {{item.a}}
</div>


Совместимость с ES Optional Chaining 34385
Как вы знаете эта фича в шаблонах, появилась задолго до того как фича была в спеке.
Например выражение a?.b в Angular означает null == a ? null : a.b по спеке же a == null ? undefined : a.b , ну и различные изменения в этом духе.


Внедрение директивы *ngLet 15280
Фичу ждем уже 5й год, посмотрим. Напомню, ее реализация есть в различных либах, таких как ngxs, rx-angular/templates, ngxf


<div *ngLet="userStream|async as user">...</div>


Input Output Spreads 14545

html
<my-component [prop1]="prop1" {...otherInputs} ></my-component>


Поддержка стрелочных функции 14129
Сомнительное предложение как по мне. Согласен с утверждением в коментах.


<select [compareWith]="(a, b) => a.id == b.id" [(ngModel)]="selectedCountries"> ...


Деструктуризация значений из *ngIf as 27555


<div *ngIf="thingAndOther$ | async as {thing, other}">


Cold event streams 13248
Предложение настолько устарело, что синтаксис компонентов еще с Angular 2 beta. Суть предложения, создать EventStream только в момент подписки, особенно ок для Output, и + не будет лишний раз дергать CD. В целом похож на одно из предложении из rx-angular/templates Так же в комментах указали на одну либу, пример:


<button (*click)="clicks$; $event = 'custom payload'">Click Me</button>



@Component({...})
export class MyComponent implements OnInit {
 @ObservableEvent()
 clicks$: Observable<any>;

 ngOnInit() {
   // we can either manually subscribe or use the async pipe
   this.clicks$.subscribe(console.log);
 }
}



Полный список предложений: 43485
источник

AI

Alex Inkin in Советский Angular
Не понял вопроса. Это компонент доки, он вешается на нативный тэг header.
источник

VS

Vladimir Stempel 👁🍵... in Советский Angular
что-то морозятся teespring)
источник

AI

Alex Inkin in Советский Angular
Что, поддержка игнорит?
источник