tntd 1.3.66 → 1.4.0

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 (167) hide show
  1. package/dist/0645cf743e4e44ca9da321d689897f07.png +0 -0
  2. package/dist/09db77de0c24fa0f45f8a5cf299a3d11.png +0 -0
  3. package/dist/1.tntd.js +12 -0
  4. package/dist/1d0b52448de217857b270af807e9360d.png +0 -0
  5. package/dist/25d78d77c9c2f0d403e5d899ceb5b1ef.png +0 -0
  6. package/dist/27fa44ff0c98e1594d79b73045aabedf.png +0 -0
  7. package/dist/2c95075adb68d6131b59cae9fa554ec2.png +0 -0
  8. package/dist/377c871d922a25c773a9e7c2f42ed7c0.png +0 -0
  9. package/dist/3d901589b40bd56ff1fde2bbb700bfe1.png +0 -0
  10. package/dist/4abe481e130d7be0574e45573de8beb7.png +0 -0
  11. package/dist/95ee2260a509cd630d89c5367ed1973b.png +0 -0
  12. package/dist/b9dd5ff3622296fbee51ed68f4bca1bf.png +0 -0
  13. package/dist/bd2921989f9296089ba58efb7a76f3ef.png +0 -0
  14. package/dist/stats.json +45855 -0
  15. package/dist/tntd.css +1 -0
  16. package/dist/tntd.js +15 -0
  17. package/es/ArrayInput/README.md +129 -0
  18. package/es/ArrayInput/icon.js +24 -0
  19. package/es/ArrayInput/index.js +282 -0
  20. package/es/ArrayInput/index.less +20 -0
  21. package/es/AuthContext.js +4 -0
  22. package/es/Columns/README.md +149 -0
  23. package/es/Columns/index.js +86 -0
  24. package/es/Columns/index.less +75 -0
  25. package/es/DevelopmentLogin/LoginModal.js +126 -0
  26. package/es/DevelopmentLogin/README.md +49 -0
  27. package/es/DevelopmentLogin/index.js +40 -0
  28. package/es/Ellipsis/README.md +104 -0
  29. package/es/Ellipsis/Svg/CopySVG.js +63 -0
  30. package/es/Ellipsis/Svg/TickSVG.js +41 -0
  31. package/es/Ellipsis/index.js +143 -0
  32. package/es/Ellipsis/index.less +56 -0
  33. package/es/Handle/README.md +104 -0
  34. package/es/Handle/index.js +92 -0
  35. package/es/Handle/index.less +9 -0
  36. package/es/Icon/README.md +119 -0
  37. package/es/Icon/fonts/demo.css +539 -0
  38. package/es/Icon/fonts/demo_index.html +3345 -0
  39. package/es/Icon/fonts/iconfont.css +569 -0
  40. package/es/Icon/fonts/iconfont.eot +0 -0
  41. package/es/Icon/fonts/iconfont.js +41 -0
  42. package/es/Icon/fonts/iconfont.json +975 -0
  43. package/es/Icon/fonts/iconfont.svg +440 -0
  44. package/es/Icon/fonts/iconfont.ttf +0 -0
  45. package/es/Icon/fonts/iconfont.woff +0 -0
  46. package/es/Icon/fonts/iconfont.woff2 +0 -0
  47. package/es/Icon/iconList.js +1 -0
  48. package/es/Icon/index.js +26 -0
  49. package/es/Icon/index.less +9 -0
  50. package/es/Img/Contain.js +69 -0
  51. package/es/Img/Cover.js +126 -0
  52. package/es/Img/README.md +131 -0
  53. package/es/Img/index.js +76 -0
  54. package/es/Layout/ActionsContext.js +3 -0
  55. package/es/Layout/AppList.js +233 -0
  56. package/es/Layout/Application.js +115 -0
  57. package/es/Layout/Avatar.js +116 -0
  58. package/es/Layout/CompatibleLanguage.js +179 -0
  59. package/es/Layout/EnterpriseLayout/Avatar.js +144 -0
  60. package/es/Layout/EnterpriseLayout/Language.js +81 -0
  61. package/es/Layout/EnterpriseLayout/Theme.js +77 -0
  62. package/es/Layout/EnterpriseLayout/index.js +31 -0
  63. package/es/Layout/GlobalNavigation/NavigationPopup.js +396 -0
  64. package/es/Layout/GlobalNavigation/index.js +137 -0
  65. package/es/Layout/Header.js +95 -0
  66. package/es/Layout/HeaderActions.js +107 -0
  67. package/es/Layout/HeaderNavs.js +93 -0
  68. package/es/Layout/HeaderTabs.js +264 -0
  69. package/es/Layout/Iconfont.js +4 -0
  70. package/es/Layout/Language.js +81 -0
  71. package/es/Layout/Layout.js +234 -0
  72. package/es/Layout/Logo.js +86 -0
  73. package/es/Layout/OrgAppList.js +310 -0
  74. package/es/Layout/README.md +783 -0
  75. package/es/Layout/SideMenu.js +340 -0
  76. package/es/Layout/Theme.js +107 -0
  77. package/es/Layout/checkAuth.js +29 -0
  78. package/es/Layout/createActions.js +39 -0
  79. package/es/Layout/images/avatar/empty.png +0 -0
  80. package/es/Layout/images/avatar/female1.png +0 -0
  81. package/es/Layout/images/avatar/female2.png +0 -0
  82. package/es/Layout/images/avatar/female3.png +0 -0
  83. package/es/Layout/images/avatar/female4.png +0 -0
  84. package/es/Layout/images/avatar/female5.png +0 -0
  85. package/es/Layout/images/avatar/female6.png +0 -0
  86. package/es/Layout/images/avatar/male1.png +0 -0
  87. package/es/Layout/images/avatar/male2.png +0 -0
  88. package/es/Layout/images/avatar/male3.png +0 -0
  89. package/es/Layout/images/avatar/male4.png +0 -0
  90. package/es/Layout/images/avatar/male5.png +0 -0
  91. package/es/Layout/images/avatar/male6.png +0 -0
  92. package/es/Layout/images/index.js +35 -0
  93. package/es/Layout/images/logo/baldur.svg +14 -0
  94. package/es/Layout/images/logo/bi.svg +14 -0
  95. package/es/Layout/images/logo/bridge.svg +15 -0
  96. package/es/Layout/images/logo/convert.svg +18 -0
  97. package/es/Layout/images/logo/dataocean.svg +31 -0
  98. package/es/Layout/images/logo/default.svg +19 -0
  99. package/es/Layout/images/logo/dispatch.svg +14 -0
  100. package/es/Layout/images/logo/graph.svg +26 -0
  101. package/es/Layout/images/logo/handle.svg +10 -0
  102. package/es/Layout/images/logo/indicator.svg +41 -0
  103. package/es/Layout/images/logo/kafka.svg +12 -0
  104. package/es/Layout/images/logo/logo-custom.svg +13 -0
  105. package/es/Layout/images/logo/model.svg +17 -0
  106. package/es/Layout/images/logo/mysql.svg +15 -0
  107. package/es/Layout/images/logo/orion.svg +24 -0
  108. package/es/Layout/images/logo/salaxy.svg +11 -0
  109. package/es/Layout/images/logo/storage.svg +16 -0
  110. package/es/Layout/images/logo/tnt_cli_identify.svg +19 -0
  111. package/es/Layout/images/logo/turing.svg +35 -0
  112. package/es/Layout/images/theme/theme1.svg +35 -0
  113. package/es/Layout/images/theme/theme2.svg +33 -0
  114. package/es/Layout/index.js +122 -0
  115. package/es/Layout/paaslayout/CompactSideMenu.js +167 -0
  116. package/es/Layout/paaslayout/Header.js +77 -0
  117. package/es/Layout/paaslayout/Logo.js +22 -0
  118. package/es/Layout/paaslayout/SideMenu.js +168 -0
  119. package/es/Layout/paaslayout/index.js +235 -0
  120. package/es/Layout/storage.js +47 -0
  121. package/es/Layout/utils.js +136 -0
  122. package/es/LoadingButton/README.md +75 -0
  123. package/es/LoadingButton/index.js +45 -0
  124. package/es/Modal/README.md +59 -0
  125. package/es/Modal/index.js +96 -0
  126. package/es/Modal/index.less +86 -0
  127. package/es/Page/Box.js +74 -0
  128. package/es/Page/README.md +180 -0
  129. package/es/Page/index.js +165 -0
  130. package/es/Page/index.less +144 -0
  131. package/es/Page/utils.js +23 -0
  132. package/es/QueryForm/Field/Checkbox.js +21 -0
  133. package/es/QueryForm/Field/Select.js +80 -0
  134. package/es/QueryForm/Field/SelectInput.js +92 -0
  135. package/es/QueryForm/Field/fieldsMap.js +32 -0
  136. package/es/QueryForm/Field/index.js +157 -0
  137. package/es/QueryForm/README.md +512 -0
  138. package/es/QueryForm/createActions.js +53 -0
  139. package/es/QueryForm/index.js +384 -0
  140. package/es/QueryForm/index.less +133 -0
  141. package/es/QueryForm/useForm.js +7 -0
  142. package/es/QueryListScene/List.js +378 -0
  143. package/es/QueryListScene/QueryForm.js +166 -0
  144. package/es/QueryListScene/QueryListScene.js +76 -0
  145. package/es/QueryListScene/README.md +790 -0
  146. package/es/QueryListScene/Title.js +12 -0
  147. package/es/QueryListScene/Toolbar.js +20 -0
  148. package/es/QueryListScene/createActions.js +72 -0
  149. package/es/QueryListScene/index.js +19 -0
  150. package/es/QueryListScene/index.less +97 -0
  151. package/es/QueryListScene/useActions.js +7 -0
  152. package/es/Select/DropDownWrap.js +116 -0
  153. package/es/Select/README.md +68 -0
  154. package/es/Select/index.js +622 -0
  155. package/es/Table/README.md +109 -0
  156. package/es/Table/ResizableTable/index.js +110 -0
  157. package/es/Table/ResizableTable/index.less +36 -0
  158. package/es/Table/index.js +35 -0
  159. package/es/Title/README.md +106 -0
  160. package/es/Title/index.js +40 -0
  161. package/es/Title/index.less +170 -0
  162. package/es/index.js +19 -0
  163. package/es/locale.js +60 -0
  164. package/package.json +1 -1
  165. package/doc-scripts.config.js +0 -37
  166. package/doc-scripts.renderer.js +0 -11
  167. package/docs/README.md +0 -1643
@@ -0,0 +1,234 @@
1
+ import "antd/es/layout/style";
2
+ import _Layout from "antd/es/layout";
3
+
4
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
5
+
6
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7
+
8
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
11
+
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
13
+
14
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
15
+
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
+
18
+ function _templateObject() {
19
+ var data = _taggedTemplateLiteral(["\n position: relative;\n .tnt-layout-sider {\n overflow-x: hidden;\n background: #191D29;\n }\n .tnt-layout-menu-collapse {\n position: absolute;\n bottom: 0;\n left: 0;\n line-height: 36px;\n background: #191D29;\n box-shadow: 0 0 6px 0 rgb(0 0 0 / 10%);\n color: #fff;\n width: 100%;\n padding-left: 24px;\n font-size: 14px;\n cursor: pointer;\n }\n &.isInIframe, &.isEmptyLayout {\n .tnt-layout-sider {\n display: none;\n }\n }\n &.compatible .tnt-layout-sider {\n background: linear-gradient(#213f83, #0f75d6) !important;\n }\n &.tnt-themeS1 {\n .tnt-layout-sider {\n background: #fff !important;\n overflow-x: unset;\n }\n .tnt-layout-menu-collapse {\n z-index: 3;\n background: #fff;\n color: ", ";\n }\n }\n // \u84DD\u8272\u7CFB\u5217\n &.tnt-themeS3 {\n .tnt-layout-sider {\n background-image: linear-gradient(180deg, #213F83 0%, #0F75D6 100%) !important;\n overflow-x: unset;\n }\n .tnt-layout-menu-collapse {\n background: #207AD4;\n color: #fff;\n }\n }\n & > .ant-layout-content {\n background-color: ", ";\n & > div:nth-child(2) {\n height: calc(100vh - 50px);\n overflow: auto;\n }\n }\n &.large-size > .ant-layout-content {\n & > div:nth-child(2) {\n height: calc(100vh - 60px);\n }\n }\n"]);
20
+
21
+ _templateObject = function _templateObject() {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
28
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
29
+
30
+ import { useState, useEffect } from 'react';
31
+ import styled, { withTheme } from 'styled-components';
32
+ import cn from 'classnames';
33
+ import { isUndefined } from 'lodash';
34
+ import Icon from '../Icon';
35
+ import Header from './Header';
36
+ import Logo from './Logo';
37
+ import SideMenu from './SideMenu';
38
+ import { getSideMenuStore, setSideMenuStore, getLanguageStore, getThemeStore } from './storage';
39
+ var Content = _Layout.Content,
40
+ Sider = _Layout.Sider;
41
+ var TNTLayout = styled(_Layout)(_templateObject(), function (props) {
42
+ return props.theme.primaryTextColor;
43
+ }, function (props) {
44
+ return props.theme.lightBgColor;
45
+ });
46
+ export default withTheme(function (props) {
47
+ var logo = props.logo,
48
+ name = props.name,
49
+ enName = props.enName,
50
+ selectedOrgKey = props.selectedOrgKey,
51
+ orgAppShow = props.orgAppShow,
52
+ orgList = props.orgList,
53
+ orgAppList = props.orgAppList,
54
+ onOrgChange = props.onOrgChange,
55
+ selectedAppKey = props.selectedAppKey,
56
+ appList = props.appList,
57
+ selectedMenuKey = props.selectedMenuKey,
58
+ _props$menuAlignMode = props.menuAlignMode,
59
+ menuAlignMode = _props$menuAlignMode === void 0 ? 'side' : _props$menuAlignMode,
60
+ _props$collapseIconPl = props.collapseIconPlacement,
61
+ collapseIconPlacement = _props$collapseIconPl === void 0 ? 'right' : _props$collapseIconPl,
62
+ _props$menus = props.menus,
63
+ menus = _props$menus === void 0 ? [] : _props$menus,
64
+ formatMenuPath = props.formatMenuPath,
65
+ changeRouter = props.changeRouter,
66
+ headerTabs = props.headerTabs,
67
+ orgTreeConfig = props.orgTreeConfig,
68
+ headerNavs = props.headerNavs,
69
+ extraHeaderActions = props.extraHeaderActions,
70
+ isInIframe = props.isInIframe,
71
+ isEmptyLayout = props.isEmptyLayout,
72
+ _props$onLogoClick = props.onLogoClick,
73
+ onLogoClick = _props$onLogoClick === void 0 ? function () {
74
+ return null;
75
+ } : _props$onLogoClick,
76
+ onCollapseChange = props.onCollapseChange,
77
+ _onThemeChange = props.onThemeChange,
78
+ _onLanguageChange = props.onLanguageChange,
79
+ onBeforeMenuChange = props.onBeforeMenuChange,
80
+ onMenuChange = props.onMenuChange,
81
+ onMenuSelect = props.onMenuSelect,
82
+ onAppChange = props.onAppChange,
83
+ onPersonalSetting = props.onPersonalSetting,
84
+ onChangePassword = props.onChangePassword,
85
+ onLogout = props.onLogout,
86
+ config = props.config,
87
+ _props$extendMap = props.extendMap,
88
+ extendMap = _props$extendMap === void 0 ? {} : _props$extendMap,
89
+ AvatarCustom = props.AvatarCustom;
90
+
91
+ var _getSideMenuStore = getSideMenuStore(),
92
+ storeCollapsed = _getSideMenuStore.collapsed,
93
+ _getSideMenuStore$ope = _getSideMenuStore.openKeys,
94
+ openKeys = _getSideMenuStore$ope === void 0 ? [] : _getSideMenuStore$ope;
95
+
96
+ var _useState = useState(isUndefined(storeCollapsed) ? props.collapsed : storeCollapsed),
97
+ _useState2 = _slicedToArray(_useState, 2),
98
+ collapsed = _useState2[0],
99
+ setCollapsed = _useState2[1];
100
+
101
+ var _useState3 = useState(function () {
102
+ openKeys = collapsed ? [] : openKeys;
103
+ openKeys = openKeys instanceof Array ? openKeys : [];
104
+ return openKeys;
105
+ }(openKeys)),
106
+ _useState4 = _slicedToArray(_useState3, 2),
107
+ openMenuKeys = _useState4[0],
108
+ setOpenMenuKeys = _useState4[1];
109
+
110
+ var _useState5 = useState(props.userInfo || {}),
111
+ _useState6 = _slicedToArray(_useState5, 2),
112
+ userInfo = _useState6[0],
113
+ setUserInfo = _useState6[1];
114
+
115
+ var theme = getThemeStore() || (extendMap == null ? void 0 : extendMap.defaultTheme) || userInfo.theme || 'themeS2';
116
+ var language = getLanguageStore() || userInfo.lang || 'cn';
117
+ theme = theme === 'default' ? 'themeS2' : theme;
118
+
119
+ var collapseChangeHandle = function collapseChangeHandle() {
120
+ var _getSideMenuStore2 = getSideMenuStore(),
121
+ _getSideMenuStore2$be = _getSideMenuStore2.beforeOpenKeys,
122
+ beforeOpenKeys = _getSideMenuStore2$be === void 0 ? [] : _getSideMenuStore2$be;
123
+
124
+ var newCollapsed = !collapsed; // 菜单收起:记住当前展开子菜单到store,并收起子菜单
125
+
126
+ if (newCollapsed) {
127
+ setSideMenuStore({
128
+ collapsed: newCollapsed,
129
+ beforeOpenKeys: openMenuKeys
130
+ });
131
+ setOpenMenuKeys([]);
132
+ } else {
133
+ // 菜单展开:恢复子菜单展开项,并更新到store
134
+ setSideMenuStore({
135
+ collapsed: newCollapsed,
136
+ openKeys: beforeOpenKeys
137
+ });
138
+ setOpenMenuKeys(beforeOpenKeys);
139
+ }
140
+
141
+ setCollapsed(newCollapsed);
142
+ onCollapseChange && onCollapseChange(newCollapsed);
143
+ };
144
+
145
+ useEffect(function () {
146
+ setUserInfo(props.userInfo);
147
+ }, [props.userInfo]);
148
+ return React.createElement(TNTLayout, {
149
+ className: cn("tnt-".concat(theme, " ").concat(props.className || ''), {
150
+ 'large-size': props.theme.size === 'large',
151
+ compatible: props.theme.compatible,
152
+ isInIframe: isInIframe,
153
+ isEmptyLayout: isEmptyLayout,
154
+ noAppList: !appList,
155
+ hasHeaderTabs: !!headerTabs,
156
+ collapseIconPlacementBottom: collapseIconPlacement === 'bottom'
157
+ })
158
+ }, React.createElement(Sider, {
159
+ collapsible: true,
160
+ breakpoint: "md",
161
+ className: "tnt-layout-sider",
162
+ collapsed: collapsed,
163
+ width: 220,
164
+ trigger: null
165
+ }, React.createElement(Logo, {
166
+ language: language,
167
+ logo: logo,
168
+ name: name,
169
+ enName: enName,
170
+ collapsed: collapsed,
171
+ onClick: onLogoClick
172
+ }), React.createElement(SideMenu, {
173
+ language: language,
174
+ selectedKey: selectedMenuKey,
175
+ menuAlignMode: menuAlignMode,
176
+ menus: menus,
177
+ collapsed: collapsed,
178
+ openKeys: openMenuKeys,
179
+ onOpenChange: function onOpenChange(keys) {
180
+ if (!collapsed) {
181
+ setSideMenuStore({
182
+ openKeys: keys,
183
+ beforeOpenKeys: keys
184
+ });
185
+ }
186
+
187
+ setOpenMenuKeys(keys);
188
+ },
189
+ formatMenuPath: formatMenuPath,
190
+ changeRouter: changeRouter,
191
+ onBeforeChange: onBeforeMenuChange,
192
+ onChange: onMenuChange,
193
+ onSelect: onMenuSelect
194
+ }), collapseIconPlacement === 'bottom' && React.createElement("div", {
195
+ className: "tnt-layout-menu-collapse",
196
+ onClick: collapseChangeHandle
197
+ }, React.createElement(Icon, {
198
+ type: "menu-".concat(collapsed ? 'unfold' : 'fold')
199
+ }))), React.createElement(Content, null, React.createElement(Header, {
200
+ userInfo: userInfo,
201
+ config: config,
202
+ collapsed: collapsed,
203
+ collapseIconPlacement: collapseIconPlacement,
204
+ orgAppShow: orgAppShow,
205
+ orgList: orgList,
206
+ orgTreeConfig: orgTreeConfig,
207
+ orgAppList: orgAppList,
208
+ onOrgChange: onOrgChange,
209
+ selectedOrgKey: selectedOrgKey,
210
+ selectedAppKey: selectedAppKey,
211
+ appList: appList,
212
+ menus: menus,
213
+ headerTabs: headerTabs,
214
+ extraActions: extraHeaderActions,
215
+ onAppChange: onAppChange,
216
+ onCollapseChange: collapseChangeHandle,
217
+ AvatarCustom: AvatarCustom,
218
+ onThemeChange: function onThemeChange(theme) {
219
+ setUserInfo(_objectSpread({}, userInfo, {
220
+ theme: theme
221
+ }));
222
+ _onThemeChange && _onThemeChange(theme);
223
+ },
224
+ onLanguageChange: function onLanguageChange(lang) {
225
+ setUserInfo(_objectSpread({}, userInfo, {
226
+ lang: lang
227
+ }));
228
+ _onLanguageChange && _onLanguageChange(lang);
229
+ },
230
+ onPersonalSetting: onPersonalSetting,
231
+ onChangePassword: onChangePassword,
232
+ onLogout: onLogout
233
+ }, headerNavs), props.children));
234
+ });
@@ -0,0 +1,86 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ function _templateObject() {
4
+ var data = _taggedTemplateLiteral(["\n height: ", ";\n line-height: ", ";\n padding-left: 15px;\n width: 220px;\n background: #191D29;\n font-size: ", ";\n color: rgba(226, 237, 255, .9);\n letter-spacing: 0;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n &:after {\n position: absolute;\n bottom: -12px;\n left: 0;\n background-image: linear-gradient(0deg, #191D29 23%, #151924 93%);\n content: \"\";\n width: 100%;\n height: 12px;\n }\n\n .ant-layout-sider-collapsed & {\n padding-left: 26px;\n }\n\n .compatible & {\n background: #213F83;\n color: #A1D7FF;\n box-shadow: 0 1px 8px 0 rgba(0,0,0,0.30);\n &:after {\n display: none;\n }\n }\n cursor: pointer;\n font-weight: 400;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n .tnt-themeS1 & {\n background: #FFFFFF !important;\n box-shadow: 2px 3px 8px -1px rgba(0,0,0,0.15);\n color: #17233D;\n &:after {\n display: none;\n }\n }\n\n .tnt-themeS1.compatible & {\n background: #323b4a;\n }\n\n // \u84DD\u8272\u4E3B\u9898\n .tnt-themeS3 & {\n background: ", "; //#1D4295 !important;\n box-shadow: 2px 3px 8px -1px rgba(0,0,0,0.15);\n color: #FFFFFF;\n &:after {\n display: none;\n }\n }\n\n img {\n position: relative;\n top: -1px;\n width: 23px;\n height: 23px;\n margin-right: 12px;\n .large-size & {\n width: 28px;\n height: 28px;\n }\n }\n"]);
5
+
6
+ _templateObject = function _templateObject() {
7
+ return data;
8
+ };
9
+
10
+ return data;
11
+ }
12
+
13
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
14
+
15
+ /**
16
+ * @file Logo
17
+ * @author zhangyou
18
+ */
19
+ import styled, { withTheme } from 'styled-components';
20
+ import { logoImgMap } from './images';
21
+ var Logo = styled.div(_templateObject(), function (props) {
22
+ return "".concat(props.theme.headerHeight, "px");
23
+ }, function (props) {
24
+ return "".concat(props.theme.headerHeight, "px");
25
+ }, function (props) {
26
+ return "".concat(props.fontSize, "px");
27
+ }, function (props) {
28
+ return "".concat(props.theme.blueBgColor, " !important");
29
+ }); // JS判断字符串长度(英文占1个字符,中文汉字占2个字符)
30
+
31
+ var getStrLen = function getStrLen() {
32
+ var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
33
+ var len = 0;
34
+
35
+ for (var i = 0; i < str.length; i++) {
36
+ var c = str.charCodeAt(i);
37
+ var chartLength = 2; //单字节加1
38
+
39
+ if (c >= 0x0001 && c <= 0x007e || 0xff60 <= c && c <= 0xff9f) {
40
+ chartLength = 1;
41
+ }
42
+
43
+ len += chartLength;
44
+ }
45
+
46
+ return len;
47
+ };
48
+
49
+ export default withTheme(function (props) {
50
+ var _logo$props;
51
+
52
+ var logo = props.logo,
53
+ name = props.name,
54
+ enName = props.enName,
55
+ language = props.language,
56
+ collapsed = props.collapsed,
57
+ size = props.theme.size;
58
+ var productNameLen = getStrLen(language === 'cn' ? name : enName);
59
+ var fontSize = {
60
+ 12: 19,
61
+ 13: 18,
62
+ 14: 17,
63
+ 15: 16,
64
+ 16: 15
65
+ }[Math.max(12, Math.min(productNameLen, 16))] + (size === 'large' ? 1 : 0);
66
+
67
+ var LogoImg = function LogoImg(props) {
68
+ return React.createElement("img", _extends({
69
+ onError: function onError(e) {
70
+ e.target.onerror = null;
71
+ e.target.src = logoImgMap["default"];
72
+ }
73
+ }, props));
74
+ };
75
+
76
+ return React.createElement(Logo, _extends({}, props, {
77
+ fontSize: fontSize
78
+ }), typeof logo === 'string' ? React.createElement(LogoImg, {
79
+ src: logoImgMap[logo] || logoImgMap["default"]
80
+ }) : logo && logo.type === 'img' ? React.createElement(LogoImg, _extends({}, logo.props, {
81
+ src: ((_logo$props = logo.props) == null ? void 0 : _logo$props.src) || logoImgMap["default"]
82
+ })) : logo, collapsed ? '' : {
83
+ cn: name,
84
+ en: enName
85
+ }[language]);
86
+ });
@@ -0,0 +1,310 @@
1
+ import "antd/es/select/style";
2
+ import _Select from "antd/es/select";
3
+ import "antd/es/tree-select/style";
4
+ import _TreeSelect from "antd/es/tree-select";
5
+ import "antd/es/input/style";
6
+ import _Input from "antd/es/input";
7
+
8
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
+
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
11
+
12
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
+
14
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
17
+
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
19
+
20
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
21
+
22
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
+
24
+ function _templateObject3() {
25
+ var data = _taggedTemplateLiteral(["\n .org-tree-select {\n &.ant-select-tree-dropdown .ant-select-dropdown-search{\n padding: 10px;\n .ant-select-search__field{\n padding: 0 7px;\n height:28px;\n line-height: 28px;\n }\n }\n .ant-select-tree {\n margin-top:0;\n padding: 0 10px 0 4px;\n li{\n margin:4px 0 ;\n .ant-select-tree-switcher{\n height: 30px;\n line-height: 30px;\n float: left;\n }\n .ant-select-tree-node-content-wrapper{\n height: 30px;\n line-height:30px;\n padding: 0;\n border-radius: 0;\n &.ant-select-tree-node-selected{\n background: #E7F0FE;\n }\n }\n .ant-select-tree-node-content-wrapper:hover{\n background: #E7F0FE;\n }\n .ant-select-tree-title{\n font-family: PingFangSC-Regular;\n color: #17233D;\n padding-left: 4px;\n padding-right: 4px;\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n }\n .org-tree-check-select {\n .ant-select-tree {\n margin-top:0;\n padding: 0 10px 0 4px;\n li{\n margin:4px 0 ;\n .ant-select-tree-switcher{\n height: 30px;\n line-height: 30px;\n vertical-align: top;\n }\n\n .ant-select-tree-checkbox{\n vertical-align: super;\n }\n \n .ant-select-tree-node-content-wrapper{\n height: 30px;\n line-height:30px;\n padding: 0;\n border-radius: 0;\n &.ant-select-tree-node-selected{\n background: #E7F0FE;\n }\n }\n .ant-select-tree-node-content-wrapper:hover{\n background: #E7F0FE;\n }\n .ant-select-tree-title{\n font-family: PingFangSC-Regular;\n color: #17233D;\n padding-left: 4px;\n padding-right: 4px;\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n }\n"]);
26
+
27
+ _templateObject3 = function _templateObject3() {
28
+ return data;
29
+ };
30
+
31
+ return data;
32
+ }
33
+
34
+ function _templateObject2() {
35
+ var data = _taggedTemplateLiteral(["\n min-width: 160px;\n height: 28px;\n line-height: 28;\n position: relative;\n top: 50%;\n transform: translateY(-50%);\n .ant-select-selection, .ant-select-selection__rendered {\n line-height: 28px;\n height: 28px;\n }\n .ant-select-selection--multiple {\n padding-bottom: 0;\n overflow: auto;\n min-height: 28px;\n }\n .ant-select-selection {\n .hasHeaderTabs & {\n border-radius: 14px;\n font-size: 12px;\n // \u5220\u9664\u9ED8\u8BA4\u9ED1\u8272\n // background: #191D29;\n // border: 1px solid rgba(186,189,197,0.60);\n // color: rgba(255,255,255,.8);\n // \u7EDF\u4E00\u4E3A\u6D45\u8272\n background: #fff !important;\n border-color: #c9d2dd !important;\n color: #8b919e !important;\n }\n // \u4E0D\u9700\u8981\u533A\u5206\u8272\u7CFB\n // .tnt-themeS1.hasHeaderTabs & {\n // /* background: #141825; */\n // /* color: rgba(255,255,255,.85); */\n // background: #fff;\n // border-color: #c9d2dd;\n // color: #8b919e;\n // }\n\n // .tnt-themeS3.hasHeaderTabs &{\n // background: ", "; //#1D4295\n // color: rgba(255,255,255,0.8);\n // border-color: rgba(255,255,255,0.5);\n // }\n }\n .ant-select-arrow {\n .hasHeaderTabs & {\n color: #B2BECD;\n }\n .tnt-themeS1 & {\n /* color: rgba(255,255,255,.85); */\n }\n }\n\n .tnt-themeS1 & {\n border-radius: 2px;\n }\n\n .isInIframe & {\n margin-left: 20px;\n }\n"]);
36
+
37
+ _templateObject2 = function _templateObject2() {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
44
+ function _templateObject() {
45
+ var data = _taggedTemplateLiteral(["\n display: inline-block !important;\n width:auto !important;\n min-width: 260px;\n height: 28px;\n line-height: 28;\n position: relative;\n top: 50%;\n transform: translateY(-50%);\n\n &.ant-input-group.ant-input-group-compact::before,\n &.ant-input-group.ant-input-group-compact::after{\n content:\"\";\n display: none;\n }\n\n .ant-select-selection, .ant-select-selection__rendered {\n line-height: 28px;\n height: 28px;\n }\n .ant-select-selection--multiple {\n padding-bottom: 0;\n overflow: auto;\n min-height: 28px;\n }\n\n .ant-select-selection {\n .hasHeaderTabs & {\n border-radius: 14px;\n font-size: 12px;\n // \u5220\u9664\u9ED8\u8BA4\u9ED1\u8272\n // background: #191D29;\n // border: 1px solid rgba(186,189,197,0.60);\n // color: rgba(255,255,255,.8);\n // \u7EDF\u4E00\u6539\u4E3A\u6D45\u8272\n background: #fff !important;\n border-color: #c9d2dd !important;\n color: #8b919e !important;\n\n .ant-select-selection__placeholder, .ant-select-search__field__placeholder{\n color: #8B919E;\n }\n }\n // \u5220\u9664\u8272\u7CFB\u5DEE\u5F02\n // .tnt-themeS1.hasHeaderTabs & {\n // background: #fff;\n // border-color: #c9d2dd;\n // color: #8b919e;\n // }\n\n // \u5220\u9664\u8272\u7CFB\u5DEE\u5F02\n // .tnt-themeS3.hasHeaderTabs &{\n // background: ", "; //#1D4295 !important;\n // color: rgba(255,255,255,0.8);\n // border-color: rgba(255,255,255,0.5);\n // }\n }\n\n .ant-select-arrow {\n .hasHeaderTabs & {\n color: #B2BECD;\n }\n .tnt-themeS1 & {\n /* color: rgba(255,255,255,.85); */\n }\n }\n\n .tnt-themeS1 & {\n border-radius: 2px;\n }\n\n .isInIframe & {\n margin-left: 20px;\n }\n"]);
46
+
47
+ _templateObject = function _templateObject() {
48
+ return data;
49
+ };
50
+
51
+ return data;
52
+ }
53
+
54
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
55
+
56
+ import { useState, useEffect } from 'react';
57
+ import styled, { withTheme, createGlobalStyle } from 'styled-components';
58
+ import { get } from 'lodash';
59
+ import { getCurrentAppStore, setCurrentAppStore, getCurrentOrgStore, setCurrentOrgStore, getCurrentOrgTreeStore, setCurrentOrgTreeStore } from './storage';
60
+ import { traverseTree } from './utils';
61
+ var InputGroup = _Input.Group;
62
+ var TreeNode = _TreeSelect.TreeNode;
63
+ var Option = _Select.Option; // 机构+应用UI
64
+
65
+ var OrgAppsInputGroup = styled(InputGroup)(_templateObject(), function (props) {
66
+ return "".concat(props.theme.blueBgColor, " !important");
67
+ }); // 只展示机构
68
+
69
+ var AppTreeSelect = styled(_TreeSelect)(_templateObject2(), function (props) {
70
+ return "".concat(props.theme.blueBgColor, " !important");
71
+ });
72
+ var GlobalStyle = createGlobalStyle(_templateObject3());
73
+ export default withTheme(function (props) {
74
+ var orgAppShow = props.orgAppShow,
75
+ selectedOrgKey = props.selectedOrgKey,
76
+ orgList = props.orgList,
77
+ orgTreeConfig = props.orgTreeConfig,
78
+ onOrgChange = props.onOrgChange,
79
+ selectedAppKey = props.selectedAppKey,
80
+ _props$orgAppList = props.orgAppList,
81
+ orgAppList = _props$orgAppList === void 0 ? [] : _props$orgAppList,
82
+ onAppChange = props.onAppChange,
83
+ headerTabs = props.headerTabs;
84
+ var orgListFormatData = traverseTree([orgList], function (item) {
85
+ item.title = item.name;
86
+ item.value = item.uuid;
87
+ item.key = item.uuid;
88
+ }); // 初始化数据函数
89
+
90
+ var getInitialSelected = function getInitialSelected(selectedKey, currentStore, dataList, type) {
91
+ var findByKey = function findByKey(selectedKey) {
92
+ var find;
93
+ traverseTree(dataList, function (item) {
94
+ if (item.key === selectedKey) {
95
+ find = item;
96
+ return false;
97
+ }
98
+ });
99
+ return find;
100
+ };
101
+
102
+ var current = findByKey(selectedKey || get(currentStore, 'key'));
103
+
104
+ if (type) {
105
+ return current;
106
+ }
107
+
108
+ return current || dataList[0];
109
+ }; // 初始化数据函数机构树
110
+
111
+
112
+ var getInitialSelectedTree = function getInitialSelectedTree(selecteds, dataList) {
113
+ if (selecteds.length) {
114
+ return selecteds;
115
+ } else {
116
+ var temp = dataList.map(function (res) {
117
+ return {
118
+ label: res.title,
119
+ value: res.uuid
120
+ };
121
+ });
122
+ setCurrentOrgTreeStore(temp);
123
+ return temp;
124
+ }
125
+ }; // 初始化值
126
+ // 机构
127
+
128
+
129
+ var _useState = useState(getInitialSelected(selectedOrgKey, getCurrentOrgStore(), orgListFormatData)),
130
+ _useState2 = _slicedToArray(_useState, 2),
131
+ selectedOrg = _useState2[0],
132
+ setSelectedOrg = _useState2[1]; // 机构树
133
+
134
+
135
+ var _useState3 = useState(getInitialSelectedTree(getCurrentOrgTreeStore(), orgListFormatData)),
136
+ _useState4 = _slicedToArray(_useState3, 2),
137
+ selectedOrgTree = _useState4[0],
138
+ setSelectedOrgTree = _useState4[1]; // 应用
139
+
140
+
141
+ var _useState5 = useState(getInitialSelected(selectedAppKey, getCurrentAppStore(), orgAppList, 'default')),
142
+ _useState6 = _slicedToArray(_useState5, 2),
143
+ selectedApp = _useState6[0],
144
+ setSelectedApp = _useState6[1]; // org变化事件
145
+
146
+
147
+ var changeOrg = function changeOrg() {
148
+ var org = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
149
+ setSelectedOrg(org);
150
+ setCurrentOrgStore({
151
+ name: org == null ? void 0 : org.name,
152
+ key: org == null ? void 0 : org.key,
153
+ code: org == null ? void 0 : org.code
154
+ });
155
+ onOrgChange && onOrgChange(org);
156
+ };
157
+
158
+ var changeOrgTree = function changeOrgTree() {
159
+ var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
160
+
161
+ if (!val.length) {
162
+ val = orgListFormatData.map(function (res) {
163
+ return {
164
+ label: res.title,
165
+ value: res.uuid
166
+ };
167
+ });
168
+ }
169
+
170
+ setSelectedOrgTree(val);
171
+ setCurrentOrgTreeStore(val);
172
+ onOrgChange && onOrgChange(val);
173
+ }; // app变化事件
174
+
175
+
176
+ var changeApp = function changeApp(app) {
177
+ setSelectedApp(app);
178
+ setCurrentAppStore(app);
179
+ onAppChange && onAppChange(app);
180
+ };
181
+
182
+ useEffect(function () {
183
+ // 监听org机构
184
+ var newOrg = getInitialSelected(selectedOrgKey, getCurrentOrgStore(), orgListFormatData);
185
+
186
+ if ((newOrg == null ? void 0 : newOrg.key) !== (selectedOrg == null ? void 0 : selectedOrg.key)) {
187
+ changeOrg(newOrg);
188
+ } // 监听应用
189
+
190
+
191
+ var newApp = getInitialSelected(selectedAppKey, getCurrentAppStore(), orgAppList);
192
+
193
+ if ((newApp == null ? void 0 : newApp.key) !== (selectedApp == null ? void 0 : selectedApp.key)) {
194
+ changeApp(newApp);
195
+ }
196
+ }, [orgList, selectedOrgKey, selectedAppKey, orgAppList]); // 如果是多签页的模式 则居右对齐
197
+
198
+ var treeSelectPosition = {},
199
+ selectPosition = {};
200
+
201
+ if (headerTabs) {
202
+ treeSelectPosition = {
203
+ dropdownPopupAlign: {
204
+ points: ['tr', 'br']
205
+ }
206
+ };
207
+ selectPosition = {
208
+ dropdownAlign: {
209
+ points: ['tr', 'br']
210
+ }
211
+ };
212
+ }
213
+
214
+ ;
215
+ var orgTreeConfigProp = {};
216
+
217
+ if (orgTreeConfig) {
218
+ orgTreeConfigProp = _objectSpread({
219
+ dropdownClassName: 'org-tree-check-select',
220
+ treeCheckable: true,
221
+ treeCheckStrictly: true,
222
+ onChange: function onChange(val) {
223
+ changeOrgTree(val);
224
+ },
225
+ value: selectedOrgTree
226
+ }, orgTreeConfig);
227
+ } else {
228
+ orgTreeConfigProp = {
229
+ dropdownClassName: 'org-tree-select',
230
+ onChange: function onChange(orgKey) {
231
+ var findItem;
232
+ traverseTree(orgListFormatData, function (node) {
233
+ if (node.key === orgKey) {
234
+ findItem = node;
235
+ return false;
236
+ }
237
+ });
238
+ changeOrg(findItem);
239
+ },
240
+ value: get(selectedOrg, 'key')
241
+ };
242
+ }
243
+
244
+ if (!orgAppShow) {
245
+ return React.createElement(React.Fragment, null, React.createElement(AppTreeSelect, _extends({
246
+ placeholder: "\u9009\u62E9\u673A\u6784",
247
+ searchPlaceholder: "\u673A\u6784\u540D\u79F0",
248
+ treeNodeFilterProp: "title",
249
+ showSearch: true,
250
+ treeData: orgListFormatData,
251
+ treeDefaultExpandAll: true
252
+ }, treeSelectPosition, {
253
+ style: {
254
+ width: 160,
255
+ height: 28,
256
+ lineHeight: 28
257
+ },
258
+ dropdownStyle: {
259
+ maxHeight: 300,
260
+ overflow: 'auto',
261
+ width: 320
262
+ }
263
+ }, orgTreeConfigProp)), React.createElement(GlobalStyle, null));
264
+ }
265
+
266
+ return React.createElement(OrgAppsInputGroup, {
267
+ compact: true
268
+ }, React.createElement(_TreeSelect, _extends({
269
+ placeholder: "\u9009\u62E9\u673A\u6784",
270
+ searchPlaceholder: "\u673A\u6784\u540D\u79F0",
271
+ treeNodeFilterProp: "title",
272
+ showSearch: true,
273
+ treeData: orgListFormatData,
274
+ treeDefaultExpandAll: true,
275
+ style: {
276
+ width: 130,
277
+ height: 28,
278
+ lineHeight: 28
279
+ },
280
+ dropdownStyle: {
281
+ maxHeight: 300,
282
+ overflow: 'auto',
283
+ width: 320
284
+ }
285
+ }, orgTreeConfigProp)), React.createElement(GlobalStyle, null), React.createElement(_Select, {
286
+ placeholder: "\u8BF7\u9009\u62E9",
287
+ showSearch: true,
288
+ optionFilterProp: "children",
289
+ onChange: function onChange(appKey) {
290
+ changeApp(orgAppList.find(function (_ref) {
291
+ var key = _ref.key;
292
+ return key === appKey;
293
+ }));
294
+ },
295
+ value: get(selectedApp, 'key'),
296
+ style: {
297
+ width: 130,
298
+ height: 28,
299
+ lineHeight: 28
300
+ }
301
+ }, orgAppList.map(function (_ref2) {
302
+ var key = _ref2.key,
303
+ name = _ref2.name;
304
+ return React.createElement(Option, {
305
+ key: key,
306
+ value: key,
307
+ title: name
308
+ }, name);
309
+ })));
310
+ });