@next-bricks/advanced 0.41.12 → 0.41.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/bricks.json +7 -7
  2. package/dist/chunks/2197.ef956fe4.js +2 -0
  3. package/dist/chunks/{2197.593617c5.js.map → 2197.ef956fe4.js.map} +1 -1
  4. package/dist/chunks/{2252.8ec8961c.js → 2252.2ee01eff.js} +3 -3
  5. package/dist/chunks/{2252.8ec8961c.js.map → 2252.2ee01eff.js.map} +1 -1
  6. package/dist/chunks/{4837.96aecc22.js → 4837.0be96c7e.js} +2 -2
  7. package/dist/chunks/{4837.96aecc22.js.map → 4837.0be96c7e.js.map} +1 -1
  8. package/dist/chunks/5479.62aed2ac.js +2 -0
  9. package/dist/chunks/{5479.9b7d0453.js.map → 5479.62aed2ac.js.map} +1 -1
  10. package/dist/chunks/5582.97ff011a.js +3 -0
  11. package/dist/chunks/5582.97ff011a.js.map +1 -0
  12. package/dist/chunks/{7218.8b312b5e.js → 7218.c2fb2b5d.js} +2 -2
  13. package/dist/chunks/{7218.8b312b5e.js.map → 7218.c2fb2b5d.js.map} +1 -1
  14. package/dist/chunks/{capture-snapshot.c76bbc68.js → capture-snapshot.af2314ee.js} +2 -2
  15. package/dist/chunks/{capture-snapshot.c76bbc68.js.map → capture-snapshot.af2314ee.js.map} +1 -1
  16. package/dist/chunks/eo-cascader.2552e9e8.js +2 -0
  17. package/dist/chunks/{eo-cascader.f7b1b4e6.js.map → eo-cascader.2552e9e8.js.map} +1 -1
  18. package/dist/chunks/eo-table.e9af090f.js +2 -0
  19. package/dist/chunks/{eo-table.f4b77ec5.js.map → eo-table.e9af090f.js.map} +1 -1
  20. package/dist/chunks/eo-tree-select.dd702aca.js +2 -0
  21. package/dist/chunks/{eo-tree-select.a78fccd0.js.map → eo-tree-select.dd702aca.js.map} +1 -1
  22. package/dist/chunks/{eo-tree.9e4405ad.js → eo-tree.55037e2d.js} +3 -3
  23. package/dist/chunks/{eo-tree.9e4405ad.js.map → eo-tree.55037e2d.js.map} +1 -1
  24. package/dist/chunks/eo-workbench-layout-v2.6dc2ef3c.js +2 -0
  25. package/dist/chunks/{eo-workbench-layout-v2.d0b777ab.js.map → eo-workbench-layout-v2.6dc2ef3c.js.map} +1 -1
  26. package/dist/chunks/eo-workbench-layout.32aff942.js +2 -0
  27. package/dist/chunks/{eo-workbench-layout.aaaf423d.js.map → eo-workbench-layout.32aff942.js.map} +1 -1
  28. package/dist/chunks/{main.3d43f4c6.js → main.fa0bd350.js} +2 -2
  29. package/dist/chunks/{main.3d43f4c6.js.map → main.fa0bd350.js.map} +1 -1
  30. package/dist/examples.json +3 -3
  31. package/dist/{index.64507700.js → index.747f771e.js} +2 -2
  32. package/dist/{index.64507700.js.map → index.747f771e.js.map} +1 -1
  33. package/dist/manifest.json +124 -124
  34. package/dist/types.json +434 -434
  35. package/package.json +2 -2
  36. package/dist/chunks/2197.593617c5.js +0 -2
  37. package/dist/chunks/4411.8987503d.js +0 -3
  38. package/dist/chunks/4411.8987503d.js.map +0 -1
  39. package/dist/chunks/5479.9b7d0453.js +0 -2
  40. package/dist/chunks/eo-cascader.f7b1b4e6.js +0 -2
  41. package/dist/chunks/eo-table.f4b77ec5.js +0 -2
  42. package/dist/chunks/eo-tree-select.a78fccd0.js +0 -2
  43. package/dist/chunks/eo-workbench-layout-v2.d0b777ab.js +0 -2
  44. package/dist/chunks/eo-workbench-layout.aaaf423d.js +0 -2
  45. /package/dist/chunks/{2252.8ec8961c.js.LICENSE.txt → 2252.2ee01eff.js.LICENSE.txt} +0 -0
  46. /package/dist/chunks/{4411.8987503d.js.LICENSE.txt → 5582.97ff011a.js.LICENSE.txt} +0 -0
  47. /package/dist/chunks/{eo-tree.9e4405ad.js.LICENSE.txt → eo-tree.55037e2d.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_advanced=globalThis.webpackChunk_next_bricks_advanced||[]).push([[771],{20504:(e,t,r)=>{r.r(t),r.d(t,{EoWorkbenchLayoutComponent:()=>ne,EoWorkbenchLayoutV2:()=>oe});var a,i=r(74635),n=r(70918),o=r(26902),s=r(5536),l=r(86121),c=r(70829),d=r(62740),p=r(18769),u=r.n(p),h=r(65821),m=r(79476),g=r(52681),b=r(17549),f=r(6055),y=r(45833),v=(r(76477),r(72465));let A,k,w,x,z,M,W,I,E,L,C,D,B,T,N,R,P,O,H,S,Z,j,U,Q,X,Y,q,G;r(78259);const{defineElement:K,property:_,event:F,method:J}=(0,h.createDecorators)(),$=(0,m.wrapBrick)("eo-button"),V=(0,m.wrapBrick)("eo-dropdown-button",{onActionClick:"action.click"}),ee=(0,m.wrapBrick)("eo-icon"),te=(0,m.wrapBrick)("eo-checkbox",{onChange:"change"}),re=(0,g.unwrapProvider)("basic.show-dialog"),ae=e=>null!=e&&e.includes(":")?e.split(":")[0]:e,{isAdmin:ie}=f.auth.getAuth(),ne=(0,p.forwardRef)((function(e,t){let{cardTitle:r="卡片列表",layouts:a,toolbarBricks:i,componentList:n=[],isEdit:o,onChange:s,onSave:l,onCancel:c,onActionClick:d}=e;const h=(0,p.useMemo)((()=>(0,y.WidthProvider)(y.Responsive)),[]),m=(0,p.useRef)(null),g=(0,p.useRef)(null),f=(0,p.useRef)(null!=a?a:[]),[A,k]=(0,p.useState)(f.current),[w,x]=(0,p.useState)(3),[z,M]=(0,p.useState)(),W=(0,p.useCallback)((e=>{f.current=e,k(e)}),[]);(0,p.useImperativeHandle)(t,(()=>({setLayouts:W})));const I=(0,p.useCallback)((e=>{W(e),null==s||s(e)}),[s,W]),E=(0,p.useCallback)((e=>{if(!o)return;let t=!0;for(let a=0;a<e.length;a++){const{x:i,w:n,y:o,h:s,i:l,minH:c}=e[a];if(n>1&&i>0){t=!1;break}if(1===n&&i<2){const t=e.find((e=>e.i!==l&&1===e.w&&e.y===o&&i<2));var r;t&&(e[a].minH=null!==(r=e[a].minH)&&void 0!==r?r:s,e[a].h=Math.max(t.h,s))}else e[a].h=null!=c?c:s,e[a].minH=void 0}I(t?e:f.current.map((e=>{const{w:t,i:r}=e,a=`${ae(r)}:${Math.random()}`;let i=e.x;return t>1&&i>0&&(i=0),{...e,x:i,i:a}})))}),[I,o]),L=(0,p.useCallback)((e=>{const t=e.detail.map((e=>e.value)),r=A.map((e=>ae(e.i))),a=e.detail.filter((e=>!r.includes(e.key))).map((e=>({...e.position,x:e.w>1?0:2*A.length%w,y:1/0})));I(A.filter((e=>t.includes(ae(e.i)))).concat(a))}),[A,I,w]),C=()=>{I([])},D=(0,p.useCallback)((()=>{null==l||l(A.map((e=>({...e,i:ae(e.i)}))))}),[A,l]),B=(0,p.useCallback)(((e,t)=>{var r;e.stopPropagation(),I(null!==(r=A.filter((e=>ae(e.i)!==t.key)))&&void 0!==r?r:[])}),[I,A]),T=e=>{e.preventDefault()},N=(0,p.useMemo)((()=>A.map((e=>{var t;const r=n.find((t=>t.key===ae(e.i)));return r?u().createElement("div",{key:e.i,"data-grid":{...null!==(t=r.position)&&void 0!==t?t:{},...e},style:r.style,className:"drag-box"},o&&u().createElement("div",{className:v.A.editMask,onMouseDown:T}),u().createElement(b.ReactUseBrick,{useBrick:r.useBrick}),o&&u().createElement(ee,{icon:"delete",lib:"antd",className:v.A.deleteIcon,onClick:e=>B(e,r)})):null})).filter(Boolean)),[n,B,A,o]),R=(0,p.useMemo)((()=>n.map((e=>({...e,label:e.title,value:e.key})))),[n]),P=(0,p.useMemo)((()=>A.map((e=>ae(e.i)))),[A]),O=(0,p.useCallback)((()=>{if(g&&o){var e,t;const{top:r}=null!==(e=null===(t=g.current)||void 0===t||null===(t=t.getClientRects())||void 0===t?void 0:t[0])&&void 0!==e?e:{};void 0!==r&&M({height:document.body.clientHeight-r,overflow:"scroll"})}}),[o]);return(0,p.useEffect)((()=>{if(o)return O(),W(a||[]),window.addEventListener("resize",O),()=>{window.removeEventListener("resize",O)}}),[o,O,a,W]),u().createElement("div",{className:v.A.gridLayoutWrapper,ref:m},o&&u().createElement("div",{className:v.A.componentWrapper},u().createElement("div",{className:v.A.componentTitle},r),u().createElement("div",{className:v.A.componentList},u().createElement(te,{options:R,value:P,onChange:L}),(null==i?void 0:i.useBrick)&&u().createElement(b.ReactUseMultipleBricks,{useBrick:i.useBrick}))),u().createElement("div",{className:v.A.layoutWrapper,ref:g,style:z},o&&u().createElement("div",{className:v.A.actionsWrapper},u().createElement($,{type:"primary",onClick:D},"保存"),u().createElement($,{onClick:()=>{null==c||c()}},"取消"),u().createElement(V,{btnText:"更多",icon:{lib:"antd",icon:"down"},actions:[...ie?[{text:"另存为模板",event:"saveAsTemplate"}]:[],{text:"从模版加载",event:"loadFromTemplate"},{text:"清空所有",danger:!0,event:"clear"}],onActionClick:e=>{(e=>{const{event:t}=e;"clear"===t?re({type:"confirm",title:"清空确认",content:"将清空所有卡片,从零开始编辑,该操作无法撤回。"}).then(C):null==d||d(e,(null!=A?A:[]).map((e=>({...e,i:ae(e.i)}))))})(e.detail)},"data-testid":"edit-layout-actions"})),u().createElement(h,{className:v.A.layout,draggableCancel:`.${v.A.deleteIcon},.edit-actions,.ignore-item`,breakpoints:{lg:1300,md:1024,sm:768},rowHeight:1,cols:{lg:3,md:3,sm:o?3:1},isResizable:!1,isDraggable:o,onDrag:(e,t,r)=>{var a;const i=null===(a=m.current)||void 0===a?void 0:a.querySelector(".react-grid-placeholder");i&&(r.w>1&&r.x>0?!i.classList.contains("forbidden")&&i.classList.add("forbidden"):i.classList.contains("forbidden")&&i.classList.remove("forbidden"))},onLayoutChange:E,onBreakpointChange:(e,t)=>{x(t)}},N)))}));let oe;var se=new WeakMap,le=new WeakMap,ce=new WeakMap,de=new WeakMap,pe=new WeakMap,ue=new WeakMap,he=new WeakMap,me=new WeakSet,ge=new WeakMap,be=new WeakMap,fe=new WeakMap,ye=new WeakMap,ve=new WeakMap,Ae=new WeakMap,ke=new WeakMap;class we extends m.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,me),(0,n.A)(this,se,(A(this),(0,p.createRef)())),(0,n.A)(this,le,w(this)),(0,n.A)(this,ce,(x(this),z(this))),(0,n.A)(this,de,(M(this),W(this))),(0,n.A)(this,pe,(I(this),E(this))),(0,n.A)(this,ue,(L(this),C(this))),(0,n.A)(this,he,(D(this),B(this))),(0,n.A)(this,ge,(R(this),e=>{(0,s.A)(me,this,T).emit(e)})),(0,n.A)(this,be,P(this)),(0,n.A)(this,fe,(S(this),e=>{(0,s.A)(me,this,O).emit(e)})),(0,n.A)(this,ye,Z(this)),(0,n.A)(this,ve,(Q(this),()=>{(0,s.A)(me,this,j).emit()})),(0,n.A)(this,Ae,X(this)),(0,n.A)(this,ke,(G(this),(e,t)=>{(0,s.A)(me,this,Y).emit({action:e,layouts:t}),e.event&&this.dispatchEvent(new CustomEvent(e.event,{detail:t}))}))}get cardTitle(){return(0,c.A)(le,this)}set cardTitle(e){(0,l.A)(le,this,e)}get isEdit(){return(0,c.A)(ce,this)}set isEdit(e){(0,l.A)(ce,this,e)}get layouts(){return(0,c.A)(de,this)}set layouts(e){(0,l.A)(de,this,e)}get toolbarBricks(){return(0,c.A)(pe,this)}set toolbarBricks(e){(0,l.A)(pe,this,e)}get componentList(){return(0,c.A)(ue,this)}set componentList(e){(0,l.A)(ue,this,e)}setLayouts(e){var t;null===(t=(0,c.A)(se,this).current)||void 0===t||t.setLayouts(e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return u().createElement(ne,{cardTitle:this.cardTitle,layouts:this.layouts,toolbarBricks:this.toolbarBricks,componentList:this.componentList,isEdit:this.isEdit,onChange:(0,c.A)(ge,this),onSave:(0,c.A)(fe,this),onCancel:(0,c.A)(ve,this),onActionClick:(0,c.A)(ke,this),ref:(0,c.A)(se,this)})}}a=we,({e:[w,x,z,M,W,I,E,L,C,D,B,T,N,R,P,O,H,S,Z,j,U,Q,X,Y,q,G,A],c:[oe,k]}=(0,d.A)(a,[K("eo-workbench-layout-v2",{shadowOptions:!1})],[[_(),1,"cardTitle"],[_({type:Boolean}),1,"isEdit"],[_({attribute:!1}),1,"layouts"],[_({attribute:!1}),1,"toolbarBricks"],[_({attribute:!1}),1,"componentList"],[F({type:"change"}),1,"changeEvent",e=>(0,c.A)(he,e),(e,t)=>(0,l.A)(he,e,t)],[F({type:"save"}),1,"saveEvent",e=>(0,c.A)(be,e),(e,t)=>(0,l.A)(be,e,t)],[F({type:"cancel"}),1,"cancelEvent",e=>(0,c.A)(ye,e),(e,t)=>(0,l.A)(ye,e,t)],[F({type:"action.click"}),1,"actionClickEvent",e=>(0,c.A)(Ae,e),(e,t)=>(0,l.A)(Ae,e,t)],[J(),2,"setLayouts"]],0,(e=>ke.has((0,o.A)(e))),m.ReactNextElement)),k()},85689:(e,t,r)=>{r.d(t,{A:()=>d});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(87796),l=r(37564),c=o()(i());c.i(s.A),c.i(l.A),c.push([e.id,".react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}",""]);const d=c},87796:(e,t,r)=>{r.d(t,{A:()=>s});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n)()(i());o.push([e.id,'.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}',""]);const s=o},37564:(e,t,r)=>{r.d(t,{A:()=>u});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(20062),l=r.n(s),c=new URL(r(59224),r.b),d=o()(i()),p=l()(c);d.push([e.id,`.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${p});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`,""]);const u=d},89739:(e,t,r)=>{r.d(t,{A:()=>s});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n)()(i());o.push([e.id,".gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:170px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:6px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{max-width:1300px;margin:0 auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .editMask--ql2wriZf{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:hover{color:var(--color-error)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:active{color:var(--color-error-active)}",""]),o.locals={gridLayoutWrapper:"gridLayoutWrapper--DIttynOM",componentWrapper:"componentWrapper--P8xsKOQP",componentTitle:"componentTitle--nKf9GEoj",componentList:"componentList--s3XnAYsB",layoutWrapper:"layoutWrapper--pk1t3UAR",layout:"layout--kz28taJj",actionsWrapper:"actionsWrapper--vQro2Dyn",editMask:"editMask--ql2wriZf",deleteIcon:"deleteIcon--IjEzXZqc"};const s=o},78259:(e,t,r)=>{var a=r(72591),i=r.n(a),n=r(1740),o=r.n(n),s=r(88128),l=r.n(s),c=r(30855),d=r.n(c),p=r(93051),u=r.n(p),h=r(73656),m=r.n(h),g=r(85689),b={};b.styleTagTransform=m(),b.setAttributes=d(),b.insert=l().bind(null,"head"),b.domAPI=o(),b.insertStyleElement=u(),i()(g.A,b),g.A&&g.A.locals&&g.A.locals},72465:(e,t,r)=>{r.d(t,{A:()=>f});var a=r(72591),i=r.n(a),n=r(1740),o=r.n(n),s=r(88128),l=r.n(s),c=r(30855),d=r.n(c),p=r(93051),u=r.n(p),h=r(73656),m=r.n(h),g=r(89739),b={};b.styleTagTransform=m(),b.setAttributes=d(),b.insert=l().bind(null,"head"),b.domAPI=o(),b.insertStyleElement=u(),i()(g.A,b);const f=g.A&&g.A.locals?g.A.locals:void 0},72591:e=>{var t=[];function r(e){for(var r=-1,a=0;a<t.length;a++)if(t[a].identifier===e){r=a;break}return r}function a(e,a){for(var n={},o=[],s=0;s<e.length;s++){var l=e[s],c=a.base?l[0]+a.base:l[0],d=n[c]||0,p="".concat(c," ").concat(d);n[c]=d+1;var u=r(p),h={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==u)t[u].references++,t[u].updater(h);else{var m=i(h,a);a.byIndex=s,t.splice(s,0,{identifier:p,updater:m,references:1})}o.push(p)}return o}function i(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,i){var n=a(e=e||[],i=i||{});return function(e){e=e||[];for(var o=0;o<n.length;o++){var s=r(n[o]);t[s].references--}for(var l=a(e,i),c=0;c<n.length;c++){var d=r(n[c]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}n=l}}},88128:e=>{var t={};e.exports=function(e,r){var a=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(r)}},93051:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},30855:(e,t,r)=>{e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},1740:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var a="";r.supports&&(a+="@supports (".concat(r.supports,") {")),r.media&&(a+="@media ".concat(r.media," {"));var i=void 0!==r.layer;i&&(a+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),a+=r.css,i&&(a+="}"),r.media&&(a+="}"),r.supports&&(a+="}");var n=r.sourceMap;n&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(n))))," */")),t.styleTagTransform(a,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},73656:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},59224:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+"},5536:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(12559);function i(e,t,r){return r((0,a.A)(e,t))}},74635:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(72016);function i(e,t){(0,a.A)(e,t),t.add(e)}}}]);
2
+ //# sourceMappingURL=eo-workbench-layout-v2.6dc2ef3c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/eo-workbench-layout-v2.d0b777ab.js","mappings":"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","sources":["webpack:///./src/workbench-layout-v2/index.tsx","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/react-grid-layout/css/styles.css","webpack:///../../node_modules/react-resizable/css/styles.css","webpack:///./src/workbench-layout-v2/styles.module.css","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js"],"sourcesContent":["import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n ReactUseBrick,\n ReactUseMultipleBricks,\n} from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type {\n Checkbox,\n CheckboxOptionType,\n CheckboxProps,\n} from \"@next-bricks/form/checkbox\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport styles from \"./styles.module.css\";\nimport \"./styles.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ntype Item = {\n position: Layout;\n key: string;\n title: string;\n style?: React.CSSProperties;\n useBrick: UseSingleBrickConf;\n};\n\ninterface CheckboxEvents {\n change: CustomEvent<CheckboxOptionType[]>;\n}\n\ninterface CheckboxEventsMap {\n onChange: \"change\";\n}\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", {\n onActionClick: \"action.click\",\n});\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedCheckbox = wrapBrick<\n Checkbox,\n CheckboxProps,\n CheckboxEvents,\n CheckboxEventsMap\n>(\"eo-checkbox\", {\n onChange: \"change\",\n});\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: Layout[];\n toolbarBricks?: {\n useBrick: UseSingleBrickConf[];\n };\n componentList?: Item[];\n isEdit?: boolean;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: Layout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n onChange?: (layout: Layout[]) => void;\n onSave?: (layout: Layout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n toolbarBricks,\n componentList = [],\n isEdit,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<Layout[]>(layoutsProps ?? []);\n\n const [layouts, _setLayouts] = useState<Layout[]>(layoutCacheRef.current);\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n\n const setLayouts = useCallback((layouts: Layout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({\n setLayouts,\n }));\n\n const handleChange = useCallback(\n (layouts: Layout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n const handleLayoutChange = useCallback(\n (currentLayout: Layout[]) => {\n if (!isEdit) {\n return;\n }\n\n let isAllowAction = true;\n\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, i } = item;\n // should update key to refresh layout\n const key = `${getRealKey(i)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return {\n ...item,\n x,\n i: key,\n };\n })\n : currentLayout\n );\n },\n [handleChange, isEdit]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleCheckBoxChange = useCallback(\n (event: CustomEvent<CheckboxOptionType[]>): void => {\n const checkedKeys = event.detail.map((item) => item.value);\n const layoutsKeys = layouts.map((item) => getRealKey(item.i));\n const addItems = event.detail\n .filter((item) => !layoutsKeys.includes(item.key))\n .map((item) => ({\n ...item.position,\n x: item.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }));\n\n handleChange(\n layouts\n .filter((layout) => checkedKeys.includes(getRealKey(layout.i)))\n .concat(addItems)\n );\n },\n [layouts, handleChange, cols]\n );\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(\n layouts.map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }, [layouts, onSave]);\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }\n };\n\n const handleDeleteItem = useCallback(\n (e: React.MouseEvent, deletedItem: Item) => {\n e.stopPropagation();\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const renderChild = useMemo(\n () =>\n layouts\n .map((layout) => {\n const component = componentList.find(\n (item) => item.key === getRealKey(layout.i)\n );\n if (!component) {\n return null;\n }\n return (\n <div\n key={layout.i}\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n }}\n style={component.style}\n className=\"drag-box\"\n >\n {isEdit && (\n <div\n className={styles.editMask}\n onMouseDown={handleEditMaskClick}\n />\n )}\n <ReactUseBrick useBrick={component.useBrick} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className={styles.deleteIcon}\n onClick={(e) => handleDeleteItem(e, component)}\n />\n )}\n </div>\n );\n })\n .filter(Boolean),\n [componentList, handleDeleteItem, layouts, isEdit]\n );\n\n const computedOptions = useMemo(\n () =>\n componentList.map((item) => ({\n ...item,\n label: item.title,\n value: item.key,\n })),\n [componentList]\n );\n\n const computedSelectedComponentKeys = useMemo(\n () => layouts.map((layout) => getRealKey(layout.i)),\n [layouts]\n );\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n overflow: \"scroll\",\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n <WrappedCheckbox\n options={computedOptions}\n value={computedSelectedComponentKeys}\n onChange={handleCheckBoxChange as any}\n />\n {toolbarBricks?.useBrick && (\n <ReactUseMultipleBricks useBrick={toolbarBricks.useBrick} />\n )}\n </div>\n </div>\n )}\n <div\n className={styles.layoutWrapper}\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className={styles.actionsWrapper}>\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={styles.layout}\n draggableCancel={`.${styles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n onDrag={handleDragCallback}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2,未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", {\n shadowOptions: false,\n})\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor isEdit: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor layouts: Layout[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor toolbarBricks:\n | {\n useBrick: UseSingleBrickConf[];\n }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor componentList: Item[] | undefined;\n\n @event({\n type: \"change\",\n })\n accessor #changeEvent!: EventEmitter<Layout[]>;\n\n #handleChange = (layouts: Layout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({\n type: \"save\",\n })\n accessor #saveEvent!: EventEmitter<Layout[]>;\n\n #handleSave = (layouts: Layout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({\n type: \"cancel\",\n })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({\n type: \"action.click\",\n })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n ref={this.#componentRef}\n />\n );\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:170px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:6px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{max-width:1300px;margin:0 auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .editMask--ql2wriZf{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:hover{color:var(--color-error)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:active{color:var(--color-error-active)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"gridLayoutWrapper\": `gridLayoutWrapper--DIttynOM`,\n\t\"componentWrapper\": `componentWrapper--P8xsKOQP`,\n\t\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`,\n\t\"editMask\": `editMask--ql2wriZf`,\n\t\"deleteIcon\": `deleteIcon--IjEzXZqc`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}"],"names":["defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","WrappedIcon","WrappedCheckbox","onChange","showDialog","unwrapProvider","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","toolbarBricks","componentList","isEdit","onSave","onCancel","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","isAllowAction","t","length","x","w","y","h","i","minH","matchItem","find","item","_currentLayout$t$minH","Math","max","undefined","map","random","handleCheckBoxChange","checkedKeys","detail","value","layoutsKeys","addItems","filter","position","Infinity","layout","concat","handleClearLayout","handleSave","handleDeleteItem","e","deletedItem","_layouts$filter","stopPropagation","handleEditMaskClick","preventDefault","renderChild","_component$position","component","React","style","className","styles","editMask","onMouseDown","ReactUseBrick","useBrick","icon","lib","deleteIcon","onClick","Boolean","computedOptions","label","title","computedSelectedComponentKeys","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","height","document","body","clientHeight","overflow","useEffect","window","addEventListener","removeEventListener","gridLayoutWrapper","componentWrapper","componentTitle","options","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","type","handleCancel","btnText","actions","text","danger","action","content","then","handleActionClick","draggableCancel","breakpoints","lg","md","sm","rowHeight","isResizable","isDraggable","onDrag","handleDragCallback","oldItem","newItem","_gridLayoutRef$curren","placeholderDOM","querySelector","classList","contains","add","remove","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_G","_handleSave","_H","_handleCancel","_I","_handleActionClick","EoWorkbenchLayoutV2","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_toolbarBricks","_init_extra_toolbarBricks","_init_componentList","_init_extra_componentList","_init_changeEvent","_init_extra_changeEvent","_classPrivateGetter","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","v","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","has","_checkInRHS","___CSS_LOADER_EXPORT___","push","module","id","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","locals","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","update","newObj","exports","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","target","styleTarget","HTMLIFrameElement","contentDocument","head","getTarget","Error","appendChild","element","createElement","attributes","styleElement","nonce","setAttribute","needLayer","btoa","unescape","encodeURIComponent","JSON","stringify","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","s","r","a","privateSet"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/eo-workbench-layout-v2.6dc2ef3c.js","mappings":"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","sources":["webpack:///./src/workbench-layout-v2/index.tsx","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/react-grid-layout/css/styles.css","webpack:///../../node_modules/react-resizable/css/styles.css","webpack:///./src/workbench-layout-v2/styles.module.css","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js"],"sourcesContent":["import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport {\n ReactUseBrick,\n ReactUseMultipleBricks,\n} from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type {\n Checkbox,\n CheckboxOptionType,\n CheckboxProps,\n} from \"@next-bricks/form/checkbox\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport styles from \"./styles.module.css\";\nimport \"./styles.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ntype Item = {\n position: Layout;\n key: string;\n title: string;\n style?: React.CSSProperties;\n useBrick: UseSingleBrickConf;\n};\n\ninterface CheckboxEvents {\n change: CustomEvent<CheckboxOptionType[]>;\n}\n\ninterface CheckboxEventsMap {\n onChange: \"change\";\n}\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", {\n onActionClick: \"action.click\",\n});\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedCheckbox = wrapBrick<\n Checkbox,\n CheckboxProps,\n CheckboxEvents,\n CheckboxEventsMap\n>(\"eo-checkbox\", {\n onChange: \"change\",\n});\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: Layout[];\n toolbarBricks?: {\n useBrick: UseSingleBrickConf[];\n };\n componentList?: Item[];\n isEdit?: boolean;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: Layout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n onChange?: (layout: Layout[]) => void;\n onSave?: (layout: Layout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n toolbarBricks,\n componentList = [],\n isEdit,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<Layout[]>(layoutsProps ?? []);\n\n const [layouts, _setLayouts] = useState<Layout[]>(layoutCacheRef.current);\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n\n const setLayouts = useCallback((layouts: Layout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({\n setLayouts,\n }));\n\n const handleChange = useCallback(\n (layouts: Layout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n const handleLayoutChange = useCallback(\n (currentLayout: Layout[]) => {\n if (!isEdit) {\n return;\n }\n\n let isAllowAction = true;\n\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, i } = item;\n // should update key to refresh layout\n const key = `${getRealKey(i)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return {\n ...item,\n x,\n i: key,\n };\n })\n : currentLayout\n );\n },\n [handleChange, isEdit]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleCheckBoxChange = useCallback(\n (event: CustomEvent<CheckboxOptionType[]>): void => {\n const checkedKeys = event.detail.map((item) => item.value);\n const layoutsKeys = layouts.map((item) => getRealKey(item.i));\n const addItems = event.detail\n .filter((item) => !layoutsKeys.includes(item.key))\n .map((item) => ({\n ...item.position,\n x: item.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }));\n\n handleChange(\n layouts\n .filter((layout) => checkedKeys.includes(getRealKey(layout.i)))\n .concat(addItems)\n );\n },\n [layouts, handleChange, cols]\n );\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(\n layouts.map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }, [layouts, onSave]);\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }\n };\n\n const handleDeleteItem = useCallback(\n (e: React.MouseEvent, deletedItem: Item) => {\n e.stopPropagation();\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const renderChild = useMemo(\n () =>\n layouts\n .map((layout) => {\n const component = componentList.find(\n (item) => item.key === getRealKey(layout.i)\n );\n if (!component) {\n return null;\n }\n return (\n <div\n key={layout.i}\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n }}\n style={component.style}\n className=\"drag-box\"\n >\n {isEdit && (\n <div\n className={styles.editMask}\n onMouseDown={handleEditMaskClick}\n />\n )}\n <ReactUseBrick useBrick={component.useBrick} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className={styles.deleteIcon}\n onClick={(e) => handleDeleteItem(e, component)}\n />\n )}\n </div>\n );\n })\n .filter(Boolean),\n [componentList, handleDeleteItem, layouts, isEdit]\n );\n\n const computedOptions = useMemo(\n () =>\n componentList.map((item) => ({\n ...item,\n label: item.title,\n value: item.key,\n })),\n [componentList]\n );\n\n const computedSelectedComponentKeys = useMemo(\n () => layouts.map((layout) => getRealKey(layout.i)),\n [layouts]\n );\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n overflow: \"scroll\",\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n <WrappedCheckbox\n options={computedOptions}\n value={computedSelectedComponentKeys}\n onChange={handleCheckBoxChange as any}\n />\n {toolbarBricks?.useBrick && (\n <ReactUseMultipleBricks useBrick={toolbarBricks.useBrick} />\n )}\n </div>\n </div>\n )}\n <div\n className={styles.layoutWrapper}\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className={styles.actionsWrapper}>\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={styles.layout}\n draggableCancel={`.${styles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n onDrag={handleDragCallback}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2,未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", {\n shadowOptions: false,\n})\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor isEdit: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor layouts: Layout[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor toolbarBricks:\n | {\n useBrick: UseSingleBrickConf[];\n }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor componentList: Item[] | undefined;\n\n @event({\n type: \"change\",\n })\n accessor #changeEvent!: EventEmitter<Layout[]>;\n\n #handleChange = (layouts: Layout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({\n type: \"save\",\n })\n accessor #saveEvent!: EventEmitter<Layout[]>;\n\n #handleSave = (layouts: Layout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({\n type: \"cancel\",\n })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({\n type: \"action.click\",\n })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n ref={this.#componentRef}\n />\n );\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:170px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:6px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{max-width:1300px;margin:0 auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .editMask--ql2wriZf{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:hover{color:var(--color-error)}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .deleteIcon--IjEzXZqc:active{color:var(--color-error-active)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"gridLayoutWrapper\": `gridLayoutWrapper--DIttynOM`,\n\t\"componentWrapper\": `componentWrapper--P8xsKOQP`,\n\t\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`,\n\t\"editMask\": `editMask--ql2wriZf`,\n\t\"deleteIcon\": `deleteIcon--IjEzXZqc`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}"],"names":["defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","WrappedIcon","WrappedCheckbox","onChange","showDialog","unwrapProvider","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","toolbarBricks","componentList","isEdit","onSave","onCancel","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","isAllowAction","t","length","x","w","y","h","i","minH","matchItem","find","item","_currentLayout$t$minH","Math","max","undefined","map","random","handleCheckBoxChange","checkedKeys","detail","value","layoutsKeys","addItems","filter","position","Infinity","layout","concat","handleClearLayout","handleSave","handleDeleteItem","e","deletedItem","_layouts$filter","stopPropagation","handleEditMaskClick","preventDefault","renderChild","_component$position","component","React","style","className","styles","editMask","onMouseDown","ReactUseBrick","useBrick","icon","lib","deleteIcon","onClick","Boolean","computedOptions","label","title","computedSelectedComponentKeys","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","height","document","body","clientHeight","overflow","useEffect","window","addEventListener","removeEventListener","gridLayoutWrapper","componentWrapper","componentTitle","options","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","type","handleCancel","btnText","actions","text","danger","action","content","then","handleActionClick","draggableCancel","breakpoints","lg","md","sm","rowHeight","isResizable","isDraggable","onDrag","handleDragCallback","oldItem","newItem","_gridLayoutRef$curren","placeholderDOM","querySelector","classList","contains","add","remove","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_G","_handleSave","_H","_handleCancel","_I","_handleActionClick","EoWorkbenchLayoutV2","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_toolbarBricks","_init_extra_toolbarBricks","_init_componentList","_init_extra_componentList","_init_changeEvent","_init_extra_changeEvent","_classPrivateGetter","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","v","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","has","_checkInRHS","___CSS_LOADER_EXPORT___","push","module","id","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","locals","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","update","newObj","exports","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","target","styleTarget","HTMLIFrameElement","contentDocument","head","getTarget","Error","appendChild","element","createElement","attributes","styleElement","nonce","setAttribute","needLayer","btoa","unescape","encodeURIComponent","JSON","stringify","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","s","r","a","privateSet"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_advanced=globalThis.webpackChunk_next_bricks_advanced||[]).push([[9326],{55319:(e,t,r)=>{r.r(t),r.d(t,{EoWorkbenchLayout:()=>ie,EoWorkbenchLayoutComponent:()=>ae});var a,i=r(74635),n=r(70918),o=r(26902),s=r(5536),l=r(86121),c=r(70829),d=r(62740),p=r(18769),h=r.n(p),g=r(65821),u=r(79476),m=r(52681),b=r(17549),w=r(6055),v=(r(76477),r(45833)),y=r(91116);let f,x,k,z,A,E,C,M,I,L,N,W,B,D,H,T,R,S,Z,P,j,G,_,Y,Q,F;const{defineElement:$,property:J,event:U,method:X}=(0,g.createDecorators)(),q=(0,u.wrapBrick)("eo-button"),O=(0,u.wrapBrick)("eo-dropdown-button",{onActionClick:"action.click"}),K=(0,u.wrapBrick)("eo-icon"),V=(0,u.wrapBrick)("eo-checkbox",{onChange:"change"}),ee=(0,m.unwrapProvider)("basic.show-dialog"),te=e=>null!=e&&e.includes(":")?e.split(":")[0]:e,{isAdmin:re}=w.auth.getAuth(),ae=(0,p.forwardRef)((function(e,t){let{cardTitle:r="卡片列表",layouts:a,componentList:i=[],isEdit:n,onChange:o,onSave:s,onCancel:l,onActionClick:c}=e;const d=(0,p.useMemo)((()=>(0,v.WidthProvider)(v.Responsive)),[]),g=(0,p.useRef)(null),u=(0,p.useRef)(null),m=(0,p.useRef)(null!=a?a:[]),[w,y]=(0,p.useState)(m.current),[f,x]=(0,p.useState)(3),[k,z]=(0,p.useState)(),A=(0,p.useCallback)((e=>{m.current=e,y(e)}),[]);(0,p.useImperativeHandle)(t,(()=>({setLayouts:A})));const E=(0,p.useCallback)((e=>{A(e),null==o||o(e)}),[o,A]),C=(0,p.useCallback)((e=>{if(!n)return;let t=!0;for(let a=0;a<e.length;a++){const{x:i,w:n,y:o,h:s,i:l,minH:c}=e[a];if(n>1&&i>0){t=!1;break}if(1===n&&i<2){const t=e.find((e=>e.i!==l&&1===e.w&&e.y===o&&i<2));var r;t&&(e[a].minH=null!==(r=e[a].minH)&&void 0!==r?r:s,e[a].h=Math.max(t.h,s))}else e[a].h=null!=c?c:s,e[a].minH=void 0}E(t?e:m.current.map((e=>{const{w:t,i:r}=e,a=`${te(r)}:${Math.random()}`;let i=e.x;return t>1&&i>0&&(i=0),{...e,x:i,i:a}})))}),[E,n]),M=(0,p.useCallback)((e=>{const t=e.detail.map((e=>e.value)),r=w.map((e=>te(e.i))),a=e.detail.filter((e=>!r.includes(e.key))).map((e=>({...e.position,x:e.w>1?0:2*w.length%f,y:1/0})));E(w.filter((e=>t.includes(te(e.i)))).concat(a))}),[w,E,f]),I=()=>{E([])},L=(0,p.useCallback)((()=>{null==s||s(w.map((e=>({...e,i:te(e.i)}))))}),[w,s]),N=(0,p.useCallback)(((e,t)=>{var r;e.stopPropagation(),E(null!==(r=w.filter((e=>te(e.i)!==t.key)))&&void 0!==r?r:[])}),[E,w]),W=e=>{e.preventDefault()},B=(0,p.useMemo)((()=>w.map((e=>{var t;const r=i.find((t=>t.key===te(e.i)));return r?h().createElement("div",{key:e.i,"data-grid":{...null!==(t=r.position)&&void 0!==t?t:{},...e},style:r.style,className:"drag-box"},n&&h().createElement("div",{className:"edit-mask",onMouseDown:W}),h().createElement(b.ReactUseBrick,{useBrick:r.useBrick}),n&&h().createElement(K,{icon:"delete",lib:"antd",className:"delete-icon",onClick:e=>N(e,r)})):null})).filter(Boolean)),[i,N,w,n]),D=(0,p.useMemo)((()=>i.map((e=>({...e,label:e.title,value:e.key})))),[i]),H=(0,p.useMemo)((()=>w.map((e=>te(e.i)))),[w]),T=(0,p.useCallback)((()=>{if(u&&n){var e,t;const{top:r}=null!==(e=null===(t=u.current)||void 0===t||null===(t=t.getClientRects())||void 0===t?void 0:t[0])&&void 0!==e?e:{};void 0!==r&&z({height:document.body.clientHeight-r,overflow:"scroll"})}}),[n]);return(0,p.useEffect)((()=>{if(n)return T(),A(a||[]),window.addEventListener("resize",T),()=>{window.removeEventListener("resize",T)}}),[n,T,a,A]),h().createElement("div",{className:"grid-layout-wrapper",ref:g},n&&h().createElement("div",{className:"component-wrapper"},h().createElement("div",{className:"component-title"},r),h().createElement("div",{className:"component-list"},h().createElement(V,{options:D,value:H,onChange:M}),h().createElement("slot",{name:"toolbar"}))),h().createElement("div",{className:"layout-wrapper",ref:u,style:k},n&&h().createElement("div",{className:"actions-wrapper"},h().createElement(q,{type:"primary",onClick:L},"保存"),h().createElement(q,{onClick:()=>{null==l||l()}},"取消"),h().createElement(O,{btnText:"更多",icon:{lib:"antd",icon:"down"},actions:[...re?[{text:"另存为模板",event:"saveAsTemplate"}]:[],{text:"从模版加载",event:"loadFromTemplate"},{text:"清空所有",danger:!0,event:"clear"}],onActionClick:e=>{(e=>{const{event:t}=e;"clear"===t?ee({type:"confirm",title:"清空确认",content:"将清空所有卡片,从零开始编辑,该操作无法撤回。"}).then(I):null==c||c(e,(null!=w?w:[]).map((e=>({...e,i:te(e.i)}))))})(e.detail)},"data-testid":"edit-layout-actions"})),h().createElement(d,{className:"layout",draggableCancel:".delete-icon,.edit-actions,.ignore-item",breakpoints:{lg:1300,md:1024,sm:768},rowHeight:1,cols:{lg:3,md:3,sm:n?3:1},isResizable:!1,isDraggable:n,onDrag:(e,t,r)=>{var a;const i=null===(a=g.current)||void 0===a?void 0:a.querySelector(".react-grid-placeholder");i&&(r.w>1&&r.x>0?!i.classList.contains("forbidden")&&i.classList.add("forbidden"):i.classList.contains("forbidden")&&i.classList.remove("forbidden"))},onLayoutChange:C,onBreakpointChange:(e,t)=>{x(t)}},B)))}));let ie;var ne=new WeakMap,oe=new WeakMap,se=new WeakMap,le=new WeakMap,ce=new WeakMap,de=new WeakMap,pe=new WeakSet,he=new WeakMap,ge=new WeakMap,ue=new WeakMap,me=new WeakMap,be=new WeakMap,we=new WeakMap,ve=new WeakMap;class ye extends u.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,pe),(0,n.A)(this,ne,(f(this),(0,p.createRef)())),(0,n.A)(this,oe,k(this)),(0,n.A)(this,se,(z(this),A(this))),(0,n.A)(this,le,(E(this),C(this))),(0,n.A)(this,ce,(M(this),I(this))),(0,n.A)(this,de,(L(this),N(this))),(0,n.A)(this,he,(D(this),e=>{(0,s.A)(pe,this,W).emit(e)})),(0,n.A)(this,ge,H(this)),(0,n.A)(this,ue,(S(this),e=>{(0,s.A)(pe,this,T).emit(e)})),(0,n.A)(this,me,Z(this)),(0,n.A)(this,be,(G(this),()=>{(0,s.A)(pe,this,P).emit()})),(0,n.A)(this,we,_(this)),(0,n.A)(this,ve,(F(this),(e,t)=>{(0,s.A)(pe,this,Y).emit({action:e,layouts:t}),e.event&&this.dispatchEvent(new CustomEvent(e.event,{detail:t}))}))}get cardTitle(){return(0,c.A)(oe,this)}set cardTitle(e){(0,l.A)(oe,this,e)}get isEdit(){return(0,c.A)(se,this)}set isEdit(e){(0,l.A)(se,this,e)}get layouts(){return(0,c.A)(le,this)}set layouts(e){(0,l.A)(le,this,e)}get componentList(){return(0,c.A)(ce,this)}set componentList(e){(0,l.A)(ce,this,e)}setLayouts(e){var t;null===(t=(0,c.A)(ne,this).current)||void 0===t||t.setLayouts(e)}render(){return h().createElement(ae,{cardTitle:this.cardTitle,layouts:this.layouts,componentList:this.componentList,isEdit:this.isEdit,onChange:(0,c.A)(he,this),onSave:(0,c.A)(ue,this),onCancel:(0,c.A)(be,this),onActionClick:(0,c.A)(ve,this),ref:(0,c.A)(ne,this)})}}a=ye,({e:[k,z,A,E,C,M,I,L,N,W,B,D,H,T,R,S,Z,P,j,G,_,Y,Q,F,f],c:[ie,x]}=(0,d.A)(a,[$("eo-workbench-layout",{styleTexts:[y.A]})],[[J(),1,"cardTitle"],[J({type:Boolean}),1,"isEdit"],[J({attribute:!1}),1,"layouts"],[J({attribute:!1}),1,"componentList"],[U({type:"change"}),1,"changeEvent",e=>(0,c.A)(de,e),(e,t)=>(0,l.A)(de,e,t)],[U({type:"save"}),1,"saveEvent",e=>(0,c.A)(ge,e),(e,t)=>(0,l.A)(ge,e,t)],[U({type:"cancel"}),1,"cancelEvent",e=>(0,c.A)(me,e),(e,t)=>(0,l.A)(me,e,t)],[U({type:"action.click"}),1,"actionClickEvent",e=>(0,c.A)(we,e),(e,t)=>(0,l.A)(we,e,t)],[X(),2,"setLayouts"]],0,(e=>ve.has((0,o.A)(e))),u.ReactNextElement)),x()},91116:(e,t,r)=>{r.d(t,{A:()=>d});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(34566),l=r(16322),c=o()(i());c.i(s.A),c.i(l.A),c.push([e.id,":host{display:block}:host([hidden]){display:none}.grid-layout-wrapper{display:flex;height:100%;position:relative}.grid-layout-wrapper .component-wrapper{width:150px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.grid-layout-wrapper .component-wrapper .component-title{font-size:16px;padding:6px 0;font-weight:500}.grid-layout-wrapper .component-wrapper .component-list{margin-top:6px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.grid-layout-wrapper .layout-wrapper{flex:1}.grid-layout-wrapper .layout-wrapper .layout{max-width:1300px;margin:0 auto}.grid-layout-wrapper .layout-wrapper .actions-wrapper{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.grid-layout-wrapper .layout-wrapper .edit-mask{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.grid-layout-wrapper .layout-wrapper .delete-icon{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.grid-layout-wrapper .layout-wrapper .delete-icon:hover{color:var(--color-error)}.grid-layout-wrapper .layout-wrapper .delete-icon:active{color:var(--color-error-active)}.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}",""]);const d=c.toString()},34566:(e,t,r)=>{r.d(t,{A:()=>s});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n)()(i());o.push([e.id,'.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}',""]);const s=o.toString()},16322:(e,t,r)=>{r.d(t,{A:()=>h});var a=r(36758),i=r.n(a),n=r(40935),o=r.n(n),s=r(20062),l=r.n(s),c=new URL(r(59224),r.b),d=o()(i()),p=l()(c);d.push([e.id,`.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${p});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`,""]);const h=d.toString()},59224:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+"},5536:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(12559);function i(e,t,r){return r((0,a.A)(e,t))}},74635:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(72016);function i(e,t){(0,a.A)(e,t),t.add(e)}}}]);
2
+ //# sourceMappingURL=eo-workbench-layout.32aff942.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/eo-workbench-layout.aaaf423d.js","mappings":"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","sources":["webpack:///./src/workbench-layout/index.tsx","webpack:///./src/workbench-layout/styles.shadow.css","webpack:///../../node_modules/react-grid-layout/css/styles.css?4a73","webpack:///../../node_modules/react-resizable/css/styles.css?e4a4","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js"],"sourcesContent":["import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type {\n Checkbox,\n CheckboxOptionType,\n CheckboxProps,\n} from \"@next-bricks/form/checkbox\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ntype Item = {\n position: Layout;\n key: string;\n title: string;\n style?: React.CSSProperties;\n useBrick: UseSingleBrickConf;\n};\n\ninterface CheckboxEvents {\n change: CustomEvent<CheckboxOptionType[]>;\n}\n\ninterface CheckboxEventsMap {\n onChange: \"change\";\n}\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", {\n onActionClick: \"action.click\",\n});\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedCheckbox = wrapBrick<\n Checkbox,\n CheckboxProps,\n CheckboxEvents,\n CheckboxEventsMap\n>(\"eo-checkbox\", {\n onChange: \"change\",\n});\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport interface EoWorkbenchLayoutProps {\n cardTitle?: string;\n layouts?: Layout[];\n componentList?: Item[];\n isEdit?: boolean;\n}\n\nexport interface EoWorkbenchLayoutComponentRef {\n setLayouts(layouts: Layout[]): void;\n}\n\nexport interface EoWorkbenchLayoutComponentProps\n extends EoWorkbenchLayoutProps {\n onChange?: (layout: Layout[]) => void;\n onSave?: (layout: Layout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutComponentRef,\n EoWorkbenchLayoutComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n componentList = [],\n isEdit,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<Layout[]>(layoutsProps ?? []);\n\n const [layouts, _setLayouts] = useState<Layout[]>(layoutCacheRef.current);\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n\n const setLayouts = useCallback((layouts: Layout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({\n setLayouts,\n }));\n\n const handleChange = useCallback(\n (layouts: Layout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n const handleLayoutChange = useCallback(\n (currentLayout: Layout[]) => {\n if (!isEdit) {\n return;\n }\n\n let isAllowAction = true;\n\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, i } = item;\n // should update key to refresh layout\n const key = `${getRealKey(i)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return {\n ...item,\n x,\n i: key,\n };\n })\n : currentLayout\n );\n },\n [handleChange, isEdit]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleCheckBoxChange = useCallback(\n (event: CustomEvent<CheckboxOptionType[]>): void => {\n const checkedKeys = event.detail.map((item) => item.value);\n const layoutsKeys = layouts.map((item) => getRealKey(item.i));\n const addItems = event.detail\n .filter((item) => !layoutsKeys.includes(item.key))\n .map((item) => ({\n ...item.position,\n x: item.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }));\n\n handleChange(\n layouts\n .filter((layout) => checkedKeys.includes(getRealKey(layout.i)))\n .concat(addItems)\n );\n },\n [layouts, handleChange, cols]\n );\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(\n layouts.map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }, [layouts, onSave]);\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }\n };\n\n const handleDeleteItem = useCallback(\n (e: React.MouseEvent, deletedItem: Item) => {\n e.stopPropagation();\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const renderChild = useMemo(\n () =>\n layouts\n .map((layout) => {\n const component = componentList.find(\n (item) => item.key === getRealKey(layout.i)\n );\n if (!component) {\n return null;\n }\n return (\n <div\n key={layout.i}\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n }}\n style={component.style}\n className=\"drag-box\"\n >\n {isEdit && (\n <div className=\"edit-mask\" onMouseDown={handleEditMaskClick} />\n )}\n <ReactUseBrick useBrick={component.useBrick} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className=\"delete-icon\"\n onClick={(e) => handleDeleteItem(e, component)}\n />\n )}\n </div>\n );\n })\n .filter(Boolean),\n [componentList, handleDeleteItem, layouts, isEdit]\n );\n\n const computedOptions = useMemo(\n () =>\n componentList.map((item) => ({\n ...item,\n label: item.title,\n value: item.key,\n })),\n [componentList]\n );\n\n const computedSelectedComponentKeys = useMemo(\n () => layouts.map((layout) => getRealKey(layout.i)),\n [layouts]\n );\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n overflow: \"scroll\",\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className=\"grid-layout-wrapper\" ref={gridLayoutRef}>\n {isEdit && (\n <div className=\"component-wrapper\">\n <div className=\"component-title\">{cardTitle}</div>\n <div className=\"component-list\">\n <WrappedCheckbox\n options={computedOptions}\n value={computedSelectedComponentKeys}\n onChange={handleCheckBoxChange as any}\n />\n <slot name=\"toolbar\"></slot>\n </div>\n </div>\n )}\n <div\n className=\"layout-wrapper\"\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className=\"actions-wrapper\">\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className=\"layout\"\n draggableCancel=\".delete-icon,.edit-actions,.ignore-item\"\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n onDrag={handleDragCallback}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局\n * @deprecated Please use eo-workbench-layout-v2 which support global styles instead\n */\nexport\n@defineElement(\"eo-workbench-layout\", {\n styleTexts: [styleText],\n})\nclass EoWorkbenchLayout extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor isEdit: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor layouts: Layout[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor componentList: Item[] | undefined;\n\n @event({\n type: \"change\",\n })\n accessor #changeEvent!: EventEmitter<Layout[]>;\n\n #handleChange = (layouts: Layout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({\n type: \"save\",\n })\n accessor #saveEvent!: EventEmitter<Layout[]>;\n\n #handleSave = (layouts: Layout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({\n type: \"cancel\",\n })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({\n type: \"action.click\",\n })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n componentList={this.componentList}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n ref={this.#componentRef}\n />\n );\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.grid-layout-wrapper{display:flex;height:100%;position:relative}.grid-layout-wrapper .component-wrapper{width:150px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.grid-layout-wrapper .component-wrapper .component-title{font-size:16px;padding:6px 0;font-weight:500}.grid-layout-wrapper .component-wrapper .component-list{margin-top:6px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.grid-layout-wrapper .layout-wrapper{flex:1}.grid-layout-wrapper .layout-wrapper .layout{max-width:1300px;margin:0 auto}.grid-layout-wrapper .layout-wrapper .actions-wrapper{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.grid-layout-wrapper .layout-wrapper .edit-mask{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.grid-layout-wrapper .layout-wrapper .delete-icon{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.grid-layout-wrapper .layout-wrapper .delete-icon:hover{color:var(--color-error)}.grid-layout-wrapper .layout-wrapper .delete-icon:active{color:var(--color-error-active)}.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}"],"names":["defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","WrappedIcon","WrappedCheckbox","onChange","showDialog","unwrapProvider","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","componentList","isEdit","onSave","onCancel","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","isAllowAction","t","length","x","w","y","h","i","minH","matchItem","find","item","_currentLayout$t$minH","Math","max","undefined","map","random","handleCheckBoxChange","checkedKeys","detail","value","layoutsKeys","addItems","filter","position","Infinity","layout","concat","handleClearLayout","handleSave","handleDeleteItem","e","deletedItem","_layouts$filter","stopPropagation","handleEditMaskClick","preventDefault","renderChild","_component$position","component","React","style","className","onMouseDown","ReactUseBrick","useBrick","icon","lib","onClick","Boolean","computedOptions","label","title","computedSelectedComponentKeys","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","height","document","body","clientHeight","overflow","useEffect","window","addEventListener","removeEventListener","options","name","type","handleCancel","btnText","actions","text","danger","action","content","then","handleActionClick","draggableCancel","breakpoints","lg","md","sm","rowHeight","isResizable","isDraggable","onDrag","handleDragCallback","oldItem","newItem","_gridLayoutRef$curren","placeholderDOM","querySelector","classList","contains","add","remove","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayout","_componentRef","WeakMap","_A","_B","_C","_D","_E","_EoWorkbenchLayout_brand","WeakSet","_handleChange","_F","_handleSave","_G","_handleCancel","_H","_handleActionClick","EoWorkbenchLayout","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_componentList","_init_extra_componentList","_init_changeEvent","_init_extra_changeEvent","_classPrivateGetter","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","v","_classPrivateFieldSet","_classPrivateFieldGet2","render","_EoWorkbenchLayout2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_actionClickEvent","c","_initClass","_applyDecs","styleTexts","styleText","attribute","o","_","has","_checkInRHS","___CSS_LOADER_EXPORT___","push","module","id","toString","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","s","r","a","obj","privateSet"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/eo-workbench-layout.32aff942.js","mappings":"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","sources":["webpack:///./src/workbench-layout/index.tsx","webpack:///./src/workbench-layout/styles.shadow.css","webpack:///../../node_modules/react-grid-layout/css/styles.css?4a73","webpack:///../../node_modules/react-resizable/css/styles.css?e4a4","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js"],"sourcesContent":["import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport {\n ItemCallback,\n Layout,\n Responsive,\n WidthProvider,\n} from \"react-grid-layout\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type {\n Checkbox,\n CheckboxOptionType,\n CheckboxProps,\n} from \"@next-bricks/form/checkbox\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ntype Item = {\n position: Layout;\n key: string;\n title: string;\n style?: React.CSSProperties;\n useBrick: UseSingleBrickConf;\n};\n\ninterface CheckboxEvents {\n change: CustomEvent<CheckboxOptionType[]>;\n}\n\ninterface CheckboxEventsMap {\n onChange: \"change\";\n}\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", {\n onActionClick: \"action.click\",\n});\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedCheckbox = wrapBrick<\n Checkbox,\n CheckboxProps,\n CheckboxEvents,\n CheckboxEventsMap\n>(\"eo-checkbox\", {\n onChange: \"change\",\n});\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nexport interface EoWorkbenchLayoutProps {\n cardTitle?: string;\n layouts?: Layout[];\n componentList?: Item[];\n isEdit?: boolean;\n}\n\nexport interface EoWorkbenchLayoutComponentRef {\n setLayouts(layouts: Layout[]): void;\n}\n\nexport interface EoWorkbenchLayoutComponentProps\n extends EoWorkbenchLayoutProps {\n onChange?: (layout: Layout[]) => void;\n onSave?: (layout: Layout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: Layout[]) => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutComponentRef,\n EoWorkbenchLayoutComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n componentList = [],\n isEdit,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<Layout[]>(layoutsProps ?? []);\n\n const [layouts, _setLayouts] = useState<Layout[]>(layoutCacheRef.current);\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n\n const setLayouts = useCallback((layouts: Layout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({\n setLayouts,\n }));\n\n const handleChange = useCallback(\n (layouts: Layout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n const placeholderDOM = gridLayoutRef.current?.querySelector(\n \".react-grid-placeholder\"\n );\n if (placeholderDOM) {\n if (newItem.w > 1 && newItem.x > 0) {\n !placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.add(\"forbidden\");\n } else {\n placeholderDOM.classList.contains(\"forbidden\") &&\n placeholderDOM.classList.remove(\"forbidden\");\n }\n }\n };\n\n const handleLayoutChange = useCallback(\n (currentLayout: Layout[]) => {\n if (!isEdit) {\n return;\n }\n\n let isAllowAction = true;\n\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w > 1 && x > 0) {\n isAllowAction = false;\n break;\n }\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n currentLayout[t].h = Math.max(matchItem.h, h);\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n !isAllowAction\n ? // revert to previous layouts\n layoutCacheRef.current.map((item) => {\n const { w, i } = item;\n // should update key to refresh layout\n const key = `${getRealKey(i)}:${Math.random()}`;\n let x = item.x;\n\n if (w > 1 && x > 0) {\n x = 0;\n }\n\n return {\n ...item,\n x,\n i: key,\n };\n })\n : currentLayout\n );\n },\n [handleChange, isEdit]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleCheckBoxChange = useCallback(\n (event: CustomEvent<CheckboxOptionType[]>): void => {\n const checkedKeys = event.detail.map((item) => item.value);\n const layoutsKeys = layouts.map((item) => getRealKey(item.i));\n const addItems = event.detail\n .filter((item) => !layoutsKeys.includes(item.key))\n .map((item) => ({\n ...item.position,\n x: item.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n }));\n\n handleChange(\n layouts\n .filter((layout) => checkedKeys.includes(getRealKey(layout.i)))\n .concat(addItems)\n );\n },\n [layouts, handleChange, cols]\n );\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(\n layouts.map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }, [layouts, onSave]);\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: \"清空确认\",\n content: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(\n action,\n (layouts ?? []).map((item) => ({\n ...item,\n i: getRealKey(item.i),\n }))\n );\n }\n };\n\n const handleDeleteItem = useCallback(\n (e: React.MouseEvent, deletedItem: Item) => {\n e.stopPropagation();\n handleChange(\n layouts.filter((item) => getRealKey(item.i) !== deletedItem.key) ?? []\n );\n },\n [handleChange, layouts]\n );\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const renderChild = useMemo(\n () =>\n layouts\n .map((layout) => {\n const component = componentList.find(\n (item) => item.key === getRealKey(layout.i)\n );\n if (!component) {\n return null;\n }\n return (\n <div\n key={layout.i}\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n }}\n style={component.style}\n className=\"drag-box\"\n >\n {isEdit && (\n <div className=\"edit-mask\" onMouseDown={handleEditMaskClick} />\n )}\n <ReactUseBrick useBrick={component.useBrick} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n className=\"delete-icon\"\n onClick={(e) => handleDeleteItem(e, component)}\n />\n )}\n </div>\n );\n })\n .filter(Boolean),\n [componentList, handleDeleteItem, layouts, isEdit]\n );\n\n const computedOptions = useMemo(\n () =>\n componentList.map((item) => ({\n ...item,\n label: item.title,\n value: item.key,\n })),\n [componentList]\n );\n\n const computedSelectedComponentKeys = useMemo(\n () => layouts.map((layout) => getRealKey(layout.i)),\n [layouts]\n );\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n overflow: \"scroll\",\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className=\"grid-layout-wrapper\" ref={gridLayoutRef}>\n {isEdit && (\n <div className=\"component-wrapper\">\n <div className=\"component-title\">{cardTitle}</div>\n <div className=\"component-list\">\n <WrappedCheckbox\n options={computedOptions}\n value={computedSelectedComponentKeys}\n onChange={handleCheckBoxChange as any}\n />\n <slot name=\"toolbar\"></slot>\n </div>\n </div>\n )}\n <div\n className=\"layout-wrapper\"\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className=\"actions-wrapper\">\n <WrappedButton type=\"primary\" onClick={handleSave}>\n 保存\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>取消</WrappedButton>\n <WrappedDropdownButton\n btnText=\"更多\"\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n actions={[\n ...(isAdmin\n ? [{ text: \"另存为模板\", event: \"saveAsTemplate\" }]\n : []),\n { text: \"从模版加载\", event: \"loadFromTemplate\" },\n { text: \"清空所有\", danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className=\"layout\"\n draggableCancel=\".delete-icon,.edit-actions,.ignore-item\"\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={1}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n onDrag={handleDragCallback}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局\n * @deprecated Please use eo-workbench-layout-v2 which support global styles instead\n */\nexport\n@defineElement(\"eo-workbench-layout\", {\n styleTexts: [styleText],\n})\nclass EoWorkbenchLayout extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor isEdit: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor layouts: Layout[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor componentList: Item[] | undefined;\n\n @event({\n type: \"change\",\n })\n accessor #changeEvent!: EventEmitter<Layout[]>;\n\n #handleChange = (layouts: Layout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({\n type: \"save\",\n })\n accessor #saveEvent!: EventEmitter<Layout[]>;\n\n #handleSave = (layouts: Layout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({\n type: \"cancel\",\n })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({\n type: \"action.click\",\n })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n componentList={this.componentList}\n isEdit={this.isEdit}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n ref={this.#componentRef}\n />\n );\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}.grid-layout-wrapper{display:flex;height:100%;position:relative}.grid-layout-wrapper .component-wrapper{width:150px;padding:6px 12px;overflow-y:scroll;box-shadow:1px 0 0 0 var(--palette-gray-5);background:var(--color-fill-bg-container-1);z-index:999;position:sticky;top:0}.grid-layout-wrapper .component-wrapper .component-title{font-size:16px;padding:6px 0;font-weight:500}.grid-layout-wrapper .component-wrapper .component-list{margin-top:6px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.grid-layout-wrapper .component-wrapper .component-list eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.grid-layout-wrapper .layout-wrapper{flex:1}.grid-layout-wrapper .layout-wrapper .layout{max-width:1300px;margin:0 auto}.grid-layout-wrapper .layout-wrapper .actions-wrapper{position:sticky;top:0;z-index:999;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}.grid-layout-wrapper .layout-wrapper .edit-mask{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.grid-layout-wrapper .layout-wrapper .delete-icon{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.grid-layout-wrapper .layout-wrapper .delete-icon:hover{color:var(--color-error)}.grid-layout-wrapper .layout-wrapper .delete-icon:active{color:var(--color-error-active)}.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-layout{position:relative;transition:height 200ms ease}.react-grid-item{transition:all 200ms ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:0.2;transition-duration:100ms;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item > .react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item > .react-resizable-handle::after{content:\"\";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,0.4);border-bottom:2px solid rgba(0,0,0,0.4)}.react-resizable-hide > .react-resizable-handle{display:none}.react-grid-item > .react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item > .react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item > .react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,\n.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,\n.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}"],"names":["defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","WrappedIcon","WrappedCheckbox","onChange","showDialog","unwrapProvider","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","componentList","isEdit","onSave","onCancel","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","isAllowAction","t","length","x","w","y","h","i","minH","matchItem","find","item","_currentLayout$t$minH","Math","max","undefined","map","random","handleCheckBoxChange","checkedKeys","detail","value","layoutsKeys","addItems","filter","position","Infinity","layout","concat","handleClearLayout","handleSave","handleDeleteItem","e","deletedItem","_layouts$filter","stopPropagation","handleEditMaskClick","preventDefault","renderChild","_component$position","component","React","style","className","onMouseDown","ReactUseBrick","useBrick","icon","lib","onClick","Boolean","computedOptions","label","title","computedSelectedComponentKeys","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","height","document","body","clientHeight","overflow","useEffect","window","addEventListener","removeEventListener","options","name","type","handleCancel","btnText","actions","text","danger","action","content","then","handleActionClick","draggableCancel","breakpoints","lg","md","sm","rowHeight","isResizable","isDraggable","onDrag","handleDragCallback","oldItem","newItem","_gridLayoutRef$curren","placeholderDOM","querySelector","classList","contains","add","remove","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayout","_componentRef","WeakMap","_A","_B","_C","_D","_E","_EoWorkbenchLayout_brand","WeakSet","_handleChange","_F","_handleSave","_G","_handleCancel","_H","_handleActionClick","EoWorkbenchLayout","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_componentList","_init_extra_componentList","_init_changeEvent","_init_extra_changeEvent","_classPrivateGetter","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","v","_classPrivateFieldSet","_classPrivateFieldGet2","render","_EoWorkbenchLayout2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_actionClickEvent","c","_initClass","_applyDecs","styleTexts","styleText","attribute","o","_","has","_checkInRHS","___CSS_LOADER_EXPORT___","push","module","id","toString","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","s","r","a","obj","privateSet"],"sourceRoot":""}