UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

59 lines (52 loc) 1.91 kB
import {createContext as $5ObFd$createContext} from "react"; import {StatefulComponent as $5ObFd$StatefulComponent} from "@macrostrat/ui-components"; import $5ObFd$macrostrathyper from "@macrostrat/hyper"; const $c4c9d29bad410573$export$d35e93c5fa5279ad = (0, $5ObFd$createContext)({ facies: [], onColorChanged () {} }); class $c4c9d29bad410573$export$d3920cb1140b6284 extends (0, $5ObFd$StatefulComponent) { constructor(props){ super(props); this.state = { facies: props.initialFacies || [], __colorMap: {} }; this.getFaciesColor = this.getFaciesColor.bind(this); this.setFaciesColor = this.setFaciesColor.bind(this); } getFaciesColor(id) { const { __colorMap: __colorMap } = this.state; return __colorMap[id] || null; } setFaciesColor(id, color) { const ix = this.state.facies.findIndex((d)=>d.id === id); return this.updateState({ facies: { [ix]: { color: { $set: color } } } }); } render() { const { facies: facies } = this.state; const { children: children, ...rest } = this.props; const procedures = (()=>{ let getFaciesColor, setFaciesColor; return { getFaciesColor: getFaciesColor, setFaciesColor: setFaciesColor } = this; })(); const value = { facies: facies, ...procedures, ...rest }; return (0, $5ObFd$macrostrathyper)($c4c9d29bad410573$export$d35e93c5fa5279ad.Provider, { value: value }, children); } } export {$c4c9d29bad410573$export$d35e93c5fa5279ad as FaciesContext, $c4c9d29bad410573$export$d3920cb1140b6284 as FaciesProvider}; //# sourceMappingURL=column-components.f7477c12.js.map