aldehyde 0.2.460 → 0.2.462

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 (165) hide show
  1. package/lib/controls/2dEditor/components/card.js +1 -1
  2. package/lib/controls/2dEditor/components/component.less +4 -2
  3. package/lib/controls/chemstruc/graph.d.ts.map +1 -1
  4. package/lib/controls/chemstruc/graph.js.map +1 -1
  5. package/lib/controls/cquery/cquick-button.d.ts +2 -0
  6. package/lib/controls/cquery/cquick-button.d.ts.map +1 -1
  7. package/lib/controls/cquery/cquick-button.js +4 -6
  8. package/lib/controls/cquery/cquick-button.js.map +1 -1
  9. package/lib/controls/direct-file-view/drawer-file-view.d.ts +1 -1
  10. package/lib/controls/direct-file-view/drawer-file-view.d.ts.map +1 -1
  11. package/lib/controls/direct-file-view/drawer-file-view.js +4 -3
  12. package/lib/controls/direct-file-view/drawer-file-view.js.map +1 -1
  13. package/lib/controls/entity-select/entity-select.d.ts +1 -2
  14. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  15. package/lib/controls/entity-select/entity-select.js +1 -2
  16. package/lib/controls/entity-select/entity-select.js.map +1 -1
  17. package/lib/controls/entity-select/index.css +5 -3
  18. package/lib/controls/entity-select/popover-entity-select.d.ts +5 -2
  19. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  20. package/lib/controls/entity-select/popover-entity-select.js +9 -7
  21. package/lib/controls/entity-select/popover-entity-select.js.map +1 -1
  22. package/lib/controls/file-view/drawer-file-view.d.ts.map +1 -1
  23. package/lib/controls/file-view/drawer-file-view.js +4 -3
  24. package/lib/controls/file-view/drawer-file-view.js.map +1 -1
  25. package/lib/controls/qr-code/index.js +1 -1
  26. package/lib/controls/qr-code/index.js.map +1 -1
  27. package/lib/controls/qr-code/index.less +2 -1
  28. package/lib/controls/relation-existion/index.css +3 -3
  29. package/lib/controls/relation-existion/index.js +1 -1
  30. package/lib/controls/relation-existion/index.js.map +1 -1
  31. package/lib/controls/text/ellipsis-text.d.ts +1 -0
  32. package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
  33. package/lib/controls/text/ellipsis-text.js +1 -0
  34. package/lib/controls/text/ellipsis-text.js.map +1 -1
  35. package/lib/controls/text/index.less +5 -0
  36. package/lib/detail/view/snapshot-timeline.d.ts +4 -0
  37. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  38. package/lib/detail/view/snapshot-timeline.js +6 -6
  39. package/lib/detail/view/snapshot-timeline.js.map +1 -1
  40. package/lib/layout/menu/l2menu-message-bar.d.ts +0 -1
  41. package/lib/layout/menu/l2menu-message-bar.d.ts.map +1 -1
  42. package/lib/layout/menu/l2menu-message-bar.js +9 -8
  43. package/lib/layout/menu/l2menu-message-bar.js.map +1 -1
  44. package/lib/layout/menu/l2menu-quick-bar.d.ts +2 -1
  45. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  46. package/lib/layout/menu/l2menu-quick-bar.js +14 -17
  47. package/lib/layout/menu/l2menu-quick-bar.js.map +1 -1
  48. package/lib/layout2/components/search-menu.js +14 -3
  49. package/lib/layout2/components/search-menu.js.map +1 -1
  50. package/lib/layout2/components/user-button.js +13 -2
  51. package/lib/layout2/components/user-button.js.map +1 -1
  52. package/lib/layout2/page.js +1 -1
  53. package/lib/layout2/page.js.map +1 -1
  54. package/lib/layout2/sider.d.ts.map +1 -1
  55. package/lib/layout2/sider.js +16 -13
  56. package/lib/layout2/sider.js.map +1 -1
  57. package/lib/layout3/css/main.less +7 -3
  58. package/lib/layout3/page.js +1 -1
  59. package/lib/layout3/page.js.map +1 -1
  60. package/lib/layout3/sider.d.ts.map +1 -1
  61. package/lib/layout3/sider.js +16 -13
  62. package/lib/layout3/sider.js.map +1 -1
  63. package/lib/layout4/css/main.less +7 -3
  64. package/lib/layout4/page.js +1 -1
  65. package/lib/layout4/page.js.map +1 -1
  66. package/lib/layout4/sider.d.ts.map +1 -1
  67. package/lib/layout4/sider.js +16 -13
  68. package/lib/layout4/sider.js.map +1 -1
  69. package/lib/layout5/page.js +1 -1
  70. package/lib/layout5/page.js.map +1 -1
  71. package/lib/layout5/sider.d.ts.map +1 -1
  72. package/lib/layout5/sider.js +16 -13
  73. package/lib/layout5/sider.js.map +1 -1
  74. package/lib/list/gantt/index.less +1 -0
  75. package/lib/lowcode-components/lowcode-view/index.less +1 -0
  76. package/lib/module/block-menu-tree-drawer.d.ts +2 -0
  77. package/lib/module/block-menu-tree-drawer.d.ts.map +1 -1
  78. package/lib/module/block-menu-tree-drawer.js +9 -7
  79. package/lib/module/block-menu-tree-drawer.js.map +1 -1
  80. package/lib/module/dtmpl-edit-page.d.ts +4 -0
  81. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  82. package/lib/module/dtmpl-edit-page.js +26 -14
  83. package/lib/module/dtmpl-edit-page.js.map +1 -1
  84. package/lib/module/dtmpl-view-drawer.d.ts +4 -1
  85. package/lib/module/dtmpl-view-drawer.d.ts.map +1 -1
  86. package/lib/module/dtmpl-view-drawer.js +10 -9
  87. package/lib/module/dtmpl-view-drawer.js.map +1 -1
  88. package/lib/module/ltmpl-drawer.d.ts +5 -1
  89. package/lib/module/ltmpl-drawer.d.ts.map +1 -1
  90. package/lib/module/ltmpl-drawer.js +21 -4
  91. package/lib/module/ltmpl-drawer.js.map +1 -1
  92. package/lib/module/ltmpl-table.d.ts +2 -0
  93. package/lib/module/ltmpl-table.d.ts.map +1 -1
  94. package/lib/module/ltmpl-table.js +5 -6
  95. package/lib/module/ltmpl-table.js.map +1 -1
  96. package/lib/routable/ltmpl-route.d.ts +1 -0
  97. package/lib/routable/ltmpl-route.d.ts.map +1 -1
  98. package/lib/routable/ltmpl-route.js +6 -7
  99. package/lib/routable/ltmpl-route.js.map +1 -1
  100. package/lib/routable/splitview-ltmpl-route.d.ts.map +1 -1
  101. package/lib/routable/splitview-ltmpl-route.js +2 -4
  102. package/lib/routable/splitview-ltmpl-route.js.map +1 -1
  103. package/lib/table/act-table.d.ts +2 -0
  104. package/lib/table/act-table.d.ts.map +1 -1
  105. package/lib/table/act-table.js +5 -4
  106. package/lib/table/act-table.js.map +1 -1
  107. package/lib/table/column/column-builder.d.ts +1 -0
  108. package/lib/table/column/column-builder.d.ts.map +1 -1
  109. package/lib/table/column/column-builder.js +78 -10
  110. package/lib/table/column/column-builder.js.map +1 -1
  111. package/lib/table/column/index.less +30 -2
  112. package/lib/tmpl/interface.d.ts +3 -0
  113. package/lib/tmpl/interface.d.ts.map +1 -1
  114. package/lib/tmpl/interface.js.map +1 -1
  115. package/lib/tmpl/web-socket.js +1 -1
  116. package/lib/tmpl/web-socket.js.map +1 -1
  117. package/lib/welcome/components/user-menus.d.ts.map +1 -1
  118. package/lib/welcome/components/user-menus.js +2 -1
  119. package/lib/welcome/components/user-menus.js.map +1 -1
  120. package/package.json +3 -4
  121. package/src/aldehyde/controls/2dEditor/components/card.tsx +1 -1
  122. package/src/aldehyde/controls/2dEditor/components/component.less +4 -2
  123. package/src/aldehyde/controls/chemstruc/graph.tsx +32 -32
  124. package/src/aldehyde/controls/cquery/cquick-button.tsx +7 -7
  125. package/src/aldehyde/controls/direct-file-view/drawer-file-view.tsx +6 -3
  126. package/src/aldehyde/controls/entity-select/entity-select.tsx +2 -4
  127. package/src/aldehyde/controls/entity-select/index.css +5 -3
  128. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +12 -9
  129. package/src/aldehyde/controls/file-view/drawer-file-view.tsx +6 -3
  130. package/src/aldehyde/controls/qr-code/index.less +2 -1
  131. package/src/aldehyde/controls/qr-code/index.tsx +1 -1
  132. package/src/aldehyde/controls/relation-existion/index.css +3 -3
  133. package/src/aldehyde/controls/relation-existion/index.tsx +1 -1
  134. package/src/aldehyde/controls/text/ellipsis-text.tsx +4 -2
  135. package/src/aldehyde/controls/text/index.less +5 -0
  136. package/src/aldehyde/detail/view/snapshot-timeline.tsx +15 -9
  137. package/src/aldehyde/layout/menu/l2menu-message-bar.tsx +27 -31
  138. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +25 -33
  139. package/src/aldehyde/layout2/components/search-menu.tsx +3 -3
  140. package/src/aldehyde/layout2/components/user-button.tsx +2 -2
  141. package/src/aldehyde/layout2/page.tsx +1 -1
  142. package/src/aldehyde/layout2/sider.tsx +21 -20
  143. package/src/aldehyde/layout3/css/main.less +7 -3
  144. package/src/aldehyde/layout3/page.tsx +1 -1
  145. package/src/aldehyde/layout3/sider.tsx +19 -16
  146. package/src/aldehyde/layout4/css/main.less +7 -3
  147. package/src/aldehyde/layout4/page.tsx +1 -1
  148. package/src/aldehyde/layout4/sider.tsx +19 -16
  149. package/src/aldehyde/layout5/page.tsx +1 -1
  150. package/src/aldehyde/layout5/sider.tsx +19 -16
  151. package/src/aldehyde/list/gantt/index.less +1 -0
  152. package/src/aldehyde/lowcode-components/lowcode-view/index.less +1 -0
  153. package/src/aldehyde/module/block-menu-tree-drawer.tsx +15 -10
  154. package/src/aldehyde/module/dtmpl-edit-page.tsx +50 -33
  155. package/src/aldehyde/module/dtmpl-view-drawer.tsx +12 -12
  156. package/src/aldehyde/module/ltmpl-drawer.tsx +12 -10
  157. package/src/aldehyde/module/ltmpl-table.tsx +7 -13
  158. package/src/aldehyde/routable/ltmpl-route.tsx +8 -10
  159. package/src/aldehyde/routable/splitview-ltmpl-route.tsx +4 -5
  160. package/src/aldehyde/table/act-table.tsx +7 -3
  161. package/src/aldehyde/table/column/column-builder.tsx +134 -26
  162. package/src/aldehyde/table/column/index.less +30 -2
  163. package/src/aldehyde/tmpl/interface.tsx +3 -0
  164. package/src/aldehyde/tmpl/web-socket.ts +1 -1
  165. package/src/aldehyde/welcome/components/user-menus.tsx +4 -0
@@ -87,9 +87,9 @@ const Sider: React.FC<SiderPropsType> = ({ menuList, collapsed, themeConfig }) =
87
87
 
88
88
  // menu
89
89
  const [menu, setMenu] = useState<MenuItem[]>([]);
90
- const getMenuWithSecoundFloor = (
91
- secoundFloorMenu: SecoundFloorMenuList[number]
92
- ) => {
90
+
91
+ const getMenuWithSecoundFloor = (secoundFloorMenu: SecoundFloorMenuList[number]) => {
92
+ const locale = getLocale();
93
93
  return handlePropsMenuToAntdMenu(secoundFloorMenu, (menuItem, floor) => {
94
94
  const { disabled, label, children, icon } = menuItem;
95
95
  const renderIcon = (themeConfig?.showLeftMenuIcon && icon) ? <IconFont type={icon} /> : "";
@@ -110,26 +110,27 @@ const Sider: React.FC<SiderPropsType> = ({ menuList, collapsed, themeConfig }) =
110
110
 
111
111
  const { path, target } = getLeftMostRouteInfo(menuItem);
112
112
 
113
- if (Array.isArray(children) && !children.length)
114
- return (
113
+ if (Array.isArray(children) && !children.length) {
114
+ const navLink = <NavLink
115
+ to={`/${path}`}
116
+ target={target}
117
+ style={{
118
+ color: "inherit",
119
+ width: "100%",
120
+ height: "100%",
121
+ display: "block",
122
+ textOverflow: "ellipsis",
123
+ overflow: "hidden",
124
+ }}
125
+ >
126
+ <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>
127
+ </NavLink>;
128
+ return (locale === "zh" ? navLink :
115
129
  <Tooltip title={translate("${" + label + "}")}>
116
- <NavLink
117
- to={`/${path}`}
118
- target={target}
119
- style={{
120
- color: "inherit",
121
- width: "100%",
122
- height: "100%",
123
- display: "block",
124
- textOverflow: "ellipsis",
125
- overflow: "hidden",
126
- }}
127
- >
128
- <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>
129
- </NavLink>
130
+ {navLink}
130
131
  </Tooltip>
131
132
  );
132
-
133
+ }
133
134
  return <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>;
134
135
  });
135
136
  };
@@ -19,7 +19,8 @@
19
19
  }
20
20
 
21
21
  .ant-drawer,
22
- .ant-modal-content {
22
+ .ant-modal-content,
23
+ .ant-modal-container {
23
24
 
24
25
  .ant-card-head {
25
26
  background: transparent !important;
@@ -95,7 +96,8 @@
95
96
  }
96
97
 
97
98
  /* selectTable 弹窗样式 */
98
- .ant-popover-inner-content {
99
+ .ant-popover-inner-content,
100
+ .ant-popover-content {
99
101
  .select-table-popover {
100
102
  background-color: #041B3B !important;
101
103
  border-color: #15325b !important;
@@ -126,7 +128,9 @@
126
128
  }
127
129
 
128
130
  .v3-antd-modal {
129
- .ant-modal-content {
131
+
132
+ .ant-modal-content,
133
+ .ant-modal-container {
130
134
  background: var(--ant-color-bg-base) !important;
131
135
  border: 1px solid var(--ant-color-border-secondary) !important;
132
136
  }
@@ -63,7 +63,7 @@ const Page: React.FC<PagePropsType> = (props: PagePropsType) => {
63
63
  );
64
64
 
65
65
  return (
66
- <DocumentTitle title={documentTitle}>
66
+ <DocumentTitle title={documentTitle || ""}>
67
67
  <div
68
68
  ref={pageRef}
69
69
  className="v3-main"
@@ -74,6 +74,7 @@ const Sider: React.FC<SiderPropsType> = ({ menuList, collapsed, themeConfig }) =
74
74
 
75
75
  // menu
76
76
  const getMenuWithSecoundFloor = (secoundFloorMenu: SecoundFloorMenuList[number]) => {
77
+ const locale = getLocale();
77
78
  return handlePropsMenuToAntdMenu(secoundFloorMenu, (menuItem) => {
78
79
  const { disabled, label, children, icon } = menuItem;
79
80
  const renderIcon = (themeConfig?.showLeftMenuIcon && icon) ? <IconFont type={icon} /> : "";
@@ -91,25 +92,27 @@ const Sider: React.FC<SiderPropsType> = ({ menuList, collapsed, themeConfig }) =
91
92
  </div>
92
93
  );
93
94
  const { path, target } = getLeftMostRouteInfo(menuItem);
94
- if (Array.isArray(children) && !children.length)
95
- return (
95
+ if (Array.isArray(children) && !children.length) {
96
+ const navLink = <NavLink
97
+ to={`/${path}`}
98
+ target={target}
99
+ style={{
100
+ color: "inherit",
101
+ width: "100%",
102
+ height: "100%",
103
+ display: "block",
104
+ textOverflow: "ellipsis",
105
+ overflow: "hidden",
106
+ }}
107
+ >
108
+ <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>
109
+ </NavLink>;
110
+ return (locale === "zh" ? navLink :
96
111
  <Tooltip title={translate("${" + label + "}")}>
97
- <NavLink
98
- to={`/${path}`}
99
- target={target}
100
- style={{
101
- color: "inherit",
102
- width: "100%",
103
- height: "100%",
104
- display: "block",
105
- textOverflow: "ellipsis",
106
- overflow: "hidden",
107
- }}
108
- >
109
- <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>
110
- </NavLink>
112
+ {navLink}
111
113
  </Tooltip>
112
114
  );
115
+ }
113
116
  return <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>;
114
117
  });
115
118
  };
@@ -19,7 +19,8 @@
19
19
  }
20
20
 
21
21
  .ant-drawer,
22
- .ant-modal-content {
22
+ .ant-modal-content,
23
+ .ant-modal-container {
23
24
 
24
25
  .ant-card-head {
25
26
  background: transparent !important;
@@ -88,7 +89,8 @@
88
89
  }
89
90
 
90
91
  /* selectTable 弹窗样式 */
91
- .ant-popover-inner-content {
92
+ .ant-popover-inner-content,
93
+ .ant-popover-content {
92
94
  .select-table-popover {
93
95
  background-color: #001325 !important;
94
96
  border-color: #15325b !important;
@@ -119,7 +121,9 @@
119
121
  }
120
122
 
121
123
  .v4-antd-modal {
122
- .ant-modal-content {
124
+
125
+ .ant-modal-content,
126
+ .ant-modal-container {
123
127
  background: var(--ant-color-bg-base) !important;
124
128
  border: 1px solid var(--ant-color-border-secondary) !important;
125
129
  }
@@ -68,7 +68,7 @@ const Page: React.FC<PagePropsType> = (props: PagePropsType) => {
68
68
  );
69
69
 
70
70
  return (
71
- <DocumentTitle title={documentTitle}>
71
+ <DocumentTitle title={documentTitle || ""}>
72
72
  <div
73
73
  ref={pageRef}
74
74
  className="v4-main"
@@ -77,6 +77,7 @@ const Sider: React.FC<SiderPropsType> = ({ menuList, collapsed, themeConfig }) =
77
77
 
78
78
  // menu
79
79
  const getMenuWithSecoundFloor = (secoundFloorMenu: SecoundFloorMenuList[number]) => {
80
+ const locale = getLocale();
80
81
  return handlePropsMenuToAntdMenu(secoundFloorMenu, (menuItem) => {
81
82
  const { disabled, label, children, icon } = menuItem;
82
83
  const renderIcon = (themeConfig?.showLeftMenuIcon && icon) ? <IconFont type={icon} /> : "";
@@ -94,25 +95,27 @@ const Sider: React.FC<SiderPropsType> = ({ menuList, collapsed, themeConfig }) =
94
95
  </div>
95
96
  );
96
97
  const { path, target } = getLeftMostRouteInfo(menuItem);
97
- if (Array.isArray(children) && !children.length)
98
- return (
98
+ if (Array.isArray(children) && !children.length) {
99
+ const navLink = <NavLink
100
+ to={`/${path}`}
101
+ target={target}
102
+ style={{
103
+ color: "inherit",
104
+ width: "100%",
105
+ height: "100%",
106
+ display: "block",
107
+ textOverflow: "ellipsis",
108
+ overflow: "hidden",
109
+ }}
110
+ >
111
+ <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>
112
+ </NavLink>;
113
+ return (locale === "zh" ? navLink :
99
114
  <Tooltip title={translate("${" + label + "}")}>
100
- <NavLink
101
- to={`/${path}`}
102
- target={target}
103
- style={{
104
- color: "inherit",
105
- width: "100%",
106
- height: "100%",
107
- display: "block",
108
- textOverflow: "ellipsis",
109
- overflow: "hidden",
110
- }}
111
- >
112
- <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>
113
- </NavLink>
115
+ {navLink}
114
116
  </Tooltip>
115
117
  );
118
+ }
116
119
  return <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>;
117
120
  });
118
121
  };
@@ -67,7 +67,7 @@ const Page: React.FC<PagePropsType> = (props: PagePropsType) => {
67
67
  );
68
68
 
69
69
  return (
70
- <DocumentTitle title={documentTitle}>
70
+ <DocumentTitle title={documentTitle || ""}>
71
71
  <div
72
72
  ref={pageRef}
73
73
  style={{
@@ -82,6 +82,7 @@ const Sider: React.FC<SiderPropsType> = ({ menuList, collapsed, systemName, logo
82
82
 
83
83
  // menu
84
84
  const getMenuWithSecoundFloor = (secoundFloorMenu: SecoundFloorMenuList[number]) => {
85
+ const locale = getLocale();
85
86
  return handlePropsMenuToAntdMenu(secoundFloorMenu, (menuItem) => {
86
87
  const { disabled, label, children, icon } = menuItem;
87
88
  const renderIcon = (themeConfig?.showLeftMenuIcon && icon) ? <IconFont type={icon} /> : "";
@@ -99,25 +100,27 @@ const Sider: React.FC<SiderPropsType> = ({ menuList, collapsed, systemName, logo
99
100
  </div>
100
101
  );
101
102
  const { path, target } = getLeftMostRouteInfo(menuItem);
102
- if (Array.isArray(children) && !children.length)
103
- return (
103
+ if (Array.isArray(children) && !children.length) {
104
+ const navLink = <NavLink
105
+ to={`/${path}`}
106
+ target={target}
107
+ style={{
108
+ color: "inherit",
109
+ width: "100%",
110
+ height: "100%",
111
+ display: "block",
112
+ textOverflow: "ellipsis",
113
+ overflow: "hidden",
114
+ }}
115
+ >
116
+ <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>
117
+ </NavLink>;
118
+ return (locale === "zh" ? navLink :
104
119
  <Tooltip title={translate("${" + label + "}")}>
105
- <NavLink
106
- to={`/${path}`}
107
- target={target}
108
- style={{
109
- color: "inherit",
110
- width: "100%",
111
- height: "100%",
112
- display: "block",
113
- textOverflow: "ellipsis",
114
- overflow: "hidden",
115
- }}
116
- >
117
- <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>
118
- </NavLink>
120
+ {navLink}
119
121
  </Tooltip>
120
122
  );
123
+ }
121
124
  return <Space size={"small"}>{renderIcon}{translate("${" + label + "}")}</Space>;
122
125
  });
123
126
  };
@@ -2,6 +2,7 @@
2
2
  margin-top: 6px;
3
3
 
4
4
  .ant-spin-nested-loading,
5
+ .ant-spin,
5
6
  .ant-spin-container {
6
7
  height: 100%;
7
8
  }
@@ -6,6 +6,7 @@
6
6
  /* Firefox */
7
7
 
8
8
  .ant-spin-nested-loading,
9
+ .ant-spin,
9
10
  .ant-spin-container {
10
11
  width: 100%;
11
12
  height: 100%;
@@ -16,7 +16,8 @@ interface BlockMenuTreeDrawerProps {
16
16
  interface BlockMenuTreeDrawerState {
17
17
  selectedAuths: string[],
18
18
  loading: boolean,
19
- role?: object
19
+ role?: object,
20
+ drawerSize?: number | string; // 抽屉组件尺寸
20
21
  }
21
22
 
22
23
  export default class BlockMenuTreeDrawer extends React.PureComponent<BlockMenuTreeDrawerProps, BlockMenuTreeDrawerState> {
@@ -32,13 +33,16 @@ export default class BlockMenuTreeDrawer extends React.PureComponent<BlockMenuTr
32
33
  state = {
33
34
  selectedAuths: [],
34
35
  loading: true,
35
- role: undefined
36
+ role: undefined,
37
+ drawerSize: undefined,
36
38
  }
37
39
 
38
40
  async componentDidMount() {
39
-
40
41
  await this.loadData();
42
+ const { width } = this.props;
43
+ this.setState({ drawerSize: width });
41
44
  }
45
+
42
46
  async componentDidUpdate(preProps) {
43
47
  const { roleCode } = this.props
44
48
  const { roleCode: preRoleCode } = preProps
@@ -80,23 +84,24 @@ export default class BlockMenuTreeDrawer extends React.PureComponent<BlockMenuTr
80
84
 
81
85
 
82
86
  render() {
83
- const { width, onCancel, open } = this.props;
87
+ const { onCancel, open } = this.props;
84
88
  const placement = this.props.placement || 'left';
85
- const { loading, role } = this.state;
89
+ const { loading, role, drawerSize } = this.state;
90
+ const maxSize = document.documentElement.clientWidth * 0.9;
91
+
86
92
  return (<Drawer
87
93
  loading={loading}
88
94
  title={role?.name}
89
95
  placement={placement}
96
+ size={drawerSize}
97
+ resizable={{ onResize: (newSize => this.setState({ drawerSize: newSize })) }}
98
+ maxSize={maxSize}
90
99
  closable={true}
91
100
  mask={false}
92
101
  onClose={onCancel}
93
102
  // onOk={()=>this.saveAuth}
94
103
  open={open}
95
- width={width}
96
104
  extra={[<Button type={'primary'} onClick={this.saveAuth} >{translate("${保存}")}</Button>]}
97
- style={{
98
- maxWidth: '92vw',
99
- }}
100
105
  // extra={
101
106
  // <Space>{this.getFooter()}</Space>
102
107
  // }
@@ -105,7 +110,7 @@ export default class BlockMenuTreeDrawer extends React.PureComponent<BlockMenuTr
105
110
  this.setState({
106
111
  selectedAuths: auths
107
112
  })
108
- }}></BlockMenuTree>
113
+ }} />
109
114
  </Drawer>
110
115
  )
111
116
 
@@ -48,6 +48,8 @@ interface ModalEditorState {
48
48
  dtmplData?: DtmplData;
49
49
  valueFieldMap?: { [key: string]: any };
50
50
  isContinueSave?: boolean; // 是否连续保存
51
+ btnLoading?: string; // 按钮loading控制
52
+ drawerSize?: number | string; // 抽屉组件尺寸
51
53
  }
52
54
 
53
55
  export default class DtmplEditPage extends React.PureComponent<
@@ -88,9 +90,14 @@ export default class DtmplEditPage extends React.PureComponent<
88
90
  dtmplData: undefined,
89
91
  valueFieldMap: {},
90
92
  isContinueSave: false, // 是否连续保存
93
+ btnLoading: "",
94
+ drawerSize: 0
91
95
  };
92
96
 
93
97
  async componentDidMount() {
98
+ const { height, width } = this.props;
99
+ const placement = this.props.placement || 'left';
100
+ this.setState({ drawerSize: ["top", "bottom"].includes(placement) ? height : width });
94
101
  if (this.props.open) {
95
102
  await this.loadConfigData();
96
103
  }
@@ -207,6 +214,7 @@ export default class DtmplEditPage extends React.PureComponent<
207
214
  if (this.autoSaveTimer >= dtmplConfig.autoSaveInterval) {
208
215
  //console.log('执行自动保存');
209
216
  this.autoSaveTimer = -1000000000000000;
217
+ this.setState({ btnLoading: "saveLoading" });
210
218
  this.doSubmit(undefined);
211
219
  } else {
212
220
  this.autoSaveTimer = this.autoSaveTimer + 1;
@@ -321,7 +329,6 @@ export default class DtmplEditPage extends React.PureComponent<
321
329
 
322
330
  doSubmit = (actionId?: number, codes?: string[], params?: object, isContinue?: boolean) => {
323
331
  const { mainCode } = this.props;
324
- this.setState({ loading: true })
325
332
  //if (actionId) {
326
333
  this.formRef.current.setFieldsValue({ actionId: actionId });
327
334
  // }
@@ -337,20 +344,26 @@ export default class DtmplEditPage extends React.PureComponent<
337
344
 
338
345
  getFooter = () => {
339
346
  const { onCancel, serverKey } = this.props;
340
- const { dtmplData, serial, loading } = this.state;
347
+ const { dtmplData, serial, loading, btnLoading } = this.state;
341
348
  const footerButtons = [];
342
349
  const { dtmplConfig } = this.state;
343
350
  const { saveBtnTitle, continueSaveBtnTitle } = dtmplConfig || {};
344
351
  const { translate } = this.context;
345
352
  if (dtmplConfig?.buttons?.includes("dtmplSave")) {
346
353
  footerButtons.unshift(
347
- <Button type="primary" loading={loading} onClick={() => this.doSubmit()}>
354
+ <Button type="primary" loading={loading || btnLoading === "saveLoading"} onClick={() => {
355
+ this.setState({ btnLoading: "saveLoading" });
356
+ this.doSubmit();
357
+ }}>
348
358
  {translate("${" + (saveBtnTitle || "保存") + "}")}
349
359
  </Button>
350
360
  );
351
361
  if (continueSaveBtnTitle) {
352
362
  footerButtons.unshift(
353
- <Button type="primary" loading={loading} onClick={() => this.doSubmit(null, null, null, true)}>
363
+ <Button type="primary" loading={loading || btnLoading === "continueSaveLoading"} onClick={() => {
364
+ this.setState({ btnLoading: "continueSaveLoading" });
365
+ this.doSubmit(null, null, null, true);
366
+ }}>
354
367
  {translate("${" + continueSaveBtnTitle + "}")}
355
368
  </Button>
356
369
  );
@@ -369,8 +382,12 @@ export default class DtmplEditPage extends React.PureComponent<
369
382
  data={[dtmplData]}
370
383
  formRef={this.formRef}
371
384
  actionConfig={ac}
372
- doAction={this.doSubmit}
373
- ></Action>
385
+ doAction={(...val) => {
386
+ this.setState({ btnLoading: `actionLoading${index}` });
387
+ this.doSubmit(...val);
388
+ }}
389
+ loading={loading || btnLoading === `actionLoading${index}`}
390
+ />
374
391
  );
375
392
  });
376
393
  }
@@ -392,7 +409,7 @@ export default class DtmplEditPage extends React.PureComponent<
392
409
  onFinish = (code) => {
393
410
  const { code: propsCode } = this.props;
394
411
  const { isContinueSave } = this.state;
395
- this.setState({ loading: false });
412
+ this.setState({ loading: false, btnLoading: "" });
396
413
  if (code) {
397
414
  if (propsCode && isContinueSave) {
398
415
  this.loadConfigData();
@@ -415,8 +432,9 @@ export default class DtmplEditPage extends React.PureComponent<
415
432
  title,
416
433
  serverKey, parentFormInstance
417
434
  } = this.props;
418
- const { dtmplConfig, id, dtmplData, valueFieldMap } = this.state;
435
+ const { dtmplConfig, id, dtmplData, valueFieldMap, drawerSize } = this.state;
419
436
  const placement = this.props.placement || "left";
437
+ const maxSize = ["top", "bottom"].includes(placement) ? document.documentElement.clientHeight : document.documentElement.clientWidth * 0.9;
420
438
 
421
439
  let title1 = title ? title : dtmplConfig ? dtmplConfig.title : "";
422
440
  const { translate } = this.context;
@@ -427,7 +445,7 @@ export default class DtmplEditPage extends React.PureComponent<
427
445
 
428
446
  return (
429
447
  <>
430
- {pageType == "modal" ? (
448
+ {pageType === "modal" ? (
431
449
  // <Draggable handle=".ant-modal-header">
432
450
  <DraggableModal
433
451
  open={open}
@@ -461,40 +479,39 @@ export default class DtmplEditPage extends React.PureComponent<
461
479
  >
462
480
  </DraggableModal>
463
481
  // </Draggable>
464
- ) : pageType == "drawer" ? (
465
-
482
+ ) : pageType === "drawer" ? (
466
483
  <Drawer
467
484
  onClick={this.onClickBody}
468
485
  title={title1}
469
486
  placement={placement}
487
+ resizable={{ onResize: (newSize => this.setState({ drawerSize: newSize })) }}
488
+ size={drawerSize}
489
+ maxSize={maxSize}
470
490
  closable={true}
471
491
  mask={false}
472
- width={width}
473
492
  onClose={onCancel}
474
493
  open={open}
475
- height={["top", "bottom"].includes(placement) ? height : "calc(100%)"}
476
- style={{
477
- maxWidth: ["top", "bottom"].includes(placement) ? "100vw" : "92vw",
478
- border: "2px solid #d9d9d9",
479
- width,
480
- }}
494
+ style={{ border: "2px solid #d9d9d9" }}
481
495
  extra={<Space>{this.getFooter()}</Space>}
496
+ styles={{ body: { minWidth: width } }}
482
497
  >
483
- <DtmplForm
484
- serverKey={serverKey}
485
- mainCode={mainCode}
486
- parentId={id}
487
- dtmplConfig={dtmplConfig}
488
- formRef={this.formRef}
489
- sourceId={sourceId}
490
- onFinish={this.onFinish}
491
- maxColsOnRow={maxColsOnRow}
492
- showConfirm={false}
493
- dtmplData={dtmplData}
494
- onValuesChange={this.onValuesChange}
495
- parentFormInstance={parentFormInstance}
496
- valueFieldMap={valueFieldMap}
497
- />
498
+ <div style={{ width: '100%', minWidth: width }}>
499
+ <DtmplForm
500
+ serverKey={serverKey}
501
+ mainCode={mainCode}
502
+ parentId={id}
503
+ dtmplConfig={dtmplConfig}
504
+ formRef={this.formRef}
505
+ sourceId={sourceId}
506
+ onFinish={this.onFinish}
507
+ maxColsOnRow={maxColsOnRow}
508
+ showConfirm={false}
509
+ dtmplData={dtmplData}
510
+ onValuesChange={this.onValuesChange}
511
+ parentFormInstance={parentFormInstance}
512
+ valueFieldMap={valueFieldMap}
513
+ />
514
+ </div>
498
515
  </Drawer>
499
516
  ) : (
500
517
  <Card title={title1}>
@@ -15,13 +15,13 @@ interface DtmplViewDrawerProps extends DtmplBaseProps {
15
15
  }
16
16
 
17
17
  interface DtmplViewDrawerState {
18
-
18
+ drawerSize?: number | string; // 抽屉组件尺寸
19
19
  }
20
20
 
21
21
 
22
22
  class DtmplViewDrawer extends React.PureComponent<DtmplViewDrawerProps, DtmplViewDrawerState> {
23
23
  state = {
24
-
24
+ drawerSize: "82vw"
25
25
  }
26
26
 
27
27
  static defaultProps = {
@@ -35,29 +35,29 @@ class DtmplViewDrawer extends React.PureComponent<DtmplViewDrawerProps, DtmplVie
35
35
  }
36
36
 
37
37
  async componentDidMount() {
38
-
38
+ const { height, width } = this.props;
39
+ const placement = this.props.placement || 'left';
40
+ this.setState({ drawerSize: ["top", "bottom"].includes(placement) ? height : width });
39
41
  }
40
42
 
41
43
  render() {
42
- const { title, sourceId, code, open, onClose, width, height, cancelText, editable, serverKey, codeSource } = this.props;
44
+ const { title, sourceId, code, open, onClose, cancelText, editable, serverKey, codeSource } = this.props;
45
+ const { drawerSize } = this.state;
43
46
  const placement = this.props.placement || 'left';
47
+ const maxSize = ["top", "bottom"].includes(placement) ? document.documentElement.clientHeight : document.documentElement.clientWidth * 0.9;
44
48
 
45
49
  return (<Drawer
46
- height={["top", "bottom"].includes(placement) ? height : "100%"}
50
+ size={drawerSize}
47
51
  placement={placement}
48
52
  title={title}
53
+ resizable={{ onResize: (newSize => this.setState({ drawerSize: newSize })) }}
54
+ maxSize={maxSize}
49
55
  closable={true}
50
56
  mask={false}
51
57
  destroyOnHidden={true}
52
58
  onClose={onClose}
53
59
  open={open}
54
- style={{
55
- maxWidth: ["top", "bottom"].includes(placement) ? "100vw" : "92vw",
56
- border: "2px solid #d9d9d9",
57
- width
58
- // borderRightWidth:"2px",
59
- // borderLeftWidth:"2px",
60
- }}
60
+ style={{ border: "2px solid #d9d9d9" }}
61
61
  extra={
62
62
  <Space>
63
63
  <Button onClick={() => onClose()}>{cancelText}</Button>