UNPKG

ruru

Version:

Grafast-flavoured GraphiQL distribution

2 lines • 11.6 kB
export const __webpack_esm_id__=1037;export const __webpack_esm_ids__=[1037];export const __webpack_esm_modules__={26637(e,t,n){function a(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}n.r(t),n.d(t,{populateCommonDb:()=>a}),(0,n(79456).__name)(a,"populateCommonDb")},21037(e,t,n){n.r(t),n.d(t,{diagram:()=>ae});var a=n(26637),i=n(70848),r=n(39989),o=n(27166),s=n(79456),l=n(73744),d=n(79806),m="position frame",c="frame positioned",x="position relation",u="relation positioned",g=(0,s.__name)(function(e){o.log.debug("options str",e)},"setOptions"),f=(0,s.__name)(function(){return{}},"getOptions"),h=(0,s.__name)(function(){b(),(0,r.clear)()},"clear");function b(){w={}}(0,s.__name)(b,"reset");var p=r.defaultConfig_default.eventmodeling,_=(0,s.__name)(()=>(0,i.cleanAndMerge)({...p,...(0,r.getConfig)().eventmodeling}),"getConfig"),w={};function v(){let e=k;const{ast:t}=w,n=M();if(!t)throw new Error("No data for EventModel");return t.frames.forEach((a,i)=>{const r=D(a,t.dataEntities,n);let s;e=Y(e,{$kind:m,index:i,frame:a,textProps:r}),I(a)?(o.log.debug("source frame",a.sourceFrames),s=t.frames.filter(e=>a.sourceFrames.some(t=>t.$refText===e.name)),s.forEach(t=>{e=Y(e,{$kind:x,index:i,frame:a,sourceFrame:t})})):e=Y(e,{$kind:x,index:i,frame:a})}),e={...e,sortedSwimlanesArray:W(e.swimlanes)},e}function y(e){w.ast=e}(0,s.__name)(v,"getState"),(0,s.__name)(y,"setAst");var P={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function M(){return P}(0,s.__name)(M,"getDiagramProps");var k={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function S(e){const t=e.split(".");if(2===t.length)return t[0]}function B(e){const t=e.split(".");return 2===t.length?t[1]:e}function A(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function F(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{const a=Number.parseInt(e);return a>t&&a<n}).map(e=>Number.parseInt(e)))+1}function T(e,t){const n=S(e.entityIdentifier),a=A(t,n);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return a?{index:a.index,label:a.namespace||P.labelUiAutomation}:n?{index:F(t,0,100),label:P.labelUiAutomationPrefix+n}:{index:0,label:P.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return a?{index:a.index,label:a.namespace||P.labelCommandReadModel}:n?{index:F(t,100,200),label:P.labelCommandReadModelPrefix+n}:{index:100,label:P.labelCommandReadModel};default:return a?{index:a.index,label:a.namespace||P.labelEvents}:n?{index:F(t,200,300),label:P.labelEventsPrefix+n}:{index:200,label:P.labelEvents}}}function $(e){const{themeVariables:t}=(0,r.getConfig)();switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function D(e,t,n){const a=(0,r.getConfig)(),s=(0,r.sanitizeText)(B(e.entityIdentifier)??"",a);let l;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let m=`<b>${(0,i.wrapLabel)(s,n.textMaxWidth,d)}</b>`;if(e.dataInlineValue&&(l=e.dataInlineValue,l=l.substring(l.indexOf("{")+1),l=l.substring(0,l.lastIndexOf("}")-1),l=(0,r.sanitizeText)(l,a),l=(0,i.wrapLabel)(l,n.textMaxWidth,d),l=l.replaceAll(" ","&nbsp;")),e.dataReference){const o=t.find(t=>t.name===e.dataReference?.$refText);o&&(l=o.dataBlockValue,l=l.substring(l.indexOf("{\n")+2),l=l.substring(0,l.lastIndexOf("}")-1),l=(0,r.sanitizeText)(l,a),l=(0,i.wrapLabel)(l,n.textMaxWidth,d),l=l.replaceAll(" ","&nbsp;"),l+="<br/>")}const c=void 0!==l;c&&(m+=`<br/><br/><code style="text-align: left; display: block;max-width:${n.textMaxWidth}px">${l}</code>`);const x={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},u=(0,i.calculateTextDimensions)(m,x),g={content:m,width:c?u.width/3:u.width,height:u.height};return o.log.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}function E(e,t){const n=t,a=$(n.frame),i={width:n.textProps.width+2*P.boxTextPadding,height:n.textProps.height+2*P.boxTextPadding};return[{$kind:c,frame:n.frame,index:n.index,visual:a,dimension:i,textProps:n.textProps}]}function C(e,t,n){return void 0===t?P.contentStartX:t.index===e.index&&e.r?e.r+P.boxPadding:void 0===n?P.contentStartX:n.r-P.boxOverlap+P.boxPadding}function R(e,t){const n=[...e.map(e=>e.r),t];return Math.max(...n)}function W(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function O(e,t){const n=t,a=T(n.frame,e.swimlanes);let i;i=a.index in e.swimlanes?e.swimlanes[a.index]:{index:a.index,label:a.label,r:0,y:a.index*P.swimlaneMinHeight+P.swimlaneGap,height:P.swimlaneMinHeight,maxHeight:P.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,o=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,s={width:Math.max(P.boxMinWidth,Math.min(P.boxMaxWidth,n.dimension.width))+2*P.boxPadding,height:Math.max(P.boxMinHeight,Math.min(P.boxMaxHeight,n.dimension.height))+2*P.boxPadding},l=C(i,o,r),d=l+s.width+P.boxPadding,m=R(Object.values(e.swimlanes),d);i.r=l+s.width,i.maxHeight=Math.max(i.maxHeight,s.height),i.height=Math.max(P.swimlaneMinHeight,i.maxHeight)+2*P.swimlanePadding;const c={x:l,y:P.swimlanePadding+i.y,r:d,dimension:s,leftSibling:!1,swimlane:i,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},x={...e,boxes:[...e.boxes,c],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:a.index,previousFrame:n.frame,maxR:m},u=W(x.swimlanes);u.length>0&&(u[0].y=0);for(let e=1;e<u.length;e++){const t=u[e],n=u[e-1];t.y=n.y+n.height+P.swimlaneGap}return x}function H(e,t){return 0===e&&0===t.sourceFrames.length}function I(e){return void 0!==e.sourceFrames&&null!==e.sourceFrames&&e.sourceFrames.length>0}function N(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function U(e,t,n){if(!(n<0))for(let a=n;a>=0;a--){const n=e[a];if(n.swimlane.index!==t)return n}}function V(e,t){const n=t;if((0,l.isEmResetFrame)(n.frame)||H(n.index,n.frame))return[];const a=N(e.boxes,n.frame);if(void 0===a)throw new Error(`Target box not found for frame ${n.frame.name}`);let i;return i=n.sourceFrame?N(e.boxes,n.sourceFrame):U(e.boxes,a.swimlane.index,n.index-1),void 0===i?[]:[{$kind:u,frame:n.frame,index:n.index,sourceBox:i,targetBox:a}]}function j(e,t){const n=t,a={visual:{fill:"none",stroke:"#000"},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,a]}}(0,s.__name)(S,"extractNamespace"),(0,s.__name)(B,"extractName"),(0,s.__name)(A,"findSwimlaneByNamespace"),(0,s.__name)(F,"findNextAvailableIndex"),(0,s.__name)(T,"calculateSwimlaneProps"),(0,s.__name)($,"calculateEntityVisualProps"),(0,s.__name)(D,"calculateTextProps"),(0,s.__name)(E,"decidePositionFrame"),(0,s.__name)(C,"calculateX"),(0,s.__name)(R,"calculateMaxRight"),(0,s.__name)(W,"sortedSwimlanesArray"),(0,s.__name)(O,"evolveFramePositioned"),(0,s.__name)(H,"isFirstFrame"),(0,s.__name)(I,"hasSourceFrame"),(0,s.__name)(N,"findBoxByFrame"),(0,s.__name)(U,"findBoxByLineIndex"),(0,s.__name)(V,"decidePositionRelation"),(0,s.__name)(j,"evolveRelationPositioned");var z={[m]:E,[x]:V},L={[c]:O,[u]:j};function X(e,t){const n=z[t.$kind];if(null==n)return[];const a=n(e,t);return o.log.debug("decided events",a),a}function G(e,t){const n=t.reduce((e,t)=>{const n=L[t.$kind];return null==n?e:n(e,t)},e);return o.log.debug("evolve events",{state:e,newState:n,events:t}),n}function Y(e,t){return G(e,X(e,t))}(0,s.__name)(X,"decide"),(0,s.__name)(G,"evolve"),(0,s.__name)(Y,"dispatch");var q={getConfig:_,setOptions:g,getOptions:f,clear:h,setAccTitle:r.setAccTitle,getAccTitle:r.getAccTitle,getAccDescription:r.getAccDescription,setAccDescription:r.setAccDescription,setDiagramTitle:r.setDiagramTitle,getDiagramTitle:r.getDiagramTitle,setAst:y,getDiagramProps:M,getState:v},J={parse:(0,s.__name)(async e=>{const t=await(0,l.parse)("eventmodeling",e);o.log.debug(t),q.setAst(t),(0,a.populateCommonDb)(t,q)},"parse")},K=(0,r.getConfig2)(),Q=K?.eventmodeling;function Z(e,t){return n=>{const a=n.swimlane.y+t.swimlanePadding,i=e.append("g").attr("class","em-box");i.append("rect").attr("x",n.x).attr("y",a).attr("rx","3").attr("width",n.dimension.width).attr("height",n.dimension.height).attr("stroke",n.visual.stroke).attr("fill",n.visual.fill),i.append("foreignObject").attr("x",n.x+t.boxPadding).attr("y",a+10).attr("width",n.dimension.width-2*t.boxPadding).attr("height",n.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(n.text)}}function ee(e,t){return e>t}function te(e,t,n,a){return i=>{const r=i.sourceBox.swimlane.y+t.swimlanePadding,s=i.targetBox.swimlane.y+t.swimlanePadding,l=ee(r,s),d=i.sourceBox.x+2*i.sourceBox.dimension.width/3,m=i.targetBox.x+i.targetBox.dimension.width/3;let c,x;o.log.debug(`rendering relation up=${l} for `,{sourceBox:i.sourceBox,targetBox:i.targetBox}),l?(c=r,x=s+i.targetBox.dimension.height):(c=r+i.sourceBox.dimension.height,x=s);const u=a.emRelationStroke??i.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",i.visual.fill).attr("stroke",u).attr("stroke-width","1").attr("marker-end",`url(#${n})`).attr("d",`M${d} ${c} L${m} ${x}`)}}function ne(e,t,n,a){return i=>{const r=e.append("g").attr("class","em-swimlane"),o=a.emSwimlaneBackgroundOdd??"rgb(250,250,250)",s=a.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",i.y).attr("rx","3").attr("width",t+n.swimlanePadding).attr("height",i.height).attr("fill",o).attr("stroke",s),r.append("text").attr("font-weight",n.swimlaneTextFontWeight).attr("x",30).attr("y",i.y+30).text(i.label)}}(0,s.__name)(Z,"renderD3Box"),(0,s.__name)(ee,"dirUpwards"),(0,s.__name)(te,"renderD3Relation"),(0,s.__name)(ne,"renderD3Swimlane");var ae={parser:J,db:q,renderer:{draw:(0,s.__name)(function(e,t,n,a){if(o.log.debug("in eventmodeling renderer",e+"\n","id:",t,n),!Q)throw new Error("EventModeling config not found");const i=a.db,{themeVariables:s,eventmodeling:l}=(0,r.getConfig2)(),m=(0,d.select)(`[id="${t}"]`),c=i.getDiagramProps(),x=i.getState(),u=`em-arrowhead-${t}`,g=s.emArrowhead??"#000000";x.sortedSwimlanesArray.forEach(ne(m,x.maxR,c,s)),x.boxes.forEach(Z(m,c)),x.relations.forEach(te(m,c,u,s)),m.append("defs").append("marker").attr("id",u).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",g),(0,r.setupGraphViewbox2)(void 0,m,l?.padding??30,l?.useMaxWidth)},"draw")},styles:(0,s.__name)(e=>"","getStyles")}}}; //# sourceMappingURL=1037.js.map