antd-management-fast-flow 1.0.3

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.
@@ -0,0 +1,20 @@
1
+ export function BackwardEdge({ id, data, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, borderRadius, centerX, centerY, offset, style, markerEnd, }: {
2
+ id: any;
3
+ data: any;
4
+ sourceX: any;
5
+ sourceY: any;
6
+ targetX: any;
7
+ targetY: any;
8
+ sourcePosition: any;
9
+ targetPosition: any;
10
+ borderRadius: any;
11
+ centerX: any;
12
+ centerY: any;
13
+ offset: any;
14
+ style?: {} | undefined;
15
+ markerEnd: any;
16
+ }): React.JSX.Element;
17
+ export namespace BackwardEdge {
18
+ let defaultProps: {};
19
+ }
20
+ import React from 'react';
@@ -0,0 +1,4 @@
1
+ export function EndNode(properties: any): import("react").JSX.Element;
2
+ export namespace EndNode {
3
+ let defaultProps: {};
4
+ }
@@ -0,0 +1,9 @@
1
+ export class ForwardEdge extends React.PureComponent<any, any, any> {
2
+ constructor(props: any);
3
+ constructor(props: any, context: any);
4
+ render(): React.JSX.Element;
5
+ }
6
+ export namespace ForwardEdge {
7
+ let defaultProps: {};
8
+ }
9
+ import React from 'react';
@@ -0,0 +1 @@
1
+ export function GraphicDescription(): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ export function GraphicHelper(): import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ export class IntermediateNode extends PureComponent<any, any, any> {
2
+ constructor(props: any);
3
+ constructor(props: any, context: any);
4
+ render(): import("react").JSX.Element;
5
+ }
6
+ export namespace IntermediateNode {
7
+ namespace defaultProps {
8
+ let color: string;
9
+ }
10
+ }
11
+ import { PureComponent } from 'react';
@@ -0,0 +1,4 @@
1
+ export function StartNode(properties: any): import("react").JSX.Element;
2
+ export namespace StartNode {
3
+ let defaultProps: {};
4
+ }
@@ -0,0 +1,15 @@
1
+ export const targetPointColor: "#4e44f2";
2
+ export const sourcePointColor: "#a98477";
3
+ export const forwardEdgeColor: "#b1b1b7";
4
+ export const forwardEdgeTextColor: "rgba(211, 220, 50, .6)";
5
+ export const backwardEdgeColor: "#FF0072";
6
+ export const backwardEdgeTextColor: "rgba(921, 120, 90, .6)";
7
+ export const startNodeBackgroundColor: "#e895d2";
8
+ export const intermediateNodeBackgroundColor: "#f66902";
9
+ export const endNodeBackgroundColor: "#c2fa32";
10
+ export namespace startNodeHeaderStyle {
11
+ export { startNodeBackgroundColor as backgroundColor };
12
+ }
13
+ export namespace endNodeHeaderStyle {
14
+ export { endNodeBackgroundColor as backgroundColor };
15
+ }
@@ -0,0 +1,14 @@
1
+ export namespace nodeTypes {
2
+ export { IntermediateNode as intermediate };
3
+ export { StartNode as start };
4
+ export { EndNode as end };
5
+ }
6
+ export namespace edgeTypes {
7
+ export { ForwardEdge as forward };
8
+ export { BackwardEdge as backward };
9
+ }
10
+ import { IntermediateNode } from './IntermediateNode';
11
+ import { StartNode } from './StartNode';
12
+ import { EndNode } from './EndNode';
13
+ import { ForwardEdge } from './ForwardEdge';
14
+ import { BackwardEdge } from './BackwardEdge';
@@ -0,0 +1,13 @@
1
+ export * from "./tools";
2
+ export function Flow(properties: any): React.JSX.Element;
3
+ export namespace Flow {
4
+ namespace defaultProps {
5
+ let canEdit: boolean;
6
+ let nodeNameKey: string;
7
+ let listApproverKey: string;
8
+ let personnelNameKey: string;
9
+ let personnelNameLabel: string;
10
+ function onEdgeCreate(): void;
11
+ }
12
+ }
13
+ import React from 'react';
@@ -0,0 +1,2 @@
1
+ export function adjustNode(o: any): any;
2
+ export function adjustEdge(o: any): any;
@@ -0,0 +1,11 @@
1
+ export function FlowProcessHistory(properties: any): import("react").JSX.Element;
2
+ export namespace FlowProcessHistory {
3
+ namespace defaultProps {
4
+ let style: {};
5
+ let canEdit: boolean;
6
+ let list: never[];
7
+ let listItemConvert: null;
8
+ let nextData: null;
9
+ let nextDataConvert: null;
10
+ }
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./Flow";
2
+ export * from "./FlowProcessHistory";
package/es/index.css ADDED
@@ -0,0 +1,3 @@
1
+ .antd-management-fast-flow-test{color:#fff}
2
+ .node{background-color:transparent;border-radius:0 0 5px 5px;box-shadow:0 2px 3px 0 rgba(0,112,204,.06)}.node .header{background-color:#f66902;border:1px solid #d9d9d9;border-radius:5px 5px 0 0;color:#fff;padding:10px;width:250px}.node .content{background-color:#fff;border:1px solid #d9d9d9;border-radius:0 0 5px 5px;border-top:none;color:#222;padding-bottom:8px}.node .content .inner{padding-left:10px;padding-right:10px;padding-top:10px}.node .content .info .ant-input-sm{background-color:hsla(0,0%,100%,.8);height:29px}.node .content .history{border-top:1px solid #eee;font-size:12px;margin-top:10px;padding:5px 0}.node_next{animation:node-current-linear-gradient-move 3s linear infinite;border:2px solid;-o-border-image:linear-gradient(45deg,gold,#ff1493) 1;border-image:linear-gradient(45deg,gold,#ff1493) 1;-webkit-clip-path:inset(0 round 5px);clip-path:inset(0 round 5px);filter:hue-rotate(1turn)}@keyframes node-current-linear-gradient-move{0%{filter:hue-rotate(0deg)}to{filter:hue-rorate(1turn)}}
3
+ .react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:hsla(0,0%,100%,.5);font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px rgba(0,0,0,.08)}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:hsla(0,0%,94%,.25)}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px rgba(0,0,0,.08)}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
package/es/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./components";
package/es/index.js ADDED
@@ -0,0 +1 @@
1
+ import e,{PureComponent as t,useEffect as n}from"react";import r,{getSmoothStepPath as a,BaseEdge as o,EdgeLabelRenderer as l,Handle as c,Position as i,MarkerType as p,useNodesState as s,useEdgesState as u,Controls as d,MiniMap as f,Panel as m,Background as y}from"reactflow";import{getValueByKey as g,isFunction as b,convertCollection as E,checkStringIsNullOrWhiteSpace as x,buildRandomHexColor as R,isArray as h}from"easy-soft-utility";import{Typography as v,Space as k,Divider as C,Button as P,Card as w,Alert as S,Empty as N,Timeline as O}from"antd";import{iconBuilder as j,FlexBox as A,VerticalBox as z,ColorText as K,CenterBox as T,HelpBox as B}from"antd-management-fast-component";import L from"classnames";function Y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,c=[],i=!0,p=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);i=!0);}catch(e){p=!0,a=e}finally{try{if(!i&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(p)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Y(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function _(e){var t=function(e,t){if("object"!==X(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==X(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===X(t)?t:String(t)}function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?F(Object(n),!0).forEach((function(t){var r,a,o;r=e,a=t,o=n[t],(a=_(a))in r?Object.defineProperty(r,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[a]=o})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var V="#4e44f2",H="#a98477",J="rgba(211, 220, 50, .6)",M="rgba(921, 120, 90, .6)",U="#e895d2",W="#f66902",$="#c2fa32",q={backgroundColor:U},G={backgroundColor:$},Q=v.Text,Z=function(t){var n=t.id,r=t.data,c=t.sourceX,i=t.sourceY,p=t.targetX,s=t.targetY,u=t.sourcePosition,d=t.targetPosition,f=t.borderRadius,m=t.centerX,y=t.centerY,E=t.offset,x=t.style,R=void 0===x?{}:x,h=t.markerEnd,v=D(a({sourceX:c,sourceY:i,sourcePosition:u,targetX:p,targetY:s,targetPosition:d,borderRadius:f,centerX:m,centerY:y,offset:E}),3),C=v[0],P=v[1],w=v[2],S=I({canEdit:!1},r),N=S.data,O=S.canEdit,A=S.onChange,z=S.onRemove,K=g({data:N,key:"title"}),T=g({data:N,key:"description"});return e.createElement(e.Fragment,null,e.createElement(o,{id:n,path:C,markerEnd:h,style:R}),e.createElement(l,null,e.createElement("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(P,"px,").concat(w,"px)"),background:"#ffcc00",padding:6,borderRadius:5,fontSize:12,pointerEvents:"all"},title:T||""},e.createElement(k,null,e.createElement(Q,{style:{fontSize:"12px",padding:"0.5px 2px",border:"1.2mm ridge ".concat(M),color:"#666"}},K||"回退"),O?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击变更连线",onClick:function(e){e.stopPropagation(),b(A)&&A(N)}},j.edit()):null,O?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击移除连线",onClick:function(e){e.stopPropagation(),b(z)&&z(N)}},j.delete()):null))))};Z.defaultProps={};var ee=void 0,te=function(e){var t=e.size,n=e.data,r=e.onClick,a=I({canEdit:!1},n),o=a.data,l=a.canEdit,p=a.onRemove,s=g({data:o,key:"name"}),u=g({data:o,key:"description"});return React.createElement(React.Fragment,null,React.createElement("div",{className:ee.node,onClick:r,title:u||""},React.createElement("div",{className:ee.header,style:G},React.createElement(A,{flexAuto:"left",left:React.createElement(z,null,React.createElement(K,{style:{color:"#ffe4c4"},color:"#333",separator:" ",textPrefixStyle:{marginRight:"6px"},text:s||"终止点"})),right:l?React.createElement(k,null,React.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击移除节点",onClick:function(e){e.stopPropagation(),b(p)&&p(o)}},j.delete())):null})),"small"!==t&&React.createElement("div",{className:ee.content},React.createElement("div",{className:ee.inner},React.createElement("div",{className:ee.info},React.createElement(K,{text:"此节点为终止节点,代表流程结束。"}))))),React.createElement(c,{type:"target",position:i.Top,id:"top",style:{background:V},isConnectable:!0}),React.createElement(c,{type:"target",position:i.Left,id:"left",style:{top:"50%",background:V},isConnectable:!0}),React.createElement(c,{type:"target",position:i.Right,id:"right",style:{top:"50%",background:V},isConnectable:!0}),React.createElement(c,{type:"target",position:i.Bottom,id:"bottom",style:{top:"100%",background:V},isConnectable:!0}))};function ne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function re(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_(r.key),r)}}function ae(e,t,n){return t&&re(e.prototype,t),n&&re(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function oe(e,t){return oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},oe(e,t)}function le(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&oe(e,t)}function ce(e,t){if(t&&("object"===X(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function ie(e){return ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ie(e)}function pe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ie(e);if(t){var a=ie(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return ce(this,n)}}te.defaultProps={};var se=v.Text,ue=function(n){le(c,t);var r=pe(c);function c(){return ne(this,c),r.apply(this,arguments)}return ae(c,[{key:"render",value:function(){var t=this.props,n=t.id,r=t.data,c=t.sourceX,i=t.sourceY,p=t.targetX,s=t.targetY,u=t.sourcePosition,d=t.targetPosition,f=t.borderRadius,m=t.centerX,y=t.centerY,E=t.offset,x=t.markerEnd,R=t.style,h=D(a({sourceX:c,sourceY:i,sourcePosition:u,targetX:p,targetY:s,targetPosition:d,borderRadius:f,centerX:m,centerY:y,offset:E}),3),v=h[0],C=h[1],P=h[2],w=I({canEdit:!1},r),S=w.data,N=w.canEdit,O=w.onChange,A=w.onRemove,z=g({data:S,key:"title"}),K=g({data:S,key:"description"});return e.createElement(e.Fragment,null,e.createElement(o,{id:n,path:v,markerEnd:x,style:R}),e.createElement(l,null,e.createElement("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(C,"px,").concat(P,"px)"),background:"#ffcc00",padding:6,borderRadius:5,fontSize:12,pointerEvents:"all"},title:K||""},e.createElement(k,null,e.createElement(se,{style:{fontSize:"12px",padding:"0.5px 2px",border:"1.2mm ridge ".concat(J)}},z||"前进"),N?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击变更连线",onClick:function(e){e.stopPropagation(),b(O)&&O(S)}},j.edit()):null,N?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击移除连线",onClick:function(e){e.stopPropagation(),b(A)&&A(S)}},j.delete()):null))))}}]),c}();function de(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ie(e);if(t){var a=ie(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return ce(this,n)}}ue.defaultProps={};var fe=function(e){le(r,t);var n=de(r);function r(){return ne(this,r),n.apply(this,arguments)}return ae(r,[{key:"render",value:function(){var e=this.props,t=e.data,n=e.size,r=I({canEdit:!1,nodeNameKey:"nodeNameKey",listApproverKey:"listApprover",personnelNameKey:"personnelName",personnelNameLabel:""},t),a=r.data,o=r.isNext,l=r.canEdit,p=r.nodeNameKey,s=r.listApproverKey,u=r.personnelNameKey,d=r.personnelNameLabel,f=r.onAddApprover,m=r.onChange,y=r.onRemove,R=r.onRemoveApprover,h=g({data:a,key:p,defaultValue:"暂无"});console.log({dataSource:a,nodeNameKey:p});var v=g({data:a,key:s,convert:E.array}),w=v.length>0;return React.createElement(React.Fragment,null,React.createElement("div",{className:L(ee.node,o?ee.node_next:null)},React.createElement("div",{className:ee.header},React.createElement(A,{flexAuto:"left",left:React.createElement(z,null,React.createElement(K,{style:{},color:"#333",separator:" ",textPrefixStyle:{marginRight:"6px"},text:h||"流程项"})),right:l?React.createElement(k,null,React.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击添加审批人",onClick:function(e){e.stopPropagation(),b(f)&&f(a)}},j.plusCircle()),React.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击编辑节点",onClick:function(e){e.stopPropagation(),b(m)&&m(a)}},j.edit()),React.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击移除节点",onClick:function(e){e.stopPropagation(),b(y)&&y(a)}},j.delete())):null})),"small"!==n&&React.createElement("div",{className:ee.content},React.createElement("div",{className:ee.inner},React.createElement("div",{className:ee.info},React.createElement(k,{direction:"vertical",style:{width:"100%"},split:React.createElement(C,{style:{margin:"0"}})},w&&v.map((function(e,t){var n=g({data:e,key:u,defaultValue:""});return React.createElement(A,{key:"user_".concat(t),flexAuto:"left",left:React.createElement(K,{textPrefix:d,text:n||"未设置",separatorStyle:{paddingRight:"3px"},textPrefixStyle:{color:"#333"},color:x(n)?"#ccc":""}),right:l?React.createElement(k,{split:React.createElement(C,{type:"vertical",style:{marginLeft:"1px",marginRight:"1px"}})},React.createElement(P,{size:"small",style:{padding:"0.5px 5px",fontSize:"12px"},title:"移除审批人",onClick:function(t){t.stopPropagation(),b(R)&&R(e)}},j.delete())):null})})),w?null:React.createElement("div",null,"未设置审批人",l?",点击 ":"",l?j.plusCircle():"",l?" 按钮添加":"","。")))))),React.createElement(c,{type:"target",id:"top",position:i.Top,style:{left:"45%",background:V},isConnectable:!0}),React.createElement(c,{type:"source",id:"top",position:i.Top,style:{left:"55%",background:H},isConnectable:!0}),React.createElement(c,{type:"target",position:i.Left,id:"left",style:{top:"33%",background:V},isConnectable:!0}),React.createElement(c,{type:"source",position:i.Left,id:"left",style:{top:"66%",background:H},isConnectable:!0}),React.createElement(c,{type:"target",position:i.Right,id:"right",style:{top:"66%",background:V},isConnectable:!0}),React.createElement(c,{type:"source",position:i.Right,id:"right",style:{top:"33%",background:H},isConnectable:!0}),React.createElement(c,{type:"target",id:"bottom",position:i.Bottom,style:{left:"55%",background:V},isConnectable:!0}),React.createElement(c,{type:"source",position:i.Bottom,id:"bottom",style:{left:"45%",background:H},isConnectable:!0}))}}]),r}();fe.defaultProps={color:"black"};var me=function(e){var t=e.size,n=e.onClick;return React.createElement(React.Fragment,null,React.createElement("div",{className:ee.node,onClick:n},React.createElement("div",{className:ee.header,style:q},React.createElement(A,{flexAuto:"left",left:React.createElement(z,null,React.createElement(K,{style:{color:"#ffe4c4"},color:"#333",separator:" ",text:"起始点"}))})),"small"!==t&&React.createElement("div",{className:ee.content},React.createElement("div",{className:ee.inner},React.createElement("div",{className:ee.info},React.createElement(K,{text:"此为流程发起唯一节点,无审批人。"}))))),React.createElement(c,{type:"target",id:"top",position:i.Top,style:{left:"45%",background:V},isConnectable:!0}),React.createElement(c,{type:"source",id:"top",position:i.Top,style:{left:"55%",background:H},isConnectable:!0}),React.createElement(c,{type:"target",position:i.Left,id:"left",style:{top:"33%",background:V},isConnectable:!0}),React.createElement(c,{type:"source",position:i.Left,id:"left",style:{top:"66%",background:H},isConnectable:!0}),React.createElement(c,{type:"target",position:i.Right,id:"right",style:{top:"66%",background:V},isConnectable:!0}),React.createElement(c,{type:"source",position:i.Right,id:"right",style:{top:"33%",background:H},isConnectable:!0}),React.createElement(c,{type:"target",id:"bottom",position:i.Bottom,style:{left:"55%",background:V},isConnectable:!0}),React.createElement(c,{type:"source",position:i.Bottom,id:"bottom",style:{left:"45%",background:H},isConnectable:!0}))};me.defaultProps={};var ye={intermediate:fe,start:me,end:te},ge={forward:ue,backward:Z};function be(){return React.createElement(w,{title:"图示说明:",size:"small"},React.createElement("div",{style:{width:"120px"}},React.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:React.createElement(T,null,React.createElement("div",{style:{height:"10px",width:"16px",backgroundColor:U,borderRadius:"3px"}})),right:"流程起始节点"})),React.createElement("div",{style:{width:"120px"}},React.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:React.createElement(T,null,React.createElement("div",{style:{height:"10px",width:"16px",backgroundColor:W,borderRadius:"3px"}})),right:"流程中间节点"})),React.createElement("div",{style:{width:"120px"}},React.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:React.createElement(T,null,React.createElement("div",{style:{height:"10px",width:"16px",backgroundColor:$,borderRadius:"3px"}})),right:"流程终止节点"})),React.createElement("div",{style:{width:"120px"}},React.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:React.createElement(T,null,React.createElement("div",{style:{height:"10px",width:"16px",border:"2px solid",borderImage:"linear-gradient(45deg, gold, deeppink) 1",clipPath:"inset(0px round 5px)",filter:"hue-rotate(360deg)"}})),right:"等待流转节点"})),React.createElement(C,{type:"horizontal",style:{marginTop:"6px",marginBottom:"6px"}}),React.createElement("div",{style:{width:"120px"}},React.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:React.createElement(T,null,React.createElement("div",{style:{height:"6px",width:"6px",backgroundColor:H,borderRadius:"50%"}})),right:"节点流程出口"})),React.createElement("div",null,React.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:React.createElement(T,null,React.createElement("div",{style:{height:"6px",width:"6px",backgroundColor:V,borderRadius:"50%"}})),right:"节点流程入口"})),React.createElement(C,{type:"horizontal",style:{marginTop:"6px",marginBottom:"6px"}}),React.createElement("div",null,React.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:React.createElement(T,null,React.createElement("div",{style:{height:"2px",width:"100%",backgroundColor:J}})),right:"前进流程标签"})),React.createElement("div",null,React.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:React.createElement(T,null,React.createElement("div",{style:{height:"2px",width:"100%",backgroundColor:M}})),right:"回退流程标签"})))}function Ee(){return React.createElement(w,{title:"操作说明:",size:"small"},React.createElement("div",{style:{width:"180px"}},React.createElement(B,{showTitle:!1,showNumber:!0,labelWidth:18,list:[{text:"起始节点仅能存在一个。"},{text:"点击 ”编辑“ 可设置节点信息。"},{text:"点击 ”更改“ 可设置节点审核人信息。"},{text:"点击 ”变更“ 可设置连线信息。"},{text:"点击 刷新图标 可重新加载信息。"},{text:"点击 删除图标 可删除节点或连线。"}],useBackground:!1})))}function xe(e){return I({position:{x:0,y:0},canEdit:!1},e)}function Re(e){var t=g({data:e,key:"index",convert:E.number}),n=g({data:e,key:"forward",convert:E.boolean}),r=t>0?R({seed:30*t+t+2}):"#b1b1b7",a=t>0?R({seed:30*t+t+2}):"#FF0072";return I(I({animated:!0,canEdit:!1,sourceHandle:n?"bottom":"right",targetHandle:n?"top":"right"},e),{},{type:n?"forward":"backward",markerEnd:{type:p.ArrowClosed,color:n?r:a},style:{stroke:n?r:a}})}var he={};function ve(t){var a=t.canEdit,o=t.nodeNameKey,l=t.listApproverKey,c=t.personnelNameKey,i=t.personnelNameLabel,p=t.nodes,g=t.edges,E=t.updateViewConfig,x=t.onEdgeCreate,R=h(p)?p:[],v=h(g)?g:[],k=D(s([]),3),C=k[0],P=k[1],w=k[2],S=D(u([]),3),N=S[0],O=S[1],j=S[2];n((function(){P(R),O(v)}),[R,v]);var A=C.map((function(e){return e.data.canEdit=a,e.data.nodeNameKey=o,e.data.listApproverKey=l,e.data.personnelNameKey=c,e.data.personnelNameLabel=i,e})),z=N.map((function(e){return e.data.canEdit=a,e}));return e.createElement(r,{fitView:!0,nodes:A,edges:z,onConnect:function(e){b(x)&&x(e)},onNodesChange:function(e){a&&w(e)},onEdgesChange:function(e){a&&j(e)},onNodeDragStart:function(e,t){if(a){var n=t.position;he=n}},onNodeDragStop:function(e,t){if(a&&b(E)){var n=t.position,r=t.data.data,o=n.x,l=n.y,c=he,i=c.x,p=c.y;o==i&&l==p||E({viewConfigData:JSON.stringify({position:n})},r)}},nodeTypes:ye,edgeTypes:ge},e.createElement(d,null),e.createElement(f,{zoomable:!0,pannable:!0}),e.createElement(m,{position:"top-left"},e.createElement(be,null)),e.createElement(m,{position:"top-right"},a?e.createElement(Ee,null):null),e.createElement(y,null))}ve.defaultProps={canEdit:!0,nodeNameKey:"nodeNameKey",listApproverKey:"listApprover",personnelNameKey:"personnelNameKey",personnelNameLabel:"personnelNameLabel",onEdgeCreate:function(){}};var ke=v.Paragraph;function Ce(e){var t=e.style,n=e.list,r=e.listItemConvert,a=e.nextData,o=e.nextDataConvert,l=null==a?null:b(o)?o(a):a,c=(h(n)?n:[]).map((function(e){return b(r)?r(e):e}));null!=l&&c.push(l);var i=null;if(c.length<=0)i=React.createElement(N,null);else{var p=c.length,s=c.map((function(e,t){var n=I({titlePrefix:"审批节点",icon:null,color:null,notePrefix:"审批备注",resultPrefix:"审批结果",operatorNamePrefix:"审批人",timePrefix:"审批时间",compact:!1},e),r=n.titlePrefix,a=n.title,o=n.notePrefix,c=n.note,i=n.resultPrefix,s=n.result,u=n.operatorNamePrefix,d=n.operatorName,f=n.timePrefix,m=n.time,y=n.icon,g=n.color,b=n.compact;return{color:g||(null==l&&p===t+1?"blue":"gray"),dot:y,children:React.createElement(React.Fragment,null,x(a)?null:React.createElement(ke,null,React.createElement(K,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:r,text:a})),b||x(s)?null:React.createElement(ke,null,React.createElement(K,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:i,text:s})),b||x(d)?null:React.createElement(ke,null,React.createElement(K,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:u,text:d})),b||x(c)?null:React.createElement(ke,null,React.createElement(K,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:o,text:c||"无备注"})),b||x(m)?null:React.createElement(ke,null,React.createElement(K,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:f,text:m})))}}));i=React.createElement(O,{reverse:!0,style:{marginTop:"10px"},items:s})}return React.createElement(A,{style:I(I({},t),{},{height:"100%"}),flexAuto:"right",left:React.createElement(C,{type:"vertical",style:{height:"100%"}}),right:React.createElement(A,{style:{height:"100%"},flexAuto:"bottom",topStyle:{paddingBottom:"6px"},top:React.createElement(S,{message:"审批进度:",type:"info"}),bottom:React.createElement("div",{style:{height:"100%",position:"relative"}},React.createElement("div",{style:{position:"absolute",left:0,top:0,paddingLeft:"6px",paddingRight:"6px",height:"100%",width:"100%",overflowY:"auto"}},i))})})}Ce.defaultProps={style:{},canEdit:!0,list:[],listItemConvert:null,nextData:null,nextDataConvert:null};export{ve as Flow,Ce as FlowProcessHistory,Re as adjustEdge,xe as adjustNode};
package/package.json ADDED
@@ -0,0 +1,124 @@
1
+ {
2
+ "name": "antd-management-fast-flow",
3
+ "version": "1.0.3",
4
+ "keywords": [
5
+ "antd-management-fast-flow"
6
+ ],
7
+ "homepage": "https://github.com/kityandhero/antd-management-fast-framework.git",
8
+ "bugs": {
9
+ "url": "https://github.com/kityandhero/antd-management-fast-framework/issues"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/kityandhero/antd-management-fast-framework.git"
14
+ },
15
+ "license": "MIT",
16
+ "author": "kityandhero <kityandhero@126.com>",
17
+ "main": "es/index.js",
18
+ "directories": {
19
+ "es": "es"
20
+ },
21
+ "files": [
22
+ "es"
23
+ ],
24
+ "scripts": {
25
+ "build:rollup": "rimraf ./es && rollup --config rollup.config.compression.js --bundleConfigAsCjs",
26
+ "postbuild:rollup": "npm run z:tsc:build",
27
+ "build:rollup:skipCompression": "rimraf ./es && rollup --config rollup.config.skipCompression.js --bundleConfigAsCjs",
28
+ "postbuild:rollup:skipCompression": "npm run z:tsc:build",
29
+ "dev:rollup": "rollup --config rollup.config.skipCompression.js --bundleConfigAsCjs --watch --watch.onBundleEnd=\"npm run z:tsc:build\"",
30
+ "precommit": "npm run z:lint:staged:quiet",
31
+ "z:auto:adjust:file": "echo can exec some file adjust command with here",
32
+ "prez:documentation:generate": "npx rimraf ./docs && npm run z:documentation:lint",
33
+ "z:documentation:generate": "npx documentation build src/** -f html --github -o docs",
34
+ "z:documentation:lint": "npx documentation lint src/**",
35
+ "z:lint:file:all": "npm run z:lint:script:all && npm run z:lint:style:all",
36
+ "z:lint:file:all:fix": "npm run z:lint:script:all:fix && npm run z:lint:style:all:fix",
37
+ "z:lint:file:change": "npm run z:lint:script:change && npm run z:lint:style:all",
38
+ "z:lint:file:change:fix": "npm run z:lint:script:change:fix && npm run z:lint:style:all:fix",
39
+ "z:lint:script:all": "npx eslint --ext .js,.jsx,.ts,.tsx ./src",
40
+ "z:lint:script:all:fix": "npx eslint --fix --ext .js,.jsx,.ts,.tsx ./src",
41
+ "postz:lint:script:all:fix": "npm run z:prettier:format:all",
42
+ "z:lint:script:change": "npx eslint --cache --ext .js,.jsx,.ts,.tsx ./src",
43
+ "z:lint:script:change:fix": "npx eslint --fix --cache --ext .js,.jsx,.ts,.tsx ./src",
44
+ "postz:lint:script:change:fix": "npm run z:prettier:format:change",
45
+ "z:lint:staged": "npx lint-staged",
46
+ "z:lint:staged:quiet": "npx lint-staged --quiet",
47
+ "z:lint:style:all": "npx stylelint --allow-empty-input \"./src/**/*.{css,scss,less}\"",
48
+ "z:lint:style:all:fix": "npx stylelint --allow-empty-input --fix \"./src/**/*.{css,scss,less}\"",
49
+ "postz:lint:style:all:fix": "npm run z:prettier:format:all",
50
+ "z:lint:style:change": "npx stylelint --allow-empty-input --cache \"./src/**/*.{css,scss,less}\"",
51
+ "z:lint:style:change:fix": "npx stylelint --allow-empty-input --cache --fix \"./src/**/*.{css,scss,less}\"",
52
+ "postz:lint:style:change:fix": "npm run z:prettier:format:change",
53
+ "z:prettier:format:all": "npx prettier --write .",
54
+ "z:prettier:format:change": "npx prettier --cache --write .",
55
+ "z:prettier:package.json": "npx prettier --write ./package.json",
56
+ "z:test": "cross-env NODE_ENV=test jest",
57
+ "z:tsc:build": "echo show tsc version and create declaration file && tsc -v && tsc -p ./tsconfig.types.json && echo declaration file generate complete"
58
+ },
59
+ "dependencies": {
60
+ "antd": "^5.10.3",
61
+ "antd-management-fast-common": "^2.6.38",
62
+ "antd-management-fast-component": "^2.6.56",
63
+ "classnames": "^2.3.2",
64
+ "easy-soft-utility": "^2.7.22",
65
+ "react": "^18.2.0",
66
+ "react-dom": "^18.2.0",
67
+ "reactflow": "^11.9.4"
68
+ },
69
+ "devDependencies": {
70
+ "@babel/core": "^7.23.2",
71
+ "@babel/eslint-parser": "^7.22.15",
72
+ "@babel/plugin-external-helpers": "^7.22.5",
73
+ "@babel/plugin-proposal-decorators": "^7.23.2",
74
+ "@babel/plugin-transform-class-properties": "^7.22.5",
75
+ "@babel/plugin-transform-runtime": "^7.23.2",
76
+ "@babel/preset-env": "^7.23.2",
77
+ "@babel/preset-react": "^7.22.15",
78
+ "@babel/runtime": "^7.23.2",
79
+ "@changesets/cli": "^2.26.2",
80
+ "@commitlint/cli": "^18.2.0",
81
+ "@commitlint/config-conventional": "^18.1.0",
82
+ "@commitlint/config-pnpm-scopes": "^18.1.0",
83
+ "@commitlint/cz-commitlint": "^18.2.0",
84
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
85
+ "@types/jest": "^29.5.7",
86
+ "@types/node": "^20.8.9",
87
+ "@types/react": "^18.2.33",
88
+ "@types/react-dom": "^18.2.14",
89
+ "@typescript-eslint/parser": "^6.9.1",
90
+ "antd": "^5.10.3",
91
+ "babel-jest": "^29.7.0",
92
+ "commitizen": "^4.3.0",
93
+ "conventional-changelog-conventionalcommits": "^7.0.2",
94
+ "cross-env": "^7.0.3",
95
+ "documentation": "^14.0.2",
96
+ "easy-soft-develop": "^2.1.45",
97
+ "eslint": "^8.52.0",
98
+ "eslint-config-airbnb": "^19.0.4",
99
+ "eslint-config-airbnb-typescript": "^17.1.0",
100
+ "eslint-config-prettier": "^9.0.0",
101
+ "eslint-formatter-pretty": "^6.0.0",
102
+ "eslint-import-resolver-typescript": "^3.6.1",
103
+ "eslint-plugin-eslint-comments": "^3.2.0",
104
+ "eslint-plugin-import": "^2.29.0",
105
+ "eslint-plugin-jest": "^27.6.0",
106
+ "eslint-plugin-jsx-a11y": "^6.7.1",
107
+ "eslint-plugin-prettier": "^5.0.1",
108
+ "eslint-plugin-promise": "^6.1.1",
109
+ "eslint-plugin-react": "^7.33.2",
110
+ "eslint-plugin-react-hooks": "^4.6.0",
111
+ "eslint-plugin-simple-import-sort": "^10.0.0",
112
+ "eslint-plugin-unicorn": "^49.0.0",
113
+ "husky": "^8.0.3",
114
+ "jest": "^29.7.0",
115
+ "lint-staged": "^15.0.2",
116
+ "prettier": "^3.0.3",
117
+ "prettier-plugin-organize-imports": "^3.2.3",
118
+ "prettier-plugin-packagejson": "^2.4.6",
119
+ "rimraf": "^5.0.5",
120
+ "stylelint": "^15.11.0",
121
+ "stylelint-config-prettier": "^9.0.5",
122
+ "stylelint-config-standard": "^34.0.0"
123
+ }
124
+ }