UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

6 lines (5 loc) 1.17 kB
import{createContext as e,useState as o,useCallback as t,useEffect as r,useContext as n}from"react";import l from"immutability-helper";import a from"@macrostrat/hyper";function s(e,o,t,r){Object.defineProperty(e,o,{get:t,set:r,enumerable:!0,configurable:!0})}var d={};s(d,"ModelEditorContext",()=>i),s(d,"ModelEditorProvider",()=>c),s(d,"useModelEditor",()=>u);let i=e(null);function c(e){let{model:n,logUpdates:s=!1,children:d,alwaysConfirm:c=!1}=e;console.warn(`Using the ModelEditorContext from @macrostrat/column-components is deprecated. Please use the equivalent class from @macrostrat/ui-components instead.`);let[u,m]=o(n),f=()=>e.onConfirmChanges(u),b=t(()=>{n!=u&&(c&&null!=u&&(console.log("Confirming model changes"),f()),m(n))},[n]);r(()=>{b()},[n]);let p=t(function(e){let o=l(u,e);return s&&console.log(o),m(o)},[s,u]);return a(i.Provider,{value:{model:n,editedModel:u,updateModel:p,deleteModel:function(){return m(null),e.onDelete(n)},hasChanges:()=>n===u,revertChanges:b,confirmChanges:f}},d)}let u=()=>n(i);export{i as ModelEditorContext,c as ModelEditorProvider,u as useModelEditor}; //# sourceMappingURL=column-components.92a33294.js.map