Pull to refresh
92
0
Александр Инкин @Waterplea

Google Developer Expert | Angular

Send message

Верно. Можно вот это ещё почитать по теме:
https://habr.com/ru/companies/tbank/articles/756024/

Имеется в виду, что вот тут:

<my-custom-dropdown [content]="content">
  <button myDirective>Toggle dropdown</button>
</my-custom-dropdown>

если ты попробуешь в myDirective заинжектить myVisualDirective - ты не сможешь этого сделать, так как она во вьюхе my-custom-dropdown и инжектор от myDirective её не увидит. Поправлю в статье для ясности.

Верно, при этом CSS всё равно сматчится 👍

Это не имеет ровно никакого значения для вас, как для пользователей библиотеки:

  1. Глобальные стили подключаются в angular.json, там можно в перемешку использовать LESS, SCSS и CSS

  2. Стили в компонентах всё равно скомпилированные и вы до них доступа не имеете

  3. Миксины поставляются как в LESS так и в SCSS, так что их можно использовать в любых проектах

Это ты набрёл на косяк документации, который вчера зарепортили, а сегодня кто-то из сообщества уже любезно его поправил. Спасибо open source :)

Когда всё перепишем на новые текстфилды – будет побольше, наверное. Но там будет всё ровно как с нативным инпутом:

<tui-textfield>
  <input tuiTextfield [maskito]="mask" />
</tui-textfield>

В этом нет особого смысла, так как мы планируем продолжать держаться LTS версии Angular, чтобы люди могли пользоваться Taiga UI не переходя на самую свежую версию фреймворка. Taiga UI 3 работает и на Angular 18, разве что с zoneless там проблемы и, возможно, с новой гидрацией в SSR. Все эти проблемы точно будут исправляться в Taiga UI 4, так как она теперь основная, но в любом случае тайгой можно пользоваться как на свежем Ангуляре, так и на 16.

Мы любим Ангуляр

Привет! Спасибо на добром слове ? Я бы организовал такую ситуацию через общий Observable сервис, объявленный где-то сверху, чтобы у всех необходимых view был до него доступ и через него бы обновлял всё, что надо обновить. Другой вариант — делать у компонентов публичный метод refresh, достукиваться как-то до них и вызывать его. Стоит отметить, что через @View/ContentChild(ren) достучаться сразу до ChangeDetectorRef через read нельзя:
https://github.com/angular/angular/issues/34347

Когда кнопки «торчат» наружу — не придётся всё переделывать, если дизайнеры решат добавить к вкладкам иконки или отображать количество непрочитанных сообщений. Связывание компонентов это не плохо, даталист и опции — части одного целого, просто организованы гибко, чтобы у пользователя была свобода отображения.

Да, мы планировали использовать её как «источник истины» для определения международных форматов, когда будем делать полноценное дополнение к Maskito для телефонных номеров.

Вот как раз для того, чтобы такого не было, а было одно централизованное хорошее решение с выделенными ответственными людьми и была создана библиотека, которая упоминается в конце статьи :) Кроме того, она будет в open source и, надеюсь, пригодится не только нам. Но сначала надо её доделать и внедрить.

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

У нас в Тинькофф принято работать с форматом +XXXXXXXXXX, а выводить отформатированным. Разумеется 8 автозаменяется на +7 и при написании, и при вставке/дропе, и при автофилле. Как и все посторонние символы вроде пробелов и дефисов заменяются на заданный формат.

Красиво отформатированный ввод, если он сделан корректно, создаёт у пользователя ощущение опрятности интерфейса, помогает ему сверить значение (например разделение тысяч пробелом при форматировании суммы), не препятствует вводу и исправляет ошибки (например, если забыл переключить язык и набираешь точку/запятую/ю/б при вводе копеек). То, что это сложно сделать хорошо не повод отказываться от преимуществ, которые это даёт продукту. Наше дело, как фронтендеров, дать пользователю интерфейс, решающий его задачу настолько хорошо, насколько мы можем. Будем стараться!

На странице просто базовый международный пример, который не хотелось усложнять, так как 8/+7 чисто русская тема. Когда выпустим maskito 1.0 и начнём на него переходить, то обязательно всё это учтём :)

Спасибо за подсвеченные моменты. К версии 1.0.0 обязательно поправим!

С момента написания статьи позиция команды Angular поменялась на то, что markDirty они пока не планируют в публичный API выносить. Можно импортнуть как приватный API в виде ɵmarkDirty.

Пока точных планов о выходе реакт версии в opensource я назвать не могу.

Там всё на токенах глобальных объектов отсюда:

https://github.com/ng-web-apis/common

Под SSR нужно подключить вот это:

https://github.com/ng-web-apis/universal

Для пользователя всё будет очень прозрачно. Если потребуется добавить нативные атрибуты, то можно будет написать так:

<tui-input formControlName="email">
  Type an email
  <input tuiTextfield placeholder="mail@mail.ru" type="email" />
</tui-input>

Старый вариант также останется возможен, если ничего навешивать не нужно.

Подобный формат появится в следующем релизе 2.33.0, 7 февраля.

Добавил blur на клик :)

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Frontend Developer, Web Developer
Lead
From 1,000,000 ₽
Angular
JavaScript
TypeScript
Web development
CSS
HTML
LESS