@macrostrat/column-components
Version:
React rendering primitives for stratigraphic columns
59 lines (52 loc) • 1.91 kB
JavaScript
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