
Sergey
11.01.2017
09:12:10
подскажите, что сейчас надо почитать/посмотреть, чтобы отлично въехать в ng2 и rx?
и бест практисес, кукбуки или что-то в этом духе

Gleb
11.01.2017
09:23:53
exmaple-app
https://github.com/ngrx/example-app

Google

Gleb
11.01.2017
09:24:47
ой показалось ngrx =)
Я как то спрашивал, но все же попытаю еще раз счастье, подскажите как сторить сущности с составным ключом?
То есть сущностей у которых нет своего id(КЭП)

Иван
11.01.2017
10:14:34
строить где?
в базе?

Taras
11.01.2017
10:15:14
Есть ли способ динамически или на етапе сборки подменить компонент на overriden компонент?
Например, есть папка с имплементацией компонента my-button
my-button
my-button.component.ts
my-button.component.scss
my-button.component.html
my-button.component.nl.ts
my-button.component.nl.scss
my-button.component.nl.html
Если запустить приложение с флагом --market=nl, то берется имплементация с файов *.component.nl.*, иначе - дефолтная имплементация.
с сервисами просто - можна использовать useFactory в providers
а для компонентов не хочется везде писать *ngIf с одним и тем же условием

Gleb
11.01.2017
10:32:59
не строить
сторить
в store в смысле
ну то есть ттам обычно списки же хранятся в объекте по ключу
а если ключ составной

Google

Nikita
11.01.2017
10:43:02

Gleb
11.01.2017
10:46:43
ну то есть в таком и приходят
someEntity1Id
someEntity2Id
fieldN
примерно так
ну и сами сущности, но они в отдельных стейтах
3 стейта, someEntity1 - 1, someEntity2- 2 , и вот этот с complex pk - 3

Nikita
11.01.2017
11:05:21
тогда так и хранить как приходят, можно конечно написать свою реализацию map и хранить её, но если нужно сереализация/десереализация то делать текстовае представление к виду json приходящего с сервера

Gleb
11.01.2017
11:22:35
ну то есть списоком а не в объекте?

JeeSuuSiiTooH! <3
11.01.2017
12:14:24
Anyone can help me about files in a form?

Таир
11.01.2017
12:34:42

JeeSuuSiiTooH! <3
11.01.2017
12:35:13
Oh, sorry, I was looking for a angular2 group which speaks english
but i came across with this

Dima
11.01.2017
12:50:26

JeeSuuSiiTooH! <3
11.01.2017
12:50:38
Nope,

Dima
11.01.2017
12:51:08
lol what are you going to do with files in form? ))

JeeSuuSiiTooH! <3
11.01.2017
12:53:53
in my register form
i want to save a picture from the user

Dima
11.01.2017
12:54:37
save where?

JeeSuuSiiTooH! <3
11.01.2017
12:56:02
in my server ?

Таир
11.01.2017
12:56:47

JeeSuuSiiTooH! <3
11.01.2017
12:57:13
do i really need to do it using ajax?

Google

JeeSuuSiiTooH! <3
11.01.2017
12:57:31
can't i do it using a normal form?

Dima
11.01.2017
12:57:54
or, if you do not create SPA and can reload the page you need just to add url in action form

Таир
11.01.2017
12:57:57

JeeSuuSiiTooH! <3
11.01.2017
12:58:50
Im using Angular2 as frontend for my project jaja

Таир
11.01.2017
12:59:45
something like this might help https://www.npmjs.com/package/angular2-http-file-upload

JeeSuuSiiTooH! <3
11.01.2017
13:02:50
really?
i save the pictures in entity in my db
who references to a user

Таир
11.01.2017
13:04:09
or this http://stackoverflow.com/a/39862337/808237

Dima
11.01.2017
13:05:03

Igor
11.01.2017
13:05:47
Also you can use something like this https://uploadcare.com/

Dima
11.01.2017
13:11:55
or u can just listen native browser change event on input[type=file] control with component's method and path $event to it as argument. $event.target.files will be with chosen file(s)

JeeSuuSiiTooH! <3
11.01.2017
13:16:36
Ok i will try

Dima
11.01.2017
13:20:43
<input #newGroupImage type="file" id="new-group-avatar-upload" (change)="handleInputChange($event)">
handleInputChange(e) {
const file = e.dataTransfer ? e.dataTransfer.files[0] : e.target.files[0];
.....
}

Алихей
11.01.2017
13:24:56
Добрый день.
Искал простейший датапикер.
Не нашел и решил написать сам, ну как полагается)))
Но возник вопрос.
я создаю директиву типа:
<input [datapiker] type="text">
И в случае если получаю фокус хочу показывать под ним компонент календарика.Добавляя его динамически.
Но возникла проблема, что не знаю как добавлять рабочий компонент, прямо в шаблон.
<input [datapiker] type="text">
<data-piker></data-piker>
Как вставить его и что бы он был рабочим?
Есть какие нибудь идеи?
Заранее спасибо.

Таир
11.01.2017
13:26:01

Алихей
11.01.2017
13:27:09
Если его вставить через innerHTML то он вставится как html текст, но нужно что бы компонент <data-piker></data-piker>
обрабатывался ангуляром

Таир
11.01.2017
13:27:55
смотрите пример того, как вставляют модалки, которые появляются по запросу
ng2-bootstrap например

Google

Таир
11.01.2017
13:31:04
в шаблон вы ничего не можете вставлять
но можно управлять DOMом напрямую в директиве
но туда нельзя вставлять компоненты кажется, просветите, кто в курсе?
придется делать на голом html

Алихей
11.01.2017
13:32:56
Вот это и печально, хотелось вынести логику календаря в отдельный компонент.
И что бы подключение директивы было бы простейшим

Таир
11.01.2017
13:33:03
например, jquery-шные плагины неплохо так можно вставлять и удалять программно
логику календаря нужно обрабатывать в самой директиве, которая отвечает за это
она для этого и нужна
со вторым ангуляром это намного проще чем с первым
я обычно беру какую нить либу с сети и оборачиваю в директиву. за отрисовку отвечает либа, за передачу событий и чистку отвечает директива

Алихей
11.01.2017
13:42:04
Много лишнего кода, надеялся что можно сделать проще)))
Спасибо)

Таир
11.01.2017
13:42:38
в смысле, не хотите тащить лишнюю зависимость?
мой совет: забудьте про синтаксис xhtml, оборачивайте код в функции а не кастомные дом-элементы
проблема всего лишь в том, что ангуляр не позволяет кастомные элементы вставлять в ДОМ. кроме эстетики, кастомные элементы ничего не дают ведь, если вдуматься

Алихей
11.01.2017
13:51:19
Ну, тут я не согласен.
Данные и логика выделяется в отдельный компонент, и если его внешне не связывать то он сам по себе. И это дает большой простор для фантазии.

Таир
11.01.2017
13:51:46
ну синтаксис тут при чем?
то, что вы хотите вставить <date-picker/> — ИМХО, это вопрос синтаксиса
с точки зрения ангуляра <date-picker/> в шаблоне — это не есть компонента
это шаблон, который компилируется в набор манипуляций с ДОМом
а компонента — это набор ЖСного кода

Google

Алихей
11.01.2017
13:54:28
Да, ладно. Спасибо за разьяснение. Если найду какое то решение, отпишу.

Таир
11.01.2017
13:54:31
классы и функции

Dima
11.01.2017
14:00:44

Alexey
11.01.2017
14:18:50
зачем делать компонент директивой если он подразумевает свой собственный шаблон?
для этого компоненты созданы
нужно делать <my-datepicker [(ngModel)]="..."></my-datepicker>
который будет имплементировать интерфейс ngModel

Алихей
11.01.2017
14:20:16
1) Для простоты подключений пользователем
2) Инпуты имеют свой стиль и компонент который его заменяет не всегда стыкуется

Alexey
11.01.2017
14:20:54
так сделайте внутри своего компонента input
с возможностью через проперти задавать класс
или пробрасывать в него классы которые вешаются на <my-datepicker class="some-class">
не надо из-за тонкостей стилизации делать неправильную архитектуру
datepicker должен быть компонентом я считаю
а не диирективой

Таир
11.01.2017
14:24:36
вообще, как-то сидел думал, какие плюсы минусы директив-оберток вокруг всяких хайчартсов и тп. против компонент.
так и не придумал ничего
Эта группа больше не существует