Size: a a a

2020 October 21

L

Looch in ☄️ effector
Dmitriy Shuleshov
Каждая колонка и строка - это айдишник?
да
источник

L

Looch in ☄️ effector
просто там есть фильтры типа убрать все колонки у которых значение в ячейках допустим меньше 10
источник

L

Looch in ☄️ effector
или удаление значений по предикату, и короче в таких случаях это коненчо не очень оптимально
источник

L

Looch in ☄️ effector
ну вроде как самое сложное это построение такой таблицы это O(rows * columns), и тут вроде как проще никак не сделать
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Looch
коллеги сори вопрос не совсем в тему, короче есть такой мини аналог excel(двумерная таблица), как лучше хранить значение в ячейке ? я тут подумал над такой структурой стейта

{[rowId]:{[columnId]:value} и {[columnId]:{[rowId]:value}}, то есть держать в памяти всегда 2 мапы, одна с ключом по rowId а вторая по columnId
если в значениях мап будут лежать сами ячейки то придётся всё обновлять при апдейтах, я примерно в такой же ситуации сделал плоскую мапу и две мапы-индекса с указателями на основную
источник

L

Looch in ☄️ effector
🚀🔬 🚀🔬🚀🔬
если в значениях мап будут лежать сами ячейки то придётся всё обновлять при апдейтах, я примерно в такой же ситуации сделал плоскую мапу и две мапы-индекса с указателями на основную
да сейчас так и происходит, на любое изменение ячейки - нужно делать полное обновление таблицы
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Looch
да сейчас так и происходит, на любое изменение ячейки - нужно делать полное обновление таблицы
я скорее про то что синхронизировать две мапы неудобно
источник

L

Looch in ☄️ effector
🚀🔬 🚀🔬🚀🔬
я скорее про то что синхронизировать две мапы неудобно
да особенно при удалении, там целый гемор это делать, вот я и думал как бы можно сделать 1 мапу
источник

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
если в значениях мап будут лежать сами ячейки то придётся всё обновлять при апдейтах, я примерно в такой же ситуации сделал плоскую мапу и две мапы-индекса с указателями на основную
Работаешь с вспомогательными которые указывают на основную?
Если основная мутирует как апдейтишь вспомогательные?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Looch
да особенно при удалении, там целый гемор это делать, вот я и думал как бы можно сделать 1 мапу
values: {[uid]: value},
rows: {[rowId]: uid[]},
columns: {[columnId]: uid[]},
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
rows и columns это фактически индексы
источник

L

Looch in ☄️ effector
🚀🔬 🚀🔬🚀🔬
rows и columns это фактически индексы
ну вот у меня идет маппинг типа rows.map(({uuid,columns}) => {....}), как мне тут читать такую коллекцию ?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Dmitriy Shuleshov
Работаешь с вспомогательными которые указывают на основную?
Если основная мутирует как апдейтишь вспомогательные?
при обновлениях значения индексы не меняются, при удалениях/вставках — у значения есть обратные ссылки на индексы чтобы делать примерно так

rows[val.row].remove(val)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Looch
ну вот у меня идет маппинг типа rows.map(({uuid,columns}) => {....}), как мне тут читать такую коллекцию ?
а на что маппятся rows?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
то есть для чего это действие делается
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
я просто расцениваю индексы и мапу как единую сущность — так проще, но в общем случае это делается через комбайн
источник

L

Looch in ☄️ effector
🚀🔬 🚀🔬🚀🔬
а на что маппятся rows?
На строки в таблице, и в них уже происходи маппинг columns и я по сути обращаюсь потом relations[rowId][columnId], а вторая мапа мне нужна для некоторых фильтров
источник

c⁣

createStore<🦉>... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
values: {[uid]: value},
rows: {[rowId]: uid[]},
columns: {[columnId]: uid[]},
Во. Это прям хорошо выглядит
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Looch
На строки в таблице, и в них уже происходи маппинг columns и я по сути обращаюсь потом relations[rowId][columnId], а вторая мапа мне нужна для некоторых фильтров
combine(relations, rows, (relations, rows) => ...)

мап стора это по сути комбайн с одним стором и функцией, то есть если нужны значения из двух сторов — просто бери два)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
createStore<🦉> ⁣
Во. Это прям хорошо выглядит
у меня там только не два индекса а четырнадцать)
источник