@chief-editor/runtime
Version:
React Runtime for Flow Editor
1 lines • 2.35 kB
JavaScript
;var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},__rest=this&&this.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]])}return r},__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(exports,"__esModule",{value:!0});var runtime_1=require("@chief-editor/runtime"),react_1=__importStar(require("react")),use_1=require("@rc-hooks/use"),layout_1=require("../util/layout"),RuntimeDispatcher_1=require("../components/RuntimeDispatcher");function useBrickInstance(e){var t=runtime_1.useRuntime(),r=use_1.useUpdate();use_1.useSafeInit((function(){return e.addListener("repaint",r),function(){return e.removeListener("repaint",r)}}));var n=react_1.useCallback((function(t,r){"string"!=typeof t?e.dispatchEvent(t.type,t.nativeEvent):e.dispatchEvent(t,r)}),[]),a=react_1.useCallback((function(t){e.setValue(t,!0),e.dispatchEvent("onChange",t)}),[]),s=react_1.useCallback((function(t,r,n){var a=e.getPart(t);return null==a?null:react_1.default.createElement(RuntimeDispatcher_1.RuntimeDispatcher,{node:a,className:n,style:r})}),[]),u=react_1.useCallback((function(t){return e.getDatasource(t)}),[]),i=react_1.useCallback((function(t){return e.getHook(t)}),[]),o=react_1.useCallback((function(t){return e.setState(t)}),[]),c=react_1.useCallback((function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.getByExpression.apply(e,t)}),[]),l=e.getInstance(),_=l.layout,p=l.styles,f=void 0===p?{}:p,y=l.env,v=__rest(l,["layout","styles","env"]),h=e.getBoardType(),g=e.isFloat();return __assign(__assign({},v),{layout:layout_1.getBrickLayout(_,h,g),env:t.env||y,styles:f,setValue:a,setState:o,dispatchEvent:n,renderPart:s,getDatasource:u,getHook:i,getByExpression:c})}exports.useBrickInstance=useBrickInstance;