@chief-editor/brick-control
Version:
Control Brick for chief editor
1 lines • 1.4 kB
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArrays=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var a=Array(e),n=0;for(t=0;t<r;t++)for(var i=arguments[t],o=0,c=i.length;o<c;o++,n++)a[n]=i[o];return a};import{CloseSmall}from"@chief-editor/icons";import{Link}from"@chief-editor/ui";import{getUniqueKey}from"@co-hooks/util";import{useRefCallback}from"@rc-hooks/use";import React from"react";export function VerticalRepeatBrick(e){var t=e.config.props.getInitItemData,r=e.styles,a=e.layout,n=e.creator,i=e.value,o=e.setValue,c=e.renderPart,l=e.getHook,s=e.env,f=l(t),u=useRefCallback((function(){o(i.concat(null==f?{}:f()))})),p=useRefCallback((function(e){var t=i.slice();t.splice(e,1),o(t)}));useRefCallback((function(e,t){if(e!==t){e<t&&t--;var r=i.slice();r.splice.apply(r,__spreadArrays([t,0],r.splice(e,1))),o(r)}}));return React.createElement("div",{"data-id":n,style:__assign(__assign({},r),a)},"flow"===s?i.map((function(e,t){var r=getUniqueKey(e);return React.createElement("div",{key:r},c(r),React.createElement(CloseSmall,{onClick:function(){return p(t)}}))})):c("template"),React.createElement(Link,{onClick:u},"新增"))}