Size: a a a

2020 July 03

AO

Aleksandr Osipov in ☄️ effector
Обычно же не хочется явно писать типы для параметров шаблонов
источник

TG

Timofey Goncharov in ☄️ effector
Есть 2 списка элементов ListA и ListB.
Элемент из ListA можно перенести в ListB.
Делается это с запросом на сервер.
Но если сервер кинул ошибку, то нужно вернуть все как было.
Теоритически какие есть идеи как это реализовать с минимумом трудозатрат.

Подумал о том, что бы сделать snapshot списка в момент начала запроса и если ошибка то вернуть все из снапшот.
Попробовал сделать sample
source: ListA
clock: MoveElementFx
target: ListASnapshot

Но понял что в ListASnapshot все дублируется сразу после перещемения, а снапшот то нужен был до того как произошло перемещение))
источник

AO

Aleksandr Osipov in ☄️ effector
Timofey Goncharov
Есть 2 списка элементов ListA и ListB.
Элемент из ListA можно перенести в ListB.
Делается это с запросом на сервер.
Но если сервер кинул ошибку, то нужно вернуть все как было.
Теоритически какие есть идеи как это реализовать с минимумом трудозатрат.

Подумал о том, что бы сделать snapshot списка в момент начала запроса и если ошибка то вернуть все из снапшот.
Попробовал сделать sample
source: ListA
clock: MoveElementFx
target: ListASnapshot

Но понял что в ListASnapshot все дублируется сразу после перещемения, а снапшот то нужен был до того как произошло перемещение))
Если не используется оптимистичная стратегия то переносить элемент после .done эффекта
источник

AO

Aleksandr Osipov in ☄️ effector
Если используется оптимистичная то возвращать обратно по .fail
источник

AO

Aleksandr Osipov in ☄️ effector
Хм, кажется мало данных для ответа
источник

🦜

🦜 in ☄️ effector
Aleksandr Osipov
Если не используется оптимистичная стратегия то переносить элемент после .done эффекта
Помню Дима показывал тут интересный пример по оптимистик
источник

🦜

🦜 in ☄️ effector
не найду только(
источник

AO

Aleksandr Osipov in ☄️ effector
🦜
Помню Дима показывал тут интересный пример по оптимистик
Да вроде было что-то такое давно
источник

FB

Furrya Black in ☄️ effector
Timofey Goncharov
Есть 2 списка элементов ListA и ListB.
Элемент из ListA можно перенести в ListB.
Делается это с запросом на сервер.
Но если сервер кинул ошибку, то нужно вернуть все как было.
Теоритически какие есть идеи как это реализовать с минимумом трудозатрат.

Подумал о том, что бы сделать snapshot списка в момент начала запроса и если ошибка то вернуть все из снапшот.
Попробовал сделать sample
source: ListA
clock: MoveElementFx
target: ListASnapshot

Но понял что в ListASnapshot все дублируется сразу после перещемения, а снапшот то нужен был до того как произошло перемещение))
Промежуточный listC?
источник

FB

Furrya Black in ☄️ effector
То есть listA стор с массивом, listB комбайн listProcessing и listDone, из первого во второй перекидывать на done, на фэйл ресетить, выводить в ui комбайн
источник

FB

Furrya Black in ☄️ effector
Сложна =D
источник

DS

Dmitriy Shuleshov in ☄️ effector
Timofey Goncharov
Есть 2 списка элементов ListA и ListB.
Элемент из ListA можно перенести в ListB.
Делается это с запросом на сервер.
Но если сервер кинул ошибку, то нужно вернуть все как было.
Теоритически какие есть идеи как это реализовать с минимумом трудозатрат.

Подумал о том, что бы сделать snapshot списка в момент начала запроса и если ошибка то вернуть все из снапшот.
Попробовал сделать sample
source: ListA
clock: MoveElementFx
target: ListASnapshot

Но понял что в ListASnapshot все дублируется сразу после перещемения, а снапшот то нужен был до того как произошло перемещение))
Листы этот сторы с массивами?
источник

TG

Timofey Goncharov in ☄️ effector
Dmitriy Shuleshov
Листы этот сторы с массивами?
ага
источник

AO

Aleksandr Osipov in ☄️ effector
Так тебе хочется чтобы были оптимистичные обновления стора (не дожидаясь ответа сервера) или нет?
источник

DS

Dmitriy Shuleshov in ☄️ effector
1. Делаем ивент перемещения элемента.
2. Правильно обрабатываем fx и fx.fail
источник

TG

Timofey Goncharov in ☄️ effector
Aleksandr Osipov
Так тебе хочется чтобы были оптимистичные обновления стора (не дожидаясь ответа сервера) или нет?
да, сразу что бы видеть результат действия.
но если ошибка, то возвращать элемент в список в котором он был изначально.
источник

AO

Aleksandr Osipov in ☄️ effector
Timofey Goncharov
да, сразу что бы видеть результат действия.
но если ошибка, то возвращать элемент в список в котором он был изначально.
хм, ну а что если в лоб решать задачу, вот прямо как есть, завести стор с оптимистичными обновлениями типа списка объектов [{type: 'remove', data: {...}}, {type: 'delete', data: '...'}], дале на вызов effect-та регигировать добавлением / удалением / обновлением элемента в основном сторе + заносить его в стор с pending обновлениями, а по effect.done/fail либо возстанавливать/удалять элемент или же по .done удалять его из списка pending
источник

AO

Aleksandr Osipov in ☄️ effector
блин сумбурно описал
источник

DS

Dmitriy Shuleshov in ☄️ effector
Aleksandr Osipov
хм, ну а что если в лоб решать задачу, вот прямо как есть, завести стор с оптимистичными обновлениями типа списка объектов [{type: 'remove', data: {...}}, {type: 'delete', data: '...'}], дале на вызов effect-та регигировать добавлением / удалением / обновлением элемента в основном сторе + заносить его в стор с pending обновлениями, а по effect.done/fail либо возстанавливать/удалять элемент или же по .done удалять его из списка pending
Чета сложна)
источник

AO

Aleksandr Osipov in ☄️ effector
ага
источник