wykrestest
Version:
Candlestick Chart made with Konva, React and Jotai
20 lines (19 loc) • 868 B
JavaScript
import { atom } from 'jotai';
import { filterFunc, updateDateBuckets, initDateArray } from './dateUtils';
import { dataAtom } from '../store';
//--------------------------DATEBUCKET
export const dateBucketsAtom = atom((get) => updateDateBuckets(get(dataAtom)));
//---------------------------DateArray
export const dateArrayAtom = atom([{ toggle: false, count: 0, data: [], bucket: 'idk', filterNum: 0, operator: '==', text: 'idk' }], (get, set) => {
const tempDA = initDateArray();
const dateBucket = get(dateBucketsAtom);
let runningCount = 0;
tempDA.forEach(item => {
const data = dateBucket[item.bucket];
const filteredData = filterFunc[item.operator](data, item.filterNum);
item.data = filteredData;
runningCount += filteredData.length;
item.count = runningCount;
});
set(dateArrayAtom, tempDA);
});