aldehyde 0.2.304 → 0.2.306
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.
- package/lib/detail/button/index.css +2 -2
- package/lib/detail/dtmpl.css +4 -0
- package/lib/form/dtmpl-form.d.ts.map +1 -1
- package/lib/form/dtmpl-form.js +3 -1
- package/lib/form/dtmpl-form.js.map +1 -1
- package/lib/icon/aliIcon.d.ts +4 -0
- package/lib/icon/aliIcon.d.ts.map +1 -0
- package/lib/icon/aliIcon.js +6 -0
- package/lib/icon/aliIcon.js.map +1 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/layout2/components/theme-button.d.ts +5 -0
- package/lib/layout2/components/theme-button.d.ts.map +1 -0
- package/lib/layout2/components/theme-button.js +32 -0
- package/lib/layout2/components/theme-button.js.map +1 -0
- package/lib/layout2/header.d.ts.map +1 -1
- package/lib/layout2/header.js +16 -0
- package/lib/layout2/header.js.map +1 -1
- package/lib/layout2/page.d.ts +1 -1
- package/lib/layout2/page.d.ts.map +1 -1
- package/lib/layout2/page.js +9 -9
- package/lib/layout2/page.js.map +1 -1
- package/lib/layout3/components/tabs-layout.d.ts +5 -0
- package/lib/layout3/components/tabs-layout.d.ts.map +1 -0
- package/lib/layout3/components/tabs-layout.js +68 -0
- package/lib/layout3/components/tabs-layout.js.map +1 -0
- package/lib/layout3/components/time.d.ts +7 -0
- package/lib/layout3/components/time.d.ts.map +1 -0
- package/lib/layout3/components/time.js +18 -0
- package/lib/layout3/components/time.js.map +1 -0
- package/lib/layout3/css/header.css +156 -0
- package/lib/layout3/css/main.css +18 -0
- package/lib/layout3/css/sider.css +13 -0
- package/lib/layout3/css/tabs-layout.css +41 -0
- package/lib/layout3/header.d.ts +11 -0
- package/lib/layout3/header.d.ts.map +1 -0
- package/lib/layout3/header.js +126 -0
- package/lib/layout3/header.js.map +1 -0
- package/lib/layout3/imgs/header-bg.png +0 -0
- package/lib/layout3/imgs/home-bg.png +0 -0
- package/lib/layout3/main.d.ts +8 -0
- package/lib/layout3/main.d.ts.map +1 -0
- package/lib/layout3/main.js +15 -0
- package/lib/layout3/main.js.map +1 -0
- package/lib/layout3/page.d.ts +8 -0
- package/lib/layout3/page.d.ts.map +1 -0
- package/lib/layout3/page.js +57 -0
- package/lib/layout3/page.js.map +1 -0
- package/lib/layout3/sider.d.ts +10 -0
- package/lib/layout3/sider.d.ts.map +1 -0
- package/lib/layout3/sider.js +124 -0
- package/lib/layout3/sider.js.map +1 -0
- package/lib/lowcode-components/bar-chart/index.d.ts.map +1 -1
- package/lib/lowcode-components/bar-chart/index.js +4 -1
- package/lib/lowcode-components/bar-chart/index.js.map +1 -1
- package/lib/lowcode-components/base-button/index.d.ts +22 -0
- package/lib/lowcode-components/base-button/index.d.ts.map +1 -0
- package/lib/lowcode-components/base-button/index.js +78 -0
- package/lib/lowcode-components/base-button/index.js.map +1 -0
- package/lib/lowcode-components/base-button/index.less +8 -0
- package/lib/lowcode-components/base-map/index.d.ts +5 -0
- package/lib/lowcode-components/base-map/index.d.ts.map +1 -1
- package/lib/lowcode-components/base-map/index.js +32 -3
- package/lib/lowcode-components/base-map/index.js.map +1 -1
- package/lib/lowcode-components/base-tabs/index.d.ts +28 -0
- package/lib/lowcode-components/base-tabs/index.d.ts.map +1 -0
- package/lib/lowcode-components/base-tabs/index.js +78 -0
- package/lib/lowcode-components/base-tabs/index.js.map +1 -0
- package/lib/lowcode-components/base-tabs/index.less +15 -0
- package/lib/lowcode-components/capsule-bar-chart/index.d.ts.map +1 -1
- package/lib/lowcode-components/capsule-bar-chart/index.js +4 -1
- package/lib/lowcode-components/capsule-bar-chart/index.js.map +1 -1
- package/lib/lowcode-components/column-3d-chart/index.d.ts.map +1 -1
- package/lib/lowcode-components/column-3d-chart/index.js +4 -1
- package/lib/lowcode-components/column-3d-chart/index.js.map +1 -1
- package/lib/lowcode-components/column-chart/index.d.ts.map +1 -1
- package/lib/lowcode-components/column-chart/index.js +4 -1
- package/lib/lowcode-components/column-chart/index.js.map +1 -1
- package/lib/lowcode-components/effectScatter-map/index.d.ts +5 -0
- package/lib/lowcode-components/effectScatter-map/index.d.ts.map +1 -1
- package/lib/lowcode-components/effectScatter-map/index.js +34 -3
- package/lib/lowcode-components/effectScatter-map/index.js.map +1 -1
- package/lib/lowcode-components/effectScatter-map-3d/index.d.ts +5 -0
- package/lib/lowcode-components/effectScatter-map-3d/index.d.ts.map +1 -1
- package/lib/lowcode-components/effectScatter-map-3d/index.js +31 -2
- package/lib/lowcode-components/effectScatter-map-3d/index.js.map +1 -1
- package/lib/lowcode-components/index.d.ts +4 -0
- package/lib/lowcode-components/index.d.ts.map +1 -1
- package/lib/lowcode-components/index.js +3 -1
- package/lib/lowcode-components/index.js.map +1 -1
- package/lib/lowcode-components/line-bar-chart/index.d.ts.map +1 -1
- package/lib/lowcode-components/line-bar-chart/index.js +4 -1
- package/lib/lowcode-components/line-bar-chart/index.js.map +1 -1
- package/lib/lowcode-components/line-chart/index.d.ts.map +1 -1
- package/lib/lowcode-components/line-chart/index.js +5 -2
- package/lib/lowcode-components/line-chart/index.js.map +1 -1
- package/lib/lowcode-components/lowcode-view/component/assets.d.ts.map +1 -1
- package/lib/lowcode-components/lowcode-view/component/assets.js +16 -0
- package/lib/lowcode-components/lowcode-view/component/assets.js.map +1 -1
- package/lib/lowcode-components/lowcode-view/component/util.d.ts +2 -0
- package/lib/lowcode-components/lowcode-view/component/util.d.ts.map +1 -0
- package/lib/lowcode-components/lowcode-view/component/util.js +30 -0
- package/lib/lowcode-components/lowcode-view/component/util.js.map +1 -0
- package/lib/lowcode-components/lowcode-view/index.d.ts.map +1 -1
- package/lib/lowcode-components/lowcode-view/index.js +27 -0
- package/lib/lowcode-components/lowcode-view/index.js.map +1 -1
- package/lib/lowcode-components/pie-chart/index.d.ts.map +1 -1
- package/lib/lowcode-components/pie-chart/index.js +60 -6
- package/lib/lowcode-components/pie-chart/index.js.map +1 -1
- package/lib/table/act-table.d.ts.map +1 -1
- package/lib/table/act-table.js +1 -2
- package/lib/table/act-table.js.map +1 -1
- package/lib/table/relation-table.d.ts +2 -2
- package/lib/table/relation-table.d.ts.map +1 -1
- package/lib/table/relation-table.js +29 -7
- package/lib/table/relation-table.js.map +1 -1
- package/lib/table/resizable-table.js +1 -1
- package/lib/table/resizable-table.js.map +1 -1
- package/lib/tmpl/interface.d.ts +2 -0
- package/lib/tmpl/interface.d.ts.map +1 -1
- package/lib/tmpl/interface.js.map +1 -1
- package/package.json +1 -1
- package/src/aldehyde/detail/button/index.css +2 -2
- package/src/aldehyde/detail/dtmpl.css +4 -0
- package/src/aldehyde/form/dtmpl-form.tsx +8 -1
- package/src/aldehyde/icon/aliIcon.tsx +8 -0
- package/src/aldehyde/index.tsx +5 -1
- package/src/aldehyde/layout2/components/theme-button.tsx +47 -0
- package/src/aldehyde/layout2/header.tsx +32 -10
- package/src/aldehyde/layout2/page.tsx +9 -8
- package/src/aldehyde/layout3/components/tabs-layout.tsx +106 -0
- package/src/aldehyde/layout3/components/time.tsx +25 -0
- package/src/aldehyde/layout3/css/header.css +156 -0
- package/src/aldehyde/layout3/css/main.css +18 -0
- package/src/aldehyde/layout3/css/sider.css +13 -0
- package/src/aldehyde/layout3/css/tabs-layout.css +41 -0
- package/src/aldehyde/layout3/header.tsx +174 -0
- package/src/aldehyde/layout3/imgs/header-bg.png +0 -0
- package/src/aldehyde/layout3/imgs/home-bg.png +0 -0
- package/src/aldehyde/layout3/main.tsx +28 -0
- package/src/aldehyde/layout3/page.tsx +82 -0
- package/src/aldehyde/layout3/sider.tsx +176 -0
- package/src/aldehyde/lowcode-components/bar-chart/index.tsx +4 -1
- package/src/aldehyde/lowcode-components/base-button/index.less +8 -0
- package/src/aldehyde/lowcode-components/base-button/index.tsx +123 -0
- package/src/aldehyde/lowcode-components/base-map/index.tsx +31 -3
- package/src/aldehyde/lowcode-components/base-tabs/index.less +15 -0
- package/src/aldehyde/lowcode-components/base-tabs/index.tsx +136 -0
- package/src/aldehyde/lowcode-components/capsule-bar-chart/index.tsx +4 -1
- package/src/aldehyde/lowcode-components/column-3d-chart/index.tsx +4 -1
- package/src/aldehyde/lowcode-components/column-chart/index.tsx +4 -1
- package/src/aldehyde/lowcode-components/effectScatter-map/index.tsx +32 -4
- package/src/aldehyde/lowcode-components/effectScatter-map-3d/index.tsx +29 -3
- package/src/aldehyde/lowcode-components/index.ts +6 -2
- package/src/aldehyde/lowcode-components/line-bar-chart/index.tsx +4 -1
- package/src/aldehyde/lowcode-components/line-chart/index.tsx +5 -2
- package/src/aldehyde/lowcode-components/lowcode-view/component/assets.ts +16 -0
- package/src/aldehyde/lowcode-components/lowcode-view/component/util.ts +27 -0
- package/src/aldehyde/lowcode-components/lowcode-view/index.tsx +30 -1
- package/src/aldehyde/lowcode-components/pie-chart/index.tsx +61 -6
- package/src/aldehyde/table/act-table.tsx +1 -2
- package/src/aldehyde/table/relation-table.tsx +28 -8
- package/src/aldehyde/table/resizable-table.tsx +1 -1
- package/src/aldehyde/tmpl/interface.tsx +2 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
.layout-header{
|
|
2
|
+
padding: 0;
|
|
3
|
+
color:#ffffff;
|
|
4
|
+
position: relative;
|
|
5
|
+
height: auto;
|
|
6
|
+
background:#041B3B ;
|
|
7
|
+
.header-top{
|
|
8
|
+
background-size: 100% 100%;
|
|
9
|
+
background-repeat: no-repeat;
|
|
10
|
+
background-position: center;
|
|
11
|
+
width: 100%;
|
|
12
|
+
height: 103px;
|
|
13
|
+
display: flex;
|
|
14
|
+
justify-content: center;
|
|
15
|
+
background-color: #041B3B;
|
|
16
|
+
border: none;
|
|
17
|
+
.header-title{
|
|
18
|
+
font-family: YouSheBiaoTiHei;
|
|
19
|
+
font-size: 48px;
|
|
20
|
+
line-height: 62px;
|
|
21
|
+
text-align: justify;
|
|
22
|
+
font-style: normal;
|
|
23
|
+
text-transform: none;
|
|
24
|
+
background-image: linear-gradient(180deg, #FFFFFF 0%, #90DEFF 100%);/* 可以调整方向和颜色 */
|
|
25
|
+
/* 2. 关键: 将背景裁剪到文字形状 */
|
|
26
|
+
-webkit-background-clip: text; /* 对于 Webkit 内核浏览器 (如 Safari, 老版Chrome) */
|
|
27
|
+
background-clip: text; /* 标准属性 */
|
|
28
|
+
/* 3. 关键: 将文字颜色设置为透明,以显示背景渐变 */
|
|
29
|
+
-webkit-text-fill-color: transparent; /* 对于 Webkit 内核浏览器 */
|
|
30
|
+
color: transparent; /* 标准属性,但注意某些环境下可能需 -webkit-text-fill-color 配合 */
|
|
31
|
+
}
|
|
32
|
+
.header-time{
|
|
33
|
+
font-size: 18px;
|
|
34
|
+
line-height: 24px;
|
|
35
|
+
letter-spacing: 1px;
|
|
36
|
+
text-align: left;
|
|
37
|
+
font-style: normal;
|
|
38
|
+
text-transform: none;
|
|
39
|
+
background-image: linear-gradient(180deg, #FFFFFF 36%, #008BFD 100%);
|
|
40
|
+
-webkit-background-clip: text;
|
|
41
|
+
background-clip: text;
|
|
42
|
+
-webkit-text-fill-color: transparent;
|
|
43
|
+
color: transparent;
|
|
44
|
+
position: absolute;
|
|
45
|
+
top: 46px;
|
|
46
|
+
left: 33px;
|
|
47
|
+
font-weight: 500;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
.header-right{
|
|
51
|
+
position: absolute;
|
|
52
|
+
right: 28px;
|
|
53
|
+
top: 52px;
|
|
54
|
+
line-height: normal;
|
|
55
|
+
.message-bar{
|
|
56
|
+
min-width: 0;
|
|
57
|
+
svg{
|
|
58
|
+
color:#009BFF
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
.message-bar:hover{
|
|
62
|
+
background: transparent;
|
|
63
|
+
}
|
|
64
|
+
.header-user{
|
|
65
|
+
button .ant-btn-icon{
|
|
66
|
+
margin-top: 4px;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
.header-nav{
|
|
71
|
+
margin: 0 0 16px 0;
|
|
72
|
+
display: flex;
|
|
73
|
+
justify-content: start;
|
|
74
|
+
align-items: center;
|
|
75
|
+
line-height: normal;
|
|
76
|
+
.header-home-page{
|
|
77
|
+
width: 220px;
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: center;
|
|
80
|
+
justify-content: flex-start;
|
|
81
|
+
padding: 4px 0 4px 24px;
|
|
82
|
+
margin-right: 12px;
|
|
83
|
+
cursor: pointer;
|
|
84
|
+
background-size: 100% 100%;
|
|
85
|
+
background-repeat: no-repeat;
|
|
86
|
+
background-position: center;
|
|
87
|
+
}
|
|
88
|
+
.home-page-icon{
|
|
89
|
+
color: #90DEFF;
|
|
90
|
+
font-size: 18px;
|
|
91
|
+
}
|
|
92
|
+
.home-page-title{
|
|
93
|
+
margin-left: 10px;
|
|
94
|
+
font-family: YouSheBiaoTiHei;
|
|
95
|
+
background: linear-gradient(180deg, #FFFFFF 0%, #90DEFF 100%);
|
|
96
|
+
-webkit-background-clip: text;
|
|
97
|
+
background-clip: text;
|
|
98
|
+
-webkit-text-fill-color: transparent;
|
|
99
|
+
font-size: 20px;
|
|
100
|
+
}
|
|
101
|
+
.ant-menu-submenu-selected::after,
|
|
102
|
+
.ant-menu-submenu:hover::after,
|
|
103
|
+
.ant-menu-submenu-open::after,
|
|
104
|
+
.ant-menu-submenu::after{
|
|
105
|
+
border-bottom: none !important;
|
|
106
|
+
}
|
|
107
|
+
.menu-disabled{
|
|
108
|
+
cursor: not-allowed;
|
|
109
|
+
}
|
|
110
|
+
.menu-item {
|
|
111
|
+
position: relative;
|
|
112
|
+
width: 126px;
|
|
113
|
+
height: 42px;
|
|
114
|
+
line-height: normal;
|
|
115
|
+
display: flex;
|
|
116
|
+
align-items: center;
|
|
117
|
+
justify-content: center;
|
|
118
|
+
background: linear-gradient( 180deg, rgba(124,208,255,0.3) 0%, rgba(0,41,147,0) 100%), linear-gradient( 360deg, rgba(0,133,255,0.5) 0%, rgba(0,163,255,0.15) 22%, rgba(0,163,255,0) 100%), rgba(0,0,0,0.75);
|
|
119
|
+
border-radius: 120px 120px 120px 120px;
|
|
120
|
+
border: 1px solid;
|
|
121
|
+
background-clip: padding-box;
|
|
122
|
+
color: #009BFF;
|
|
123
|
+
font-weight: 500;
|
|
124
|
+
z-index: 1;
|
|
125
|
+
.menu-item-border,.menu-item-border-sel{
|
|
126
|
+
display: flex;
|
|
127
|
+
align-items: center;
|
|
128
|
+
justify-content: center;
|
|
129
|
+
width: 118px;
|
|
130
|
+
height: 40px;
|
|
131
|
+
border-radius: 120px 120px 120px 120px;
|
|
132
|
+
border: 1px solid;
|
|
133
|
+
background-clip: padding-box;
|
|
134
|
+
background: linear-gradient(180deg, #203c51, #02243e);
|
|
135
|
+
}
|
|
136
|
+
.menu-item-border-sel{
|
|
137
|
+
background: rgba(0,142,255,0.56);
|
|
138
|
+
box-shadow: inset 0px 0px 20px 5px #000C27;
|
|
139
|
+
color:#C4E8FF !important;
|
|
140
|
+
font-weight: 700 !important;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
.menu-item::before {
|
|
144
|
+
content: '';
|
|
145
|
+
position: absolute;
|
|
146
|
+
top: 0;
|
|
147
|
+
left: 0;
|
|
148
|
+
right: 0;
|
|
149
|
+
bottom: 0;
|
|
150
|
+
margin-bottom: -2px;
|
|
151
|
+
background: linear-gradient(90deg, rgba(0,0,0,0), rgba(0, 102, 255, 0.3), rgba(0, 102, 255, 1), rgba(0, 102, 255, 0.3),rgba(0,0,0,0));
|
|
152
|
+
border-radius: inherit;
|
|
153
|
+
z-index: -1;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.main{
|
|
2
|
+
width: 100%;
|
|
3
|
+
height: 100%;
|
|
4
|
+
position: absolute;
|
|
5
|
+
min-width: 1280px;
|
|
6
|
+
overflow-x: auto;
|
|
7
|
+
.ant-layout{
|
|
8
|
+
background: #041B3B !important;
|
|
9
|
+
}
|
|
10
|
+
.act-table-title{
|
|
11
|
+
font-family: YouSheBiaoTiHei;
|
|
12
|
+
background: linear-gradient(180deg, #FFFFFF 0%, #90DEFF 100%);
|
|
13
|
+
-webkit-background-clip: text;
|
|
14
|
+
background-clip: text;
|
|
15
|
+
-webkit-text-fill-color: transparent;
|
|
16
|
+
font-size: 20px;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
.layout-sider{
|
|
2
|
+
margin-bottom: 12px;
|
|
3
|
+
overflow: auto;
|
|
4
|
+
background: linear-gradient( 180deg, rgba(7,27,67,0.1) 0%, rgba(13,46,89,0.2) 100%), radial-gradient( 188% 188% at -139% 100%, rgba(39,115,255,0.1) 0%, rgba(39,115,255,0) 100%), radial-gradient( 488% 488% at -439% 100%, rgba(39,115,255,0.2) 0%, rgba(39,115,255,0) 100%), radial-gradient( 716% 716% at -667% 100%, rgba(39,115,255,0.5) 0%, rgba(39,115,255,0) 100%);
|
|
5
|
+
border: 1px solid;
|
|
6
|
+
border-image: linear-gradient(180deg, rgba(39, 95, 180, 0.3), rgba(68, 118, 235, 1)) 1 1;
|
|
7
|
+
.ant-menu-item-selected{
|
|
8
|
+
background: linear-gradient(90deg,#88EFFF00,rgba(163,194,255,0.2),#88EFFF00);
|
|
9
|
+
}
|
|
10
|
+
.ant-menu-item{
|
|
11
|
+
padding: 0 !important;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
.tabs-layout {
|
|
2
|
+
height: 100%;
|
|
3
|
+
.ant-tabs-nav {
|
|
4
|
+
margin-bottom: 0;
|
|
5
|
+
}
|
|
6
|
+
.ant-tabs-tab {
|
|
7
|
+
min-width: 110px;
|
|
8
|
+
display: flex;
|
|
9
|
+
justify-content: space-between;
|
|
10
|
+
align-items: center;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.ant-tabs-content,.ant-tabs-tabpane {
|
|
14
|
+
height: 100%;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.tabs-children {
|
|
18
|
+
height: 100%;
|
|
19
|
+
overflow: auto;
|
|
20
|
+
border: 1px solid;
|
|
21
|
+
border-image: linear-gradient(180deg, rgba(39, 95, 180, 0.3), rgba(68, 118, 235, 1)) 1 1;
|
|
22
|
+
padding: 3px 12px 12px;
|
|
23
|
+
border-top: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* 组件样式异常覆盖 */
|
|
27
|
+
.ant-card-head{
|
|
28
|
+
background: transparent !important;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
.ant-drawer,.ant-modal-content {
|
|
32
|
+
.ant-drawer-content{
|
|
33
|
+
border: none !important;
|
|
34
|
+
}
|
|
35
|
+
.ant-card-head{
|
|
36
|
+
background: transparent !important;
|
|
37
|
+
}
|
|
38
|
+
.ant-layout{
|
|
39
|
+
background: #041B3B !important;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { MenuType } from "../layout2/type/layout-type";
|
|
3
|
+
import "./css/header.css";
|
|
4
|
+
type HeaderPropsType = {
|
|
5
|
+
systemName: string;
|
|
6
|
+
menuList: MenuType[];
|
|
7
|
+
style?: any;
|
|
8
|
+
};
|
|
9
|
+
declare const Header: React.FC<HeaderPropsType>;
|
|
10
|
+
export default Header;
|
|
11
|
+
//# sourceMappingURL=header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/aldehyde/layout3/header.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAQnD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAOvD,OAAO,kBAAkB,CAAC;AA0B1B,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAIF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyHrC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Layout, Menu, Space } from "antd";
|
|
2
|
+
import React, { useEffect, useState } from "react";
|
|
3
|
+
import { NavLink, useParams, useSearchParams } from "react-router-dom";
|
|
4
|
+
import { HomeFilled } from '@ant-design/icons';
|
|
5
|
+
import L2MenuQuickBar from "../layout/menu/l2menu-quick-bar";
|
|
6
|
+
import L2MenuMessageBar from "../layout/menu/l2menu-message-bar";
|
|
7
|
+
import LocaleButton from "../locale/LocaleButton";
|
|
8
|
+
import ThemeButton from "../layout2/components/theme-button";
|
|
9
|
+
import { getLeftMostRouteInfo, handlePropsMenuToAntdMenu } from "../layout2/util/menu-util";
|
|
10
|
+
import { useLocale } from "../locale/useLocale";
|
|
11
|
+
import { useLayoutContext } from "../layout2/layout-context";
|
|
12
|
+
import UserButton from "../layout2/components/user-button";
|
|
13
|
+
import headerBgImg from "./imgs/header-bg.png";
|
|
14
|
+
import homeBgImg from "./imgs/home-bg.png";
|
|
15
|
+
import Time from "./components/time";
|
|
16
|
+
import "./css/header.css";
|
|
17
|
+
// 查找当前选中菜单的顶层菜单id
|
|
18
|
+
const findPathToRoot = (menus, targetId) => {
|
|
19
|
+
// 使用栈来存储需要遍历的节点及其从根节点到该节点的路径
|
|
20
|
+
const stack = [];
|
|
21
|
+
// 初始化栈:将每个根节点及其路径(初始只包含自身ID)入栈
|
|
22
|
+
for (const node of menus) {
|
|
23
|
+
stack.push({ node, path: [node.id] });
|
|
24
|
+
}
|
|
25
|
+
while (stack.length > 0) {
|
|
26
|
+
const { node, path } = stack.pop(); // 弹出栈顶元素
|
|
27
|
+
// 检查当前节点是否是目标节点
|
|
28
|
+
if (node.id === targetId) {
|
|
29
|
+
return path[0]; // 返回路径的第一个元素,即最顶层根节点ID
|
|
30
|
+
}
|
|
31
|
+
// 如果当前节点有子节点,则将它们全部入栈,并记录从根到该子节点的路径
|
|
32
|
+
if (node.children && node.children.length > 0) {
|
|
33
|
+
for (const child of node.children) {
|
|
34
|
+
stack.push({ node: child, path: [...path, child.id] }); // 将子节点和新的路径入栈
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return null;
|
|
39
|
+
};
|
|
40
|
+
const Header = ({ systemName, menuList }) => {
|
|
41
|
+
const { setDocumentTitle, menuItemIdToFirstFloorIdxMap } = useLayoutContext();
|
|
42
|
+
const { translate, getLocale } = useLocale();
|
|
43
|
+
const [menu, setMenu] = useState([]);
|
|
44
|
+
const [selectedKeys, setSelectedKeys] = useState([]);
|
|
45
|
+
const [selParentId, setSelParentId] = useState();
|
|
46
|
+
const { sourceId } = useParams();
|
|
47
|
+
const [search] = useSearchParams();
|
|
48
|
+
const menuId = search.get("menuId");
|
|
49
|
+
const renderMenuItem = (menuItem) => {
|
|
50
|
+
const { label, id, disabled } = menuItem;
|
|
51
|
+
return React.createElement("div", { className: `menu-item ${disabled ? "menu-disabled" : ""}` },
|
|
52
|
+
React.createElement("div", { className: selParentId === id ? "menu-item-border-sel" : "menu-item-border" }, translate("${" + label + "}")));
|
|
53
|
+
};
|
|
54
|
+
const handleMenu = (menuItem, floor) => {
|
|
55
|
+
const { disabled, label, children } = menuItem;
|
|
56
|
+
if (disabled) {
|
|
57
|
+
return renderMenuItem(menuItem);
|
|
58
|
+
}
|
|
59
|
+
const { path, target } = getLeftMostRouteInfo(menuItem);
|
|
60
|
+
if (floor === 0) {
|
|
61
|
+
return path === null ? (renderMenuItem(menuItem)) : (React.createElement(NavLink, { to: `/${path}`, target: target }, renderMenuItem(menuItem)));
|
|
62
|
+
}
|
|
63
|
+
if (Array.isArray(children) && !children.length) {
|
|
64
|
+
return (React.createElement(NavLink, { to: `/${path}`, target: target }, translate("${" + label + "}")));
|
|
65
|
+
}
|
|
66
|
+
return renderMenuItem(menuItem);
|
|
67
|
+
};
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
if (menuId !== undefined)
|
|
70
|
+
setSelectedKeys([menuId]);
|
|
71
|
+
}, [menuId]);
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (menuList.length && selParentId) {
|
|
74
|
+
setMenu(handlePropsMenuToAntdMenu(menuList, handleMenu));
|
|
75
|
+
}
|
|
76
|
+
}, [menuList, getLocale(), selParentId]);
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
var _a;
|
|
79
|
+
if (sourceId === undefined) {
|
|
80
|
+
if (menuList[0] !== undefined) {
|
|
81
|
+
setSelectedKeys([menuList[0].id]);
|
|
82
|
+
}
|
|
83
|
+
setDocumentTitle("");
|
|
84
|
+
}
|
|
85
|
+
else if (menuList.length) {
|
|
86
|
+
const documentTitle = (_a = menuList[menuItemIdToFirstFloorIdxMap[sourceId]]) === null || _a === void 0 ? void 0 : _a.label;
|
|
87
|
+
setDocumentTitle(translate("${" + documentTitle + "}"));
|
|
88
|
+
setSelectedKeys([sourceId]);
|
|
89
|
+
setSelParentId(findPathToRoot(menuList, sourceId));
|
|
90
|
+
}
|
|
91
|
+
}, [menuList, sourceId]);
|
|
92
|
+
return (React.createElement(Layout.Header, { className: "layout-header" },
|
|
93
|
+
React.createElement("div", { className: "header-top", style: { backgroundImage: `url(${headerBgImg})` } },
|
|
94
|
+
React.createElement("div", { className: "header-time" },
|
|
95
|
+
React.createElement(Time, null)),
|
|
96
|
+
React.createElement("div", { className: "header-title" }, translate("${" + systemName + "}")),
|
|
97
|
+
React.createElement("div", { className: "header-right" },
|
|
98
|
+
React.createElement(Space, { size: 28 },
|
|
99
|
+
React.createElement(L2MenuQuickBar, null),
|
|
100
|
+
React.createElement(L2MenuMessageBar, null),
|
|
101
|
+
React.createElement(LocaleButton, { shape: "default", size: "large", type: "text", style: {
|
|
102
|
+
width: "100%",
|
|
103
|
+
height: "100%",
|
|
104
|
+
boxSizing: "border-box",
|
|
105
|
+
padding: 0,
|
|
106
|
+
borderRadius: 0,
|
|
107
|
+
color: "#009BFF",
|
|
108
|
+
} }),
|
|
109
|
+
React.createElement(ThemeButton, { shape: "default", size: "large", type: "text", style: {
|
|
110
|
+
width: "100%",
|
|
111
|
+
height: "100%",
|
|
112
|
+
boxSizing: "border-box",
|
|
113
|
+
padding: 0,
|
|
114
|
+
borderRadius: 0,
|
|
115
|
+
color: "#009BFF",
|
|
116
|
+
} }),
|
|
117
|
+
React.createElement("div", { className: "header-user" },
|
|
118
|
+
React.createElement(UserButton, { style: { padding: 0, color: "#fff" } }))))),
|
|
119
|
+
React.createElement("div", { className: "header-nav" },
|
|
120
|
+
React.createElement(NavLink, { to: "/v3/home", className: "header-home-page", style: { backgroundImage: `url(${homeBgImg})` } },
|
|
121
|
+
React.createElement(HomeFilled, { className: "home-page-icon" }),
|
|
122
|
+
React.createElement("div", { className: "home-page-title" }, "\u9996\u9875")),
|
|
123
|
+
React.createElement(Menu, { mode: "horizontal", items: menu, selectedKeys: selectedKeys, style: { background: "#041B3B", border: "none" } }))));
|
|
124
|
+
};
|
|
125
|
+
export default Header;
|
|
126
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/aldehyde/layout3/header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAa,KAAK,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAC3D,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,kBAAkB,CAAC;AAE1B,kBAAkB;AAClB,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;IACzC,6BAA6B;IAC7B,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,+BAA+B;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;QAC7C,gBAAgB;QAChB,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;QACzC,CAAC;QACD,oCAAoC;QACpC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAUD,MAAM,MAAM,GAA8B,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrE,MAAM,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC9E,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAE,CAAC;IACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,MAAM,GAAW,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE5C,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,EAAE;QAClC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QACzC,OAAO,6BAAK,SAAS,EAAE,aAAa,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE;YAAE,6BAAK,SAAS,EAAE,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB,IAAG,SAAS,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,CAAO,CAAM,CAAC;IACvM,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CACrB,cAAc,CAAC,QAAQ,CAAC,CACzB,CAAC,CAAC,CAAC,CACF,oBAAC,OAAO,IACN,EAAE,EAAE,IAAI,IAAI,EAAE,EACd,MAAM,EAAE,MAAM,IAEb,cAAc,CAAC,QAAQ,CAAC,CACjB,CACX,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,CACL,oBAAC,OAAO,IAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,IACpC,SAAS,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC,CACtB,CACX,CAAC;QACJ,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,SAAS;YAAE,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;YACnC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9B,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,aAAa,GACjB,MAAA,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,0CAAE,KAAK,CAAC;YAC1D,gBAAgB,CAAC,SAAS,CAAC,IAAI,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;YACxD,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5B,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzB,OAAO,CACL,oBAAC,MAAM,CAAC,MAAM,IAAC,SAAS,EAAC,eAAe;QACtC,6BAAK,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,WAAW,GAAG,EAAE;YAC3E,6BAAK,SAAS,EAAC,aAAa;gBAAC,oBAAC,IAAI,OAAG,CAAM;YAC3C,6BAAK,SAAS,EAAC,cAAc,IAAE,SAAS,CAAC,IAAI,GAAG,UAAU,GAAG,GAAG,CAAC,CAAO;YACxE,6BAAK,SAAS,EAAC,cAAc;gBAC3B,oBAAC,KAAK,IAAC,IAAI,EAAE,EAAE;oBACb,oBAAC,cAAc,OAAG;oBAClB,oBAAC,gBAAgB,OAAG;oBACpB,oBAAC,YAAY,IACX,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM;4BACb,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,YAAY;4BACvB,OAAO,EAAE,CAAC;4BACV,YAAY,EAAE,CAAC;4BACf,KAAK,EAAE,SAAS;yBACjB,GACD;oBACF,oBAAC,WAAW,IACV,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM;4BACb,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,YAAY;4BACvB,OAAO,EAAE,CAAC;4BACV,YAAY,EAAE,CAAC;4BACf,KAAK,EAAE,SAAS;yBACjB,GACD;oBACF,6BAAK,SAAS,EAAC,aAAa;wBAAC,oBAAC,UAAU,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,CAAM,CACjF,CACJ,CACF;QACN,6BAAK,SAAS,EAAC,YAAY;YACzB,oBAAC,OAAO,IAAC,EAAE,EAAC,UAAU,EAAC,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,SAAS,GAAG,EAAE;gBACjG,oBAAC,UAAU,IAAC,SAAS,EAAC,gBAAgB,GAAG;gBACzC,6BAAK,SAAS,EAAC,iBAAiB,mBAAS,CACjC;YACV,oBAAC,IAAI,IACH,IAAI,EAAC,YAAY,EACjB,KAAK,EAAE,IAAI,EACX,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAChD,CACE,CACQ,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/aldehyde/layout3/main.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgBjC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Layout } from "antd";
|
|
3
|
+
import TabsLayout from "./components/tabs-layout";
|
|
4
|
+
const Main = ({ style, children }) => {
|
|
5
|
+
console.log("children", children);
|
|
6
|
+
return (React.createElement(Layout.Content, { style: Object.assign({ overflow: "auto" }, style) },
|
|
7
|
+
React.createElement("div", { style: {
|
|
8
|
+
width: "100%",
|
|
9
|
+
height: "100%",
|
|
10
|
+
overflow: "auto",
|
|
11
|
+
padding: "0 12px 12px 12px",
|
|
12
|
+
} }, children ? children : React.createElement(TabsLayout, null))));
|
|
13
|
+
};
|
|
14
|
+
export default Main;
|
|
15
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/aldehyde/layout3/main.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAOlD,MAAM,IAAI,GAA4B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5D,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,CACL,oBAAC,MAAM,CAAC,OAAO,IAAC,KAAK,kBAAI,QAAQ,EAAE,MAAM,IAAK,KAAK;QACjD,6BACE,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,kBAAkB;aAC5B,IAEA,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAC,UAAU,OAAG,CACjC,CACS,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../src/aldehyde/layout3/page.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAc3D,OAAO,gBAAgB,CAAC;AAIxB,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAoDF,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAMxC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Layout, theme, ConfigProvider } from "antd";
|
|
2
|
+
import React, { useEffect, useRef, useState } from "react";
|
|
3
|
+
import DocumentTitle from "react-document-title";
|
|
4
|
+
import { useSessionStorageState } from "ahooks";
|
|
5
|
+
import { generate } from "@ant-design/colors";
|
|
6
|
+
import Header from "./header";
|
|
7
|
+
import Sider from "./sider";
|
|
8
|
+
import Main from "./main";
|
|
9
|
+
import { useVarCssColor } from "../hooks/useVarCssColor";
|
|
10
|
+
import { LayoutProvider, useLayoutContext } from "../layout2/layout-context";
|
|
11
|
+
import Units from '../units';
|
|
12
|
+
import { useLocale } from "../locale/useLocale";
|
|
13
|
+
import { getMenuConfig } from "../layout2/page";
|
|
14
|
+
import "./css/main.css";
|
|
15
|
+
const { useToken } = theme;
|
|
16
|
+
const Page = (props) => {
|
|
17
|
+
const [systemName, setSystemName] = useState("");
|
|
18
|
+
const [menu, SetMenu] = useState([]);
|
|
19
|
+
const pageRef = useRef(undefined); // page ref
|
|
20
|
+
//清空缓存
|
|
21
|
+
const [keepAliveTabs, setKeepAliveTabs] = useSessionStorageState('keepAliveTabs', { defaultValue: [] });
|
|
22
|
+
const { documentTitle, updateMenuItemIdToFirstFloorIdxMap } = useLayoutContext();
|
|
23
|
+
const { getSiderCollapsed } = useLocale();
|
|
24
|
+
const { token: { colorPrimary } } = useToken();
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
getMenuConfig("v3").then(({ menu, systemName: name }) => {
|
|
27
|
+
setSystemName(name);
|
|
28
|
+
SetMenu(menu);
|
|
29
|
+
updateMenuItemIdToFirstFloorIdxMap(menu);
|
|
30
|
+
});
|
|
31
|
+
useVarCssColor(generate(colorPrimary));
|
|
32
|
+
localStorage.setItem("version", "v3");
|
|
33
|
+
window.addEventListener('beforeunload', () => { setKeepAliveTabs([]); });
|
|
34
|
+
}, []);
|
|
35
|
+
return (React.createElement(DocumentTitle, { title: documentTitle },
|
|
36
|
+
React.createElement("div", { ref: pageRef, className: "main" },
|
|
37
|
+
React.createElement(ConfigProvider, { theme: {
|
|
38
|
+
algorithm: [theme.darkAlgorithm],
|
|
39
|
+
token: { colorBgBase: "#041B3B" },
|
|
40
|
+
components: {
|
|
41
|
+
Tabs: {
|
|
42
|
+
cardPadding: "4px 12px"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
} },
|
|
46
|
+
React.createElement(Layout, { style: { height: "100%" } },
|
|
47
|
+
React.createElement(Header, { systemName: systemName ? systemName : Units.programName_NavLeft(), menuList: menu }),
|
|
48
|
+
React.createElement(Layout, null,
|
|
49
|
+
React.createElement(Sider, { menuList: menu, collapsed: getSiderCollapsed() }),
|
|
50
|
+
React.createElement(Main, null, props.children)))))));
|
|
51
|
+
};
|
|
52
|
+
const ContextPage = (props) => {
|
|
53
|
+
return (React.createElement(LayoutProvider, null,
|
|
54
|
+
React.createElement(Page, null, props.children)));
|
|
55
|
+
};
|
|
56
|
+
export default ContextPage;
|
|
57
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../src/aldehyde/layout3/page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { MenuType } from "../layout2/type/layout-type";
|
|
3
|
+
import "./css/sider.css";
|
|
4
|
+
type SiderPropsType = {
|
|
5
|
+
menuList: MenuType[];
|
|
6
|
+
collapsed: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const Sider: React.FC<SiderPropsType>;
|
|
9
|
+
export default Sider;
|
|
10
|
+
//# sourceMappingURL=sider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sider.d.ts","sourceRoot":"","sources":["../../../../src/aldehyde/layout3/sider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAQ3D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGvD,OAAO,iBAAiB,CAAA;AAExB,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAyBF,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmInC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { ConfigProvider, Layout, Menu, Space, Tooltip } from "antd";
|
|
2
|
+
import React, { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { NavLink, useParams, useSearchParams } from "react-router-dom";
|
|
4
|
+
import { getLeftMostRouteInfo, getTargetMenuItemIdRouteList, handlePropsMenuToAntdMenu, } from "../layout2/util/menu-util";
|
|
5
|
+
import { useLayoutContext } from "../layout2/layout-context";
|
|
6
|
+
import { useLocale } from "../locale/useLocale";
|
|
7
|
+
import Units from "../units";
|
|
8
|
+
import "./css/sider.css";
|
|
9
|
+
/**
|
|
10
|
+
* @param menuList 自定义的menu
|
|
11
|
+
* @returns 下标为 n 对应第 n 个根节点对应的第二层级menu
|
|
12
|
+
* @desc 获取第二层级 menu 与其下标映射的数组
|
|
13
|
+
*/
|
|
14
|
+
const getSecoundFloorMenuList = (menuList) => {
|
|
15
|
+
const secoundFloorMenuList = Array.from({
|
|
16
|
+
length: menuList.length,
|
|
17
|
+
}).map(() => Array.from({ length: 0 }));
|
|
18
|
+
for (let i = 0; i < menuList.length; i++) {
|
|
19
|
+
const menuItem = menuList[i];
|
|
20
|
+
Array.isArray(menuItem.children) &&
|
|
21
|
+
(secoundFloorMenuList[i] = menuItem.children);
|
|
22
|
+
}
|
|
23
|
+
return secoundFloorMenuList;
|
|
24
|
+
};
|
|
25
|
+
const Sider = ({ menuList, collapsed }) => {
|
|
26
|
+
const { setDocumentTitle, menuItemIdToFirstFloorIdxMap } = useLayoutContext();
|
|
27
|
+
const { translate, getLocale } = useLocale();
|
|
28
|
+
const secoundFloorMenuList = useRef([]);
|
|
29
|
+
const [menu, setMenu] = useState([]);
|
|
30
|
+
// menu select
|
|
31
|
+
const [selectedKeys, setSelectedKeys] = useState([]);
|
|
32
|
+
const [openKeys, setOpenKeys] = useState([]);
|
|
33
|
+
const { sourceId } = useParams();
|
|
34
|
+
const [search] = useSearchParams();
|
|
35
|
+
const menuId = search.get("menuId");
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
secoundFloorMenuList.current = getSecoundFloorMenuList(menuList);
|
|
38
|
+
}, [menuList]);
|
|
39
|
+
// menu
|
|
40
|
+
const getMenuWithSecoundFloor = (secoundFloorMenu) => {
|
|
41
|
+
return handlePropsMenuToAntdMenu(secoundFloorMenu, (menuItem) => {
|
|
42
|
+
const { disabled, label, children, id } = menuItem;
|
|
43
|
+
if (disabled)
|
|
44
|
+
return (React.createElement("div", { style: {
|
|
45
|
+
color: "inherit",
|
|
46
|
+
width: "100%",
|
|
47
|
+
height: "100%",
|
|
48
|
+
display: "block",
|
|
49
|
+
textAlign: "center"
|
|
50
|
+
} }, translate("${" + label + "}")));
|
|
51
|
+
const { path, target } = getLeftMostRouteInfo(menuItem);
|
|
52
|
+
if (Array.isArray(children) && !children.length)
|
|
53
|
+
return (React.createElement(Tooltip, { title: translate("${" + label + "}") },
|
|
54
|
+
React.createElement(NavLink, { to: `/${path}`, target: target, style: {
|
|
55
|
+
color: "inherit",
|
|
56
|
+
width: "100%",
|
|
57
|
+
height: "100%",
|
|
58
|
+
display: "block",
|
|
59
|
+
textOverflow: "ellipsis",
|
|
60
|
+
overflow: "hidden",
|
|
61
|
+
textAlign: "center"
|
|
62
|
+
} },
|
|
63
|
+
React.createElement(Space, { size: "small" },
|
|
64
|
+
Units.mapMenuIcon(id),
|
|
65
|
+
translate("${" + label + "}")))));
|
|
66
|
+
return React.createElement(Space, { size: "small" },
|
|
67
|
+
Units.mapMenuIcon(id),
|
|
68
|
+
translate("${" + label + "}"));
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
if (!menuList.length) {
|
|
73
|
+
setMenu([]);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const targetId = menuId !== undefined ? menuId : sourceId !== undefined ? sourceId : null;
|
|
77
|
+
if (!targetId)
|
|
78
|
+
return;
|
|
79
|
+
const curSiderMenuList = secoundFloorMenuList.current[menuItemIdToFirstFloorIdxMap[targetId]];
|
|
80
|
+
if (curSiderMenuList) {
|
|
81
|
+
setMenu(getMenuWithSecoundFloor(curSiderMenuList));
|
|
82
|
+
const temIds = getTargetMenuItemIdRouteList(curSiderMenuList, targetId);
|
|
83
|
+
setTimeout(() => {
|
|
84
|
+
setSelectedKeys(temIds);
|
|
85
|
+
setOpenKeys(temIds);
|
|
86
|
+
}, 10);
|
|
87
|
+
}
|
|
88
|
+
}, [sourceId, menuId, menuList, getLocale()]);
|
|
89
|
+
// default select keys
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
var _a;
|
|
92
|
+
if (sourceId === undefined) {
|
|
93
|
+
if (secoundFloorMenuList.current[0] !== undefined) {
|
|
94
|
+
setMenu(getMenuWithSecoundFloor(secoundFloorMenuList.current[0]));
|
|
95
|
+
setSelectedKeys([]);
|
|
96
|
+
setOpenKeys([]);
|
|
97
|
+
}
|
|
98
|
+
setDocumentTitle("");
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
const documentTitle = (_a = menuList[menuItemIdToFirstFloorIdxMap[sourceId]]) === null || _a === void 0 ? void 0 : _a.label;
|
|
102
|
+
setDocumentTitle(translate("${" + documentTitle + "}"));
|
|
103
|
+
}
|
|
104
|
+
}, [menuList, sourceId, getLocale()]);
|
|
105
|
+
return (React.createElement(Layout.Sider, { collapsed: collapsed, collapsedWidth: 0, width: 200, className: "layout-sider" },
|
|
106
|
+
React.createElement(ConfigProvider, { theme: {
|
|
107
|
+
components: {
|
|
108
|
+
Menu: {
|
|
109
|
+
itemBg: "transparent",
|
|
110
|
+
itemColor: "#009BFF",
|
|
111
|
+
itemSelectedColor: "#ffffff",
|
|
112
|
+
fontSize: 14,
|
|
113
|
+
subMenuItemBg: "transparent",
|
|
114
|
+
subMenuItemSelectedColor: "#ffffff"
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
} },
|
|
118
|
+
React.createElement(Menu, { mode: "inline", items: menu, selectedKeys: selectedKeys, openKeys: openKeys, inlineCollapsed: false, style: {
|
|
119
|
+
userSelect: "none",
|
|
120
|
+
borderInlineEnd: "none"
|
|
121
|
+
}, onOpenChange: (val) => setOpenKeys([...val]) }))));
|
|
122
|
+
};
|
|
123
|
+
export default Sider;
|
|
124
|
+
//# sourceMappingURL=sider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sider.js","sourceRoot":"","sources":["../../../../src/aldehyde/layout3/sider.tsx"],"names":[],"mappings":"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"}
|