Skip to content

Commit 347b4a5

Browse files
authored
Merge pull request #6 from serverless-cd/shl/dev
pipeline init suport enable
2 parents f7e7b3a + e0c8c82 commit 347b4a5

File tree

9 files changed

+78
-47
lines changed

9 files changed

+78
-47
lines changed
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
import { FC } from 'react';
1+
import React, { FC } from 'react';
2+
import { Node } from 'react-flow-renderer';
23
import './index.less';
34
export interface IPipelineInitNode {
4-
label: string | Element;
5+
label: React.ReactNode;
6+
enable: boolean;
57
selected?: boolean;
68
selectable?: boolean;
79
[key: string]: any;
810
}
911
export interface IPipelineInitNodeProps {
1012
nodes: IPipelineInitNode[];
11-
onClick?: (node: IPipelineInitNode) => void;
13+
onClick?: (node: Node<any>) => void;
1214
}
1315
export declare const PipelineInitNode: FC<IPipelineInitNodeProps>;

dist/esm/PipelineInitNode/index.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ var getData = function getData(nodes) {
152152
},
153153
draggable: false,
154154
connectable: false,
155+
className: ''.concat(_node.className, ' ').concat(_node.enable ? 'enable' : ''),
155156
},
156157
_node,
157158
);
@@ -182,8 +183,6 @@ var getData = function getData(nodes) {
182183
lastNode = nodeObj;
183184
}
184185

185-
console.log('newNodes', newNodes);
186-
console.log('newEdges', newEdges);
187186
return {
188187
newNodes: newNodes,
189188
newEdges: newEdges,
@@ -206,8 +205,6 @@ export var PipelineInitNode = function PipelineInitNode(props) {
206205

207206
useEffect(
208207
function () {
209-
console.log('originNodes', originNodes);
210-
211208
var _getData = getData(originNodes),
212209
newNodes = _getData.newNodes,
213210
newEdges = _getData.newEdges;

dist/esm/PipelineInitNode/index.less

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,35 @@
11
.serverless-cd-pipeline-init-container {
22
min-height: 200px;
3-
.react-flow__node.circle {
4-
display: flex;
5-
align-items: center;
6-
justify-content: center;
7-
width: 60px;
8-
height: 60px;
9-
color: white;
10-
font-weight: 700;
11-
background: #2b6cb0;
12-
border-radius: 50%;
13-
cursor: unset;
14-
}
15-
.react-flow__node-default.selectable.selected {
16-
color: #0070cc;
17-
border-color: #0070cc;
18-
box-shadow: 0 0 0 0.5px #0070cc !important;
3+
.react-flow__node {
4+
&.circle {
5+
display: flex;
6+
align-items: center;
7+
justify-content: center;
8+
width: 60px;
9+
height: 60px;
10+
color: white;
11+
font-weight: 700;
12+
background: #2b6cb0;
13+
border: 1px solid #1a192b;
14+
border-radius: 50%;
15+
cursor: unset;
16+
&.selected {
17+
color: white;
18+
background: #2b6cb0;
19+
border: 1px solid #1a192b;
20+
box-shadow: unset !important;
21+
}
22+
}
23+
border: 1px solid #ccc;
24+
&.enable {
25+
border: 1px solid #0070cc;
26+
}
27+
&.selected {
28+
font-weight: bold;
29+
background: #ebf4fb;
30+
border: 1px solid #0070cc;
31+
box-shadow: 0 0 0 0.5px #0070cc !important;
32+
}
1933
}
2034
.react-flow__attribution {
2135
display: none;

dist/esm/PipelineProcessNode/types.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { ReactNode } from 'react';
12
import { Node } from 'react-flow-renderer';
23
export declare enum IPipelineProcessNodeStatus {
34
PENDING = 'pending',
@@ -14,7 +15,7 @@ export declare enum IPipelineProcessNodeStatusColor {
1415
warn = 'rgb(255, 164, 61)',
1516
}
1617
export interface IPipelineProcessNode {
17-
label: string | Element;
18+
label: ReactNode;
1819
status?: `${IPipelineProcessNodeStatus}`;
1920
selected?: boolean;
2021
selectable?: boolean;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@serverless-cd/ui",
3-
"version": "0.0.2",
3+
"version": "0.0.3",
44
"scripts": {
55
"start": "dumi dev",
66
"docs:build": "dumi build",

src/PipelineInitNode/index.less

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,35 @@
11
.serverless-cd-pipeline-init-container {
22
min-height: 200px;
3-
.react-flow__node.circle {
4-
display: flex;
5-
align-items: center;
6-
justify-content: center;
7-
width: 60px;
8-
height: 60px;
9-
color: white;
10-
font-weight: 700;
11-
background: #2b6cb0;
12-
border-radius: 50%;
13-
cursor: unset;
14-
}
15-
.react-flow__node-default.selectable.selected {
16-
color: #0070cc;
17-
border-color: #0070cc;
18-
box-shadow: 0 0 0 0.5px #0070cc !important;
3+
.react-flow__node {
4+
&.circle {
5+
display: flex;
6+
align-items: center;
7+
justify-content: center;
8+
width: 60px;
9+
height: 60px;
10+
color: white;
11+
font-weight: 700;
12+
background: #2b6cb0;
13+
border: 1px solid #1a192b;
14+
border-radius: 50%;
15+
cursor: unset;
16+
&.selected {
17+
color: white;
18+
background: #2b6cb0;
19+
border: 1px solid #1a192b;
20+
box-shadow: unset !important;
21+
}
22+
}
23+
border: 1px solid #ccc;
24+
&.enable {
25+
border: 1px solid #0070cc;
26+
}
27+
&.selected {
28+
font-weight: bold;
29+
background: #ebf4fb;
30+
border: 1px solid #0070cc;
31+
box-shadow: 0 0 0 0.5px #0070cc !important;
32+
}
1933
}
2034
.react-flow__attribution {
2135
display: none;

src/PipelineInitNode/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const defaultNodes = [
1313
},
1414
{
1515
label: <div>代码源</div>,
16+
enable: true,
1617
},
1718
{
1819
label: <div>前置检查</div>,
@@ -22,6 +23,7 @@ const defaultNodes = [
2223
style: {
2324
width: 160,
2425
},
26+
enable: true,
2527
},
2628
{
2729
label: <div>灰度</div>,

src/PipelineInitNode/index.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,20 @@ import ReactFlow, {
66
Edge,
77
useNodesState,
88
useEdgesState,
9+
Node,
910
} from 'react-flow-renderer';
1011
import './index.less';
1112

1213
export interface IPipelineInitNode {
13-
label: string | Element;
14+
label: React.ReactNode;
15+
enable: boolean;
1416
selected?: boolean;
1517
selectable?: boolean;
1618
[key: string]: any;
1719
}
1820
export interface IPipelineInitNodeProps {
1921
nodes: IPipelineInitNode[];
20-
onClick?: (node: IPipelineInitNode) => void;
22+
onClick?: (node: Node<any>) => void;
2123
}
2224

2325
const getData = (nodes: IPipelineInitNode[]) => {
@@ -44,6 +46,7 @@ const getData = (nodes: IPipelineInitNode[]) => {
4446
position: { x: gap, y: node.className === 'circle' ? -10 : 0 },
4547
draggable: false,
4648
connectable: false,
49+
className: `${node.className} ${node.enable ? 'enable' : ''}`,
4750
...node,
4851
};
4952
if (index === '0') {
@@ -70,8 +73,6 @@ const getData = (nodes: IPipelineInitNode[]) => {
7073
newEdges.push(edgeObj);
7174
lastNode = nodeObj;
7275
}
73-
console.log('newNodes', newNodes);
74-
console.log('newEdges', newEdges);
7576
return { newNodes, newEdges };
7677
};
7778

@@ -80,7 +81,6 @@ export const PipelineInitNode: FC<IPipelineInitNodeProps> = (props) => {
8081
const [nodes, setNodes] = useNodesState([]);
8182
const [edges, setEdges] = useEdgesState([]);
8283
useEffect(() => {
83-
console.log('originNodes', originNodes);
8484
const { newNodes, newEdges } = getData(originNodes);
8585
setNodes(newNodes);
8686
setEdges(newEdges);

src/PipelineProcessNode/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { ReactNode } from 'react';
12
import { Node } from 'react-flow-renderer';
23

34
export enum IPipelineProcessNodeStatus {
@@ -16,7 +17,7 @@ export enum IPipelineProcessNodeStatusColor {
1617
warn = 'rgb(255, 164, 61)',
1718
}
1819
export interface IPipelineProcessNode {
19-
label: string | Element;
20+
label: ReactNode;
2021
status?: `${IPipelineProcessNodeStatus}`;
2122
selected?: boolean;
2223
selectable?: boolean;

0 commit comments

Comments
 (0)