166 lines
3.2 KiB
Plaintext
166 lines
3.2 KiB
Plaintext
.workflow-design {
|
|
position: relative;
|
|
height: calc(100vh - 184px); // 120px + 24px * 2 + 16px
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: #fff;
|
|
|
|
.header {
|
|
padding: 16px;
|
|
border-bottom: 1px solid #f0f0f0;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
|
|
.back-button {
|
|
margin-right: 16px;
|
|
}
|
|
|
|
.actions {
|
|
.ant-space-compact {
|
|
margin-right: 8px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.content {
|
|
flex: 1;
|
|
min-height: 0;
|
|
display: flex;
|
|
padding: 16px;
|
|
gap: 16px;
|
|
overflow: hidden; // 防止外层出现滚动条
|
|
|
|
.sidebar {
|
|
width: 280px;
|
|
flex-shrink: 0;
|
|
border-radius: 4px;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden; // 防止sidebar本身出现滚动条
|
|
|
|
:global {
|
|
.ant-collapse {
|
|
border: none;
|
|
background: transparent;
|
|
flex: 1;
|
|
overflow-y: auto; // 只在折叠面板内部显示滚动条
|
|
|
|
.ant-collapse-item {
|
|
border-radius: 0;
|
|
|
|
.ant-collapse-header {
|
|
padding: 8px 16px;
|
|
}
|
|
|
|
.ant-collapse-content-box {
|
|
padding: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.node-item {
|
|
padding: 8px 16px;
|
|
margin: 4px 8px;
|
|
border: 1px solid #d9d9d9;
|
|
border-radius: 4px;
|
|
cursor: move;
|
|
transition: all 0.3s;
|
|
|
|
&:hover {
|
|
background: #f5f5f5;
|
|
border-color: #1890ff;
|
|
}
|
|
}
|
|
}
|
|
|
|
.main-area {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-width: 0;
|
|
|
|
.workflow-container {
|
|
flex: 1;
|
|
position: relative;
|
|
border: 1px solid #d9d9d9;
|
|
border-radius: 4px;
|
|
background: #f5f5f5;
|
|
overflow: hidden;
|
|
|
|
.workflow-canvas {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.minimap-container {
|
|
position: absolute;
|
|
right: 20px;
|
|
bottom: 20px;
|
|
width: var(--minimap-width);
|
|
height: var(--minimap-height);
|
|
border: 1px solid #f0f0f0;
|
|
border-radius: 4px;
|
|
background: #fff;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
z-index: 1;
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
:global {
|
|
.node-selected {
|
|
> rect {
|
|
stroke: #1890ff;
|
|
stroke-width: 2px;
|
|
}
|
|
|
|
> path {
|
|
stroke: #1890ff;
|
|
stroke-width: 2px;
|
|
}
|
|
}
|
|
|
|
.x6-node-selected {
|
|
rect {
|
|
stroke: #1890ff;
|
|
stroke-width: 2px;
|
|
}
|
|
}
|
|
|
|
.x6-edge-selected {
|
|
path {
|
|
stroke: #1890ff;
|
|
stroke-width: 2px !important;
|
|
}
|
|
}
|
|
|
|
// 右键菜单样式
|
|
.x6-context-menu {
|
|
background: #fff;
|
|
border-radius: 4px;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
padding: 4px 0;
|
|
min-width: 120px;
|
|
|
|
&-item {
|
|
padding: 5px 16px;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
transition: all 0.3s;
|
|
color: rgba(0, 0, 0, 0.85);
|
|
font-size: 14px;
|
|
|
|
&:hover {
|
|
background: #f5f5f5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|