
Иван
03.05.2018
15:18:21
У тебя апи на таком же домене как сам сайт?

Виктор
03.05.2018
15:19:02
нет

Иван
03.05.2018
15:19:06
Ну вот дочерняя страница у родительской какой-нибудь колбэк вызывает, передавая в него токен
Ща, сек

Google

Иван
03.05.2018
15:19:51
export function* authPopup(url) {
const win = window.open(url, '', 'toolbar=no, ' +
'location=no, directories=no, status=no, menubar=no, scrollbars=no, width=400, height=640')
let resp = null
//слушаем ответ
const listen = e => resp = (e.source === win) ? e.data : null
window.addEventListener('message', listen, false)
//каждые 100 мс смотрим, открыто ли окно и получен ли ответ
while (!(win.closed || resp)) {
//если нет, постим сообщение
win.postMessage({type:'_AUTH'}, '*')
yield delay(100)
}
//снимаем слушателя
window.removeEventListener('message', listen)
//закрываем окно и обрабатываем ответ
win.close()
return resp
}
Это со стороны родительского окна

Arsen
03.05.2018
15:21:14
А зачем каждых 100 мс это делать?????
Не проще ли всё в коллбек засунуть?

Иван
03.05.2018
15:21:44
Со стороны дочернего, соответственно, вот так
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event)
{
if (event.data.type === '_AUTH') {
event.source.postMessage(DATA, '*')
}
}

Arsen
03.05.2018
15:22:06
Ааа, теперь понял))

Иван
03.05.2018
15:22:23
Потому что если у тебя дочернее окно на другом домене, window opener недоступно

Виктор
03.05.2018
15:22:32
или я не прав?

Иван
03.05.2018
15:22:44
Можешь

Arsen
03.05.2018
15:23:07

Иван
03.05.2018
15:23:08
Без кода ты никак не передашь токен

Виктор
03.05.2018
15:23:37
спасибо, буду переваривать)

Google

Иван
03.05.2018
15:24:24
Кстати, это не точно, но вроде как такая метода единственно возможная, если бэкэнд уже где-то крутится, а ты к нему фронт на локалхосте делаешь
Потому что тогда хосты бэка и фронта совпадать не будут точно

Arsen
03.05.2018
15:25:19
Блин 2к18 уже, а до сих пор костылячить надо, чтоб работало

Иван
03.05.2018
15:26:02
А хуле вы хотели.

Миша
03.05.2018
15:26:11

Arsen
03.05.2018
15:27:01

Roman
03.05.2018
15:27:21

Иван
03.05.2018
15:27:26
Ну хоть может payment api заебашут как надо
Минус одна головная боль будет

Arsen
03.05.2018
15:27:34
Хотя на самом деле Майя предсказали, что в 2к18 программисты больше не будут нуждаться в костылях, но я вам этого не говорил

Иван
03.05.2018
15:27:49
Чо, ещё и руки всем отхуячат?)
А вообще, я тут коварный план составляю
Вернее, паттерн
Как упростить разработку фронта с графкулем до невозможности

Arsen
03.05.2018
15:28:45
Патентируй, пока Аппле не сделала это за тебя

Иван
03.05.2018
15:30:17
Ну если вкратце, штоп ты в одном файлике написал все гкл запросы, мутации и сабскрипшены (в одном - потому что пока импортов нет) и потом с помощью жестокой магии гкл и миддлвари все сущности с бэка у тебя сами в фронтовую бд запихивались
Но это требует ОРМ на фронте, да
Костыль - это руками все парсить

Google

Иван
03.05.2018
15:31:29
А всякие аполло-хуёло не позволяют нормально работать с данными
Получение из локального кеша-то у них есть, а вот никаких агрегаций не предусмотрено
Крч как у меня достаточно накопится понимания, зделою такое
Условно говоря - это что б когда ты делаешь dispatch('someAction') у тебя напрямую вызывалась мутация someAction, которая сразу в гкл файле написана
А пришедший от неё ответ сразу закидывался в нужный модуль вьюкса

Arsen
03.05.2018
15:34:50
Вы понимаете, о чём говорит этот человек?

Иван
03.05.2018
15:34:50
И дальше все по реактивности сразу само обновлялось

Arsen
03.05.2018
15:34:51
Я нет
Короче запилишь, кинешь линк, я звиздочку поставлю и попробую

Иван
03.05.2018
15:35:16
Мы, гении, постоянно сталкиваемся с непониманием окружающих)

Arsen
03.05.2018
15:35:45
Не, это мы, гении, часто не понимаем окружающих

Vadim
03.05.2018
15:36:00

Иван
03.05.2018
15:36:26

Arsen
03.05.2018
15:37:28
Это всё объясняет

Иван
03.05.2018
15:39:25
Но для редакса подобное делается не слишком сложно

Arsen
03.05.2018
15:40:10
Эт чо, вьюкс такой хитронаписанный?

Иван
03.05.2018
15:43:18

Arsen
03.05.2018
15:43:45
Ну, из твоего сообщения следует вывод что для вуэкса это сложнее

Google

Иван
03.05.2018
15:48:19

Sergey
03.05.2018
16:00:42
ребят кто пользуется идеей, как заставить её понимать аттрибуты типо slot-scope и модификатор например .trim ?

Alex
03.05.2018
16:01:20
ставишь vscode
profit

Michael
03.05.2018
16:01:38
?

Sergey
03.05.2018
16:02:26
ну что то не хочется переходить с идеи)

Alex
03.05.2018
16:02:55
инструмент должен соответствовать задаче

Sergey
03.05.2018
16:03:03
вот еще кстати нашел в оф доке такой пример..
http://joxi.ru/Y2L3zq5hn3gYQm
и зачем это вообще делают через слоты если можно просто в компоненте эту проверку сделать?

Иван
03.05.2018
16:05:06
Лол

Alex
03.05.2018
16:05:30
идея из коробки не заточена под современный фронт
а vscode да

Иван
03.05.2018
16:05:48
Ну хзхз

Alex
03.05.2018
16:05:51
если любишь допиливать - то проще уже вим осилить

Иван
03.05.2018
16:06:10
Вполне себе неплохо работает с современным фронтом

Sergey
03.05.2018
16:06:17
"как выйти из вима?" :D

Alex
03.05.2018
16:06:28
но не заточено

Иван
03.05.2018
16:06:34
:вку
Не понимаю чем она там заточена должна быть

Google

Alex
03.05.2018
16:07:33
свежий синтаксис с какой скоростью подхватывается?
если бы ты писал на том же ts-е то мы бы даже не обсуждали
jet brains очень запоздало обновляют хайлайтинг тса

Sergey
03.05.2018
16:08:25
vscode из коробки всё понимает, или что то нужно ему еще?

Иван
03.05.2018
16:08:32
Хз, я чет даже и не встречал что б синтаксис какой-то не поддерживала

Alex
03.05.2018
16:08:45
пакеты ставишь под язык и фреймворк нужный и забываешь
пишешь на своем dsl - легко написать плагин

Sergey
03.05.2018
16:09:03
может с идеей так же можно поступить?)

Alex
03.05.2018
16:09:17