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.
Files changed (166) hide show
  1. package/lib/detail/button/index.css +2 -2
  2. package/lib/detail/dtmpl.css +4 -0
  3. package/lib/form/dtmpl-form.d.ts.map +1 -1
  4. package/lib/form/dtmpl-form.js +3 -1
  5. package/lib/form/dtmpl-form.js.map +1 -1
  6. package/lib/icon/aliIcon.d.ts +4 -0
  7. package/lib/icon/aliIcon.d.ts.map +1 -0
  8. package/lib/icon/aliIcon.js +6 -0
  9. package/lib/icon/aliIcon.js.map +1 -0
  10. package/lib/index.d.ts +2 -1
  11. package/lib/index.d.ts.map +1 -1
  12. package/lib/index.js +3 -1
  13. package/lib/index.js.map +1 -1
  14. package/lib/layout2/components/theme-button.d.ts +5 -0
  15. package/lib/layout2/components/theme-button.d.ts.map +1 -0
  16. package/lib/layout2/components/theme-button.js +32 -0
  17. package/lib/layout2/components/theme-button.js.map +1 -0
  18. package/lib/layout2/header.d.ts.map +1 -1
  19. package/lib/layout2/header.js +16 -0
  20. package/lib/layout2/header.js.map +1 -1
  21. package/lib/layout2/page.d.ts +1 -1
  22. package/lib/layout2/page.d.ts.map +1 -1
  23. package/lib/layout2/page.js +9 -9
  24. package/lib/layout2/page.js.map +1 -1
  25. package/lib/layout3/components/tabs-layout.d.ts +5 -0
  26. package/lib/layout3/components/tabs-layout.d.ts.map +1 -0
  27. package/lib/layout3/components/tabs-layout.js +68 -0
  28. package/lib/layout3/components/tabs-layout.js.map +1 -0
  29. package/lib/layout3/components/time.d.ts +7 -0
  30. package/lib/layout3/components/time.d.ts.map +1 -0
  31. package/lib/layout3/components/time.js +18 -0
  32. package/lib/layout3/components/time.js.map +1 -0
  33. package/lib/layout3/css/header.css +156 -0
  34. package/lib/layout3/css/main.css +18 -0
  35. package/lib/layout3/css/sider.css +13 -0
  36. package/lib/layout3/css/tabs-layout.css +41 -0
  37. package/lib/layout3/header.d.ts +11 -0
  38. package/lib/layout3/header.d.ts.map +1 -0
  39. package/lib/layout3/header.js +126 -0
  40. package/lib/layout3/header.js.map +1 -0
  41. package/lib/layout3/imgs/header-bg.png +0 -0
  42. package/lib/layout3/imgs/home-bg.png +0 -0
  43. package/lib/layout3/main.d.ts +8 -0
  44. package/lib/layout3/main.d.ts.map +1 -0
  45. package/lib/layout3/main.js +15 -0
  46. package/lib/layout3/main.js.map +1 -0
  47. package/lib/layout3/page.d.ts +8 -0
  48. package/lib/layout3/page.d.ts.map +1 -0
  49. package/lib/layout3/page.js +57 -0
  50. package/lib/layout3/page.js.map +1 -0
  51. package/lib/layout3/sider.d.ts +10 -0
  52. package/lib/layout3/sider.d.ts.map +1 -0
  53. package/lib/layout3/sider.js +124 -0
  54. package/lib/layout3/sider.js.map +1 -0
  55. package/lib/lowcode-components/bar-chart/index.d.ts.map +1 -1
  56. package/lib/lowcode-components/bar-chart/index.js +4 -1
  57. package/lib/lowcode-components/bar-chart/index.js.map +1 -1
  58. package/lib/lowcode-components/base-button/index.d.ts +22 -0
  59. package/lib/lowcode-components/base-button/index.d.ts.map +1 -0
  60. package/lib/lowcode-components/base-button/index.js +78 -0
  61. package/lib/lowcode-components/base-button/index.js.map +1 -0
  62. package/lib/lowcode-components/base-button/index.less +8 -0
  63. package/lib/lowcode-components/base-map/index.d.ts +5 -0
  64. package/lib/lowcode-components/base-map/index.d.ts.map +1 -1
  65. package/lib/lowcode-components/base-map/index.js +32 -3
  66. package/lib/lowcode-components/base-map/index.js.map +1 -1
  67. package/lib/lowcode-components/base-tabs/index.d.ts +28 -0
  68. package/lib/lowcode-components/base-tabs/index.d.ts.map +1 -0
  69. package/lib/lowcode-components/base-tabs/index.js +78 -0
  70. package/lib/lowcode-components/base-tabs/index.js.map +1 -0
  71. package/lib/lowcode-components/base-tabs/index.less +15 -0
  72. package/lib/lowcode-components/capsule-bar-chart/index.d.ts.map +1 -1
  73. package/lib/lowcode-components/capsule-bar-chart/index.js +4 -1
  74. package/lib/lowcode-components/capsule-bar-chart/index.js.map +1 -1
  75. package/lib/lowcode-components/column-3d-chart/index.d.ts.map +1 -1
  76. package/lib/lowcode-components/column-3d-chart/index.js +4 -1
  77. package/lib/lowcode-components/column-3d-chart/index.js.map +1 -1
  78. package/lib/lowcode-components/column-chart/index.d.ts.map +1 -1
  79. package/lib/lowcode-components/column-chart/index.js +4 -1
  80. package/lib/lowcode-components/column-chart/index.js.map +1 -1
  81. package/lib/lowcode-components/effectScatter-map/index.d.ts +5 -0
  82. package/lib/lowcode-components/effectScatter-map/index.d.ts.map +1 -1
  83. package/lib/lowcode-components/effectScatter-map/index.js +34 -3
  84. package/lib/lowcode-components/effectScatter-map/index.js.map +1 -1
  85. package/lib/lowcode-components/effectScatter-map-3d/index.d.ts +5 -0
  86. package/lib/lowcode-components/effectScatter-map-3d/index.d.ts.map +1 -1
  87. package/lib/lowcode-components/effectScatter-map-3d/index.js +31 -2
  88. package/lib/lowcode-components/effectScatter-map-3d/index.js.map +1 -1
  89. package/lib/lowcode-components/index.d.ts +4 -0
  90. package/lib/lowcode-components/index.d.ts.map +1 -1
  91. package/lib/lowcode-components/index.js +3 -1
  92. package/lib/lowcode-components/index.js.map +1 -1
  93. package/lib/lowcode-components/line-bar-chart/index.d.ts.map +1 -1
  94. package/lib/lowcode-components/line-bar-chart/index.js +4 -1
  95. package/lib/lowcode-components/line-bar-chart/index.js.map +1 -1
  96. package/lib/lowcode-components/line-chart/index.d.ts.map +1 -1
  97. package/lib/lowcode-components/line-chart/index.js +5 -2
  98. package/lib/lowcode-components/line-chart/index.js.map +1 -1
  99. package/lib/lowcode-components/lowcode-view/component/assets.d.ts.map +1 -1
  100. package/lib/lowcode-components/lowcode-view/component/assets.js +16 -0
  101. package/lib/lowcode-components/lowcode-view/component/assets.js.map +1 -1
  102. package/lib/lowcode-components/lowcode-view/component/util.d.ts +2 -0
  103. package/lib/lowcode-components/lowcode-view/component/util.d.ts.map +1 -0
  104. package/lib/lowcode-components/lowcode-view/component/util.js +30 -0
  105. package/lib/lowcode-components/lowcode-view/component/util.js.map +1 -0
  106. package/lib/lowcode-components/lowcode-view/index.d.ts.map +1 -1
  107. package/lib/lowcode-components/lowcode-view/index.js +27 -0
  108. package/lib/lowcode-components/lowcode-view/index.js.map +1 -1
  109. package/lib/lowcode-components/pie-chart/index.d.ts.map +1 -1
  110. package/lib/lowcode-components/pie-chart/index.js +60 -6
  111. package/lib/lowcode-components/pie-chart/index.js.map +1 -1
  112. package/lib/table/act-table.d.ts.map +1 -1
  113. package/lib/table/act-table.js +1 -2
  114. package/lib/table/act-table.js.map +1 -1
  115. package/lib/table/relation-table.d.ts +2 -2
  116. package/lib/table/relation-table.d.ts.map +1 -1
  117. package/lib/table/relation-table.js +29 -7
  118. package/lib/table/relation-table.js.map +1 -1
  119. package/lib/table/resizable-table.js +1 -1
  120. package/lib/table/resizable-table.js.map +1 -1
  121. package/lib/tmpl/interface.d.ts +2 -0
  122. package/lib/tmpl/interface.d.ts.map +1 -1
  123. package/lib/tmpl/interface.js.map +1 -1
  124. package/package.json +1 -1
  125. package/src/aldehyde/detail/button/index.css +2 -2
  126. package/src/aldehyde/detail/dtmpl.css +4 -0
  127. package/src/aldehyde/form/dtmpl-form.tsx +8 -1
  128. package/src/aldehyde/icon/aliIcon.tsx +8 -0
  129. package/src/aldehyde/index.tsx +5 -1
  130. package/src/aldehyde/layout2/components/theme-button.tsx +47 -0
  131. package/src/aldehyde/layout2/header.tsx +32 -10
  132. package/src/aldehyde/layout2/page.tsx +9 -8
  133. package/src/aldehyde/layout3/components/tabs-layout.tsx +106 -0
  134. package/src/aldehyde/layout3/components/time.tsx +25 -0
  135. package/src/aldehyde/layout3/css/header.css +156 -0
  136. package/src/aldehyde/layout3/css/main.css +18 -0
  137. package/src/aldehyde/layout3/css/sider.css +13 -0
  138. package/src/aldehyde/layout3/css/tabs-layout.css +41 -0
  139. package/src/aldehyde/layout3/header.tsx +174 -0
  140. package/src/aldehyde/layout3/imgs/header-bg.png +0 -0
  141. package/src/aldehyde/layout3/imgs/home-bg.png +0 -0
  142. package/src/aldehyde/layout3/main.tsx +28 -0
  143. package/src/aldehyde/layout3/page.tsx +82 -0
  144. package/src/aldehyde/layout3/sider.tsx +176 -0
  145. package/src/aldehyde/lowcode-components/bar-chart/index.tsx +4 -1
  146. package/src/aldehyde/lowcode-components/base-button/index.less +8 -0
  147. package/src/aldehyde/lowcode-components/base-button/index.tsx +123 -0
  148. package/src/aldehyde/lowcode-components/base-map/index.tsx +31 -3
  149. package/src/aldehyde/lowcode-components/base-tabs/index.less +15 -0
  150. package/src/aldehyde/lowcode-components/base-tabs/index.tsx +136 -0
  151. package/src/aldehyde/lowcode-components/capsule-bar-chart/index.tsx +4 -1
  152. package/src/aldehyde/lowcode-components/column-3d-chart/index.tsx +4 -1
  153. package/src/aldehyde/lowcode-components/column-chart/index.tsx +4 -1
  154. package/src/aldehyde/lowcode-components/effectScatter-map/index.tsx +32 -4
  155. package/src/aldehyde/lowcode-components/effectScatter-map-3d/index.tsx +29 -3
  156. package/src/aldehyde/lowcode-components/index.ts +6 -2
  157. package/src/aldehyde/lowcode-components/line-bar-chart/index.tsx +4 -1
  158. package/src/aldehyde/lowcode-components/line-chart/index.tsx +5 -2
  159. package/src/aldehyde/lowcode-components/lowcode-view/component/assets.ts +16 -0
  160. package/src/aldehyde/lowcode-components/lowcode-view/component/util.ts +27 -0
  161. package/src/aldehyde/lowcode-components/lowcode-view/index.tsx +30 -1
  162. package/src/aldehyde/lowcode-components/pie-chart/index.tsx +61 -6
  163. package/src/aldehyde/table/act-table.tsx +1 -2
  164. package/src/aldehyde/table/relation-table.tsx +28 -8
  165. package/src/aldehyde/table/resizable-table.tsx +1 -1
  166. 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":"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"}
Binary file
Binary file
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ type MainPropsType = {
3
+ style?: any;
4
+ children?: React.ReactNode;
5
+ };
6
+ declare const Main: React.FC<MainPropsType>;
7
+ export default Main;
8
+ //# sourceMappingURL=main.d.ts.map
@@ -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,8 @@
1
+ import React from "react";
2
+ import "./css/main.css";
3
+ type PagePropsType = {
4
+ children?: React.ReactNode;
5
+ };
6
+ declare const ContextPage: React.FC<PagePropsType>;
7
+ export default ContextPage;
8
+ //# sourceMappingURL=page.d.ts.map
@@ -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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"}