@knockout-js/layout 0.0.4-beta.1 → 0.1.1-beta.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 (95) hide show
  1. package/es2017/components/_util/index.d.ts +55 -0
  2. package/es2017/components/_util/index.js +96 -0
  3. package/es2017/components/_util/index.js.map +1 -0
  4. package/es2017/components/aggregate-menu/index.d.ts +7 -2
  5. package/es2017/components/aggregate-menu/index.js +160 -73
  6. package/es2017/components/aggregate-menu/index.js.map +1 -1
  7. package/es2017/components/aggregate-menu/index.module.css +69 -57
  8. package/es2017/components/avatar-dropdown/index.js +1 -1
  9. package/es2017/components/avatar-dropdown/index.js.map +1 -1
  10. package/es2017/components/i18n-dropdown/index.js.map +1 -1
  11. package/es2017/components/index.d.ts +2 -3
  12. package/es2017/components/index.js +3 -4
  13. package/es2017/components/index.js.map +1 -1
  14. package/es2017/components/layout/index.d.ts +17 -2
  15. package/es2017/components/layout/index.js +19 -29
  16. package/es2017/components/layout/index.js.map +1 -1
  17. package/es2017/components/layout/layout.module.css +20 -26
  18. package/es2017/components/locale/en_US.js +3 -1
  19. package/es2017/components/locale/en_US.js.map +1 -1
  20. package/es2017/components/locale/index.d.ts +2 -0
  21. package/es2017/components/locale/index.js.map +1 -1
  22. package/es2017/components/locale/zh_CN.js +3 -1
  23. package/es2017/components/locale/zh_CN.js.map +1 -1
  24. package/es2017/components/modal/index.module.css +4 -4
  25. package/es2017/components/msg-dropdown/index.d.ts +28 -0
  26. package/es2017/components/msg-dropdown/index.js +129 -0
  27. package/es2017/components/msg-dropdown/index.js.map +1 -0
  28. package/es2017/components/msg-dropdown/index.module.css +33 -0
  29. package/es2017/components/msg-dropdown/locale/en_US.d.ts +3 -0
  30. package/es2017/components/msg-dropdown/locale/en_US.js +7 -0
  31. package/es2017/components/msg-dropdown/locale/en_US.js.map +1 -0
  32. package/es2017/components/msg-dropdown/locale/zh_CN.d.ts +3 -0
  33. package/es2017/components/msg-dropdown/locale/zh_CN.js +7 -0
  34. package/es2017/components/msg-dropdown/locale/zh_CN.js.map +1 -0
  35. package/es2017/components/tenant-dropdown/index.d.ts +1 -1
  36. package/es2017/components/tenant-dropdown/index.js +2 -2
  37. package/es2017/components/tenant-dropdown/index.js.map +1 -1
  38. package/es2017/components/upload-file/index.d.ts +0 -2
  39. package/es2017/components/upload-file/index.js +1 -13
  40. package/es2017/components/upload-file/index.js.map +1 -1
  41. package/es2017/components/upload-file/index.module.css +3 -3
  42. package/es2017/components/upload-file/uploadAvatar.js +4 -4
  43. package/es2017/components/upload-file/uploadAvatar.js.map +1 -1
  44. package/es2017/components/upload-file/uploadMultiple.js +5 -5
  45. package/es2017/components/upload-file/uploadMultiple.js.map +1 -1
  46. package/es2017/components/upload-file/uploadTemp.js +6 -6
  47. package/es2017/components/upload-file/uploadTemp.js.map +1 -1
  48. package/esm/components/_util/index.d.ts +55 -0
  49. package/esm/components/_util/index.js +103 -0
  50. package/esm/components/_util/index.js.map +1 -0
  51. package/esm/components/aggregate-menu/index.d.ts +7 -2
  52. package/esm/components/aggregate-menu/index.js +262 -74
  53. package/esm/components/aggregate-menu/index.js.map +1 -1
  54. package/esm/components/aggregate-menu/index.module.css +69 -57
  55. package/esm/components/avatar-dropdown/index.js +1 -1
  56. package/esm/components/avatar-dropdown/index.js.map +1 -1
  57. package/esm/components/i18n-dropdown/index.js.map +1 -1
  58. package/esm/components/index.d.ts +2 -3
  59. package/esm/components/index.js +3 -4
  60. package/esm/components/index.js.map +1 -1
  61. package/esm/components/layout/index.d.ts +17 -2
  62. package/esm/components/layout/index.js +19 -34
  63. package/esm/components/layout/index.js.map +1 -1
  64. package/esm/components/layout/layout.module.css +20 -26
  65. package/esm/components/locale/en_US.js +3 -1
  66. package/esm/components/locale/en_US.js.map +1 -1
  67. package/esm/components/locale/index.d.ts +2 -0
  68. package/esm/components/locale/index.js.map +1 -1
  69. package/esm/components/locale/zh_CN.js +3 -1
  70. package/esm/components/locale/zh_CN.js.map +1 -1
  71. package/esm/components/modal/index.module.css +4 -4
  72. package/esm/components/msg-dropdown/index.d.ts +28 -0
  73. package/esm/components/msg-dropdown/index.js +155 -0
  74. package/esm/components/msg-dropdown/index.js.map +1 -0
  75. package/esm/components/msg-dropdown/index.module.css +33 -0
  76. package/esm/components/msg-dropdown/locale/en_US.d.ts +3 -0
  77. package/esm/components/msg-dropdown/locale/en_US.js +7 -0
  78. package/esm/components/msg-dropdown/locale/en_US.js.map +1 -0
  79. package/esm/components/msg-dropdown/locale/zh_CN.d.ts +3 -0
  80. package/esm/components/msg-dropdown/locale/zh_CN.js +7 -0
  81. package/esm/components/msg-dropdown/locale/zh_CN.js.map +1 -0
  82. package/esm/components/tenant-dropdown/index.d.ts +1 -1
  83. package/esm/components/tenant-dropdown/index.js +2 -2
  84. package/esm/components/tenant-dropdown/index.js.map +1 -1
  85. package/esm/components/upload-file/index.d.ts +0 -2
  86. package/esm/components/upload-file/index.js +1 -13
  87. package/esm/components/upload-file/index.js.map +1 -1
  88. package/esm/components/upload-file/index.module.css +3 -3
  89. package/esm/components/upload-file/uploadAvatar.js +4 -4
  90. package/esm/components/upload-file/uploadAvatar.js.map +1 -1
  91. package/esm/components/upload-file/uploadMultiple.js +5 -5
  92. package/esm/components/upload-file/uploadMultiple.js.map +1 -1
  93. package/esm/components/upload-file/uploadTemp.js +6 -6
  94. package/esm/components/upload-file/uploadTemp.js.map +1 -1
  95. package/package.json +8 -3
@@ -3,16 +3,12 @@
3
3
  cursor: pointer;
4
4
  }
5
5
 
6
- .aggregateMenuDrawer {
7
-
8
- :global(.ant-drawer-header-title) {
9
- flex-direction: row-reverse;
10
- }
11
-
12
- :global(.ant-drawer-body) {
13
- padding: 0;
14
- }
6
+ .aggregateMenuDrawer :global(.ant-drawer-header-title) {
7
+ flex-direction: row-reverse;
8
+ }
15
9
 
10
+ .aggregateMenuDrawer :global(.ant-drawer-body) {
11
+ padding: 0;
16
12
  }
17
13
 
18
14
  .aggregateMenuDrawerRow {
@@ -20,20 +16,20 @@
20
16
  display: flex;
21
17
  }
22
18
 
23
- .aggregateMenuDrawerMenu {
24
- height: 100%;
25
- border-right: 1px solid rgba(5, 5, 5, 0.06);
26
- }
27
-
28
19
  .aggregateMenuDrawerAllMenu {
29
20
  height: calc(100% - 52px);
30
21
  padding: 16px;
31
22
  overflow-y: auto;
23
+ box-sizing: border-box;
24
+ }
25
+
26
+ .aggregateMenuDrawerAllMenuColumn {
27
+ /* column瀑布流 */
32
28
  column-count: 3;
33
29
  column-gap: 10px;
34
30
  }
35
31
 
36
- .aggregateMenuDrawerAllMenuColumn {
32
+ .aggregateMenuDrawerAllMenuColumnItem {
37
33
  /* 瀑布流关键写法 */
38
34
  break-inside: avoid;
39
35
  margin-bottom: 16px;
@@ -58,25 +54,21 @@
58
54
  height: 32px;
59
55
  line-height: 32px;
60
56
  cursor: pointer;
61
- padding: 0 16px;
57
+ padding: 0 6px 0 16px;
62
58
  display: flex;
59
+ }
63
60
 
64
- &:hover {
65
- background-color: #f1f1f1;
66
-
67
- :global(.anticon-star) {
68
- display: inline;
69
- }
70
- }
61
+ .aggregateMenuDrawerAllMenuItem :global(.anticon-star.collect) {
62
+ color: rgb(255, 106, 0);
63
+ display: inline-flex;
64
+ }
71
65
 
72
- :global(.anticon-star.collect) {
73
- color: rgb(255, 106, 0);
74
- display: inline-flex;
75
- }
66
+ .aggregateMenuDrawerAllMenuItem:hover {
67
+ background-color: #f1f1f1;
68
+ }
76
69
 
77
- :global(.anticon-star) {
78
- display: none;
79
- }
70
+ .aggregateMenuDrawerAllMenuItem:hover :global(.anticon) {
71
+ display: inline;
80
72
  }
81
73
 
82
74
  .aggregateMenuDrawerAllMenuItemDir {
@@ -94,38 +86,61 @@
94
86
  font-weight: lighter;
95
87
  }
96
88
 
89
+ .aggregateMenuDrawerAllMenuItemIcons :global(.ant-space) {
90
+ align-items: unset;
91
+ }
92
+
93
+ .aggregateMenuDrawerAllMenuItemIcons :global(.anticon) {
94
+ display: none;
95
+ color: #c1c1c1;
96
+ }
97
+
98
+ .aggregateMenuDrawerAllMenuItemIcons :global(.anticon):hover {
99
+ color: #8c8c8c;
100
+ }
101
+
102
+ .aggregateMenuDrawerAllMenuItemIcons :global(.anticon):hover :global(.anticon-star.collect) {
103
+ color: rgb(255, 106, 0);
104
+ display: inline-flex;
105
+ }
106
+
97
107
  .aggregateMenuDrawerAllInput {
98
108
  padding: 10px 0;
99
109
  margin: 0 16px;
100
110
  border-bottom: 1px solid rgba(5, 5, 5, 0.06);
101
111
  }
102
112
 
113
+ .aggregateMenuDrawerMenu {
114
+ height: 100%;
115
+ border-right: 1px solid rgba(5, 5, 5, 0.06);
116
+ }
117
+
103
118
  .aggregateMenuDrawerMenuItem {
104
119
  height: 40px;
105
120
  line-height: 40px;
106
121
  cursor: pointer;
107
- padding: 0 16px;
122
+ padding: 0 10px 0 16px;
108
123
  display: flex;
124
+ }
109
125
 
110
- &:hover {
111
- background-color: #f1f1f1;
126
+ .aggregateMenuDrawerMenuItem:hover {
127
+ background-color: #f1f1f1;
128
+ }
112
129
 
113
- .aggregateMenuDrawerMenuItemIcons {
114
- display: block;
115
- }
116
- }
130
+ .aggregateMenuDrawerMenuItem:hover .aggregateMenuDrawerMenuItemIcons {
131
+ display: block;
117
132
  }
118
133
 
119
134
  .aggregateMenuDrawerMenuItemIcons {
120
135
  display: none;
136
+ }
121
137
 
122
- :global(.anticon) {
123
- color: #c1c1c1;
138
+ .aggregateMenuDrawerMenuItemIcons :global(.anticon) {
139
+ color: #c1c1c1;
140
+ }
124
141
 
125
- &:hover {
126
- color: #8c8c8c;
127
- }
128
- }
142
+ .aggregateMenuDrawerMenuItemIcons :global(.anticon):hover {
143
+ color: #8c8c8c;
129
144
  }
130
145
 
131
146
  .aggregateMenuDrawerMenuItemName {
@@ -137,7 +152,8 @@
137
152
 
138
153
  .aggregateMenuLatelys {
139
154
  padding: 16px 16px 0 16px;
140
-
155
+ height: 112px;
156
+ box-sizing: border-box;
141
157
  }
142
158
 
143
159
  .aggregateMenuLatelysColumn {
@@ -148,21 +164,17 @@
148
164
  /* 黑色主题处理 */
149
165
  .aggregateMenuDark {
150
166
  color: #ffffffcc;
167
+ }
151
168
 
152
- .aggregateMenuDrawerAllInput {
153
- border-bottom: 1px solid #ffffff40;
154
- }
169
+ .aggregateMenuDark .aggregateMenuDrawerAllInput {
170
+ border-bottom: 1px solid #ffffff40;
171
+ }
155
172
 
156
- .aggregateMenuDrawerAllMenuItem {
157
- &:hover {
158
- background-color: #ffffff40;
159
- }
160
- }
173
+ .aggregateMenuDark .aggregateMenuDrawerAllMenuItem:hover {
174
+ background-color: #ffffff40;
161
175
 
162
- .aggregateMenuDrawerMenuItem {
163
- &:hover {
164
- background-color: #ffffff40;
165
- }
166
- }
176
+ }
167
177
 
178
+ .aggregateMenuDark .aggregateMenuDrawerMenuItem:hover {
179
+ background-color: #ffffff40;
168
180
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@ice/jsx-runtime/jsx-runtime";
2
- import React, { useCallback } from "react";
2
+ import { useCallback } from "react";
3
3
  import { LogoutOutlined, UserOutlined } from "@ant-design/icons";
4
4
  import { Dropdown, Avatar } from "antd";
5
5
  import styles from "./index.module.css";
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\avatar-dropdown\\index.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\r\nimport { LogoutOutlined, UserOutlined } from '@ant-design/icons';\r\nimport { Dropdown, Avatar, MenuProps } from 'antd';\r\nimport styles from './index.module.css';\r\nimport { useLocale } from '../locale';\r\n\r\nexport interface AvatarDropdownLocale {\r\n logout: string;\r\n}\r\n\r\nexport interface AvatarDropdownProps {\r\n /**\r\n * 用户名\r\n */\r\n name?: string;\r\n /**\r\n * 头像\r\n */\r\n avatar?: string;\r\n /**\r\n * ant的\r\n */\r\n menuProps?: MenuProps;\r\n /**\r\n * 单击退出事件 () => void;\r\n */\r\n onLogoutClick?: () => void;\r\n}\r\n\r\nconst AvatarDropdown = (props: AvatarDropdownProps) => {\r\n const locale = useLocale('AvatarDropdown'),\r\n menu = {\r\n items: [\r\n {\r\n key: 'logout',\r\n label: locale.logout,\r\n icon: <LogoutOutlined rev={undefined} />,\r\n onClick: useCallback(() => {\r\n props.onLogoutClick?.()\r\n }, []),\r\n className: styles.menu,\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n <Dropdown menu={props.menuProps || menu}>\r\n <span className={`${styles.action} ${styles.account}`}>\r\n <Avatar\r\n size=\"small\"\r\n className={styles.avatar}\r\n icon={<UserOutlined rev={undefined} />}\r\n src={props.avatar}\r\n alt=\"avatar\"\r\n />\r\n <span>{props.name}</span>\r\n </span>\r\n </Dropdown>\r\n );\r\n};\r\n\r\nexport default AvatarDropdown;\r\n"],"names":["React","useCallback","LogoutOutlined","UserOutlined","Dropdown","Avatar","styles","useLocale","AvatarDropdown","props","locale","menu","items","key","label","logout","icon","rev","undefined","onClick","onLogoutClick","className","menuProps","span","action","account","size","avatar","src","alt","name"],"mappings":";AAAA,OAAOA,SAASC,WAAW,QAAQ,QAAQ;AAC3C,SAASC,cAAc,EAAEC,YAAY,QAAQ,oBAAoB;AACjE,SAASC,QAAQ,EAAEC,MAAM,QAAmB,OAAO;AACnD,OAAOC,YAAY,qBAAqB;AACxC,SAASC,SAAS,QAAQ,kBAAY;AAyBtC,IAAMC,iBAAiB,SAACC,OAA+B;IACrD,IAAMC,SAASH,UAAU,mBACvBI,OAAO;QACLC,OAAO;YACL;gBACEC,KAAK;gBACLC,OAAOJ,OAAOK,MAAM;gBACpBC,oBAAM,KAACd;oBAAee,KAAKC;;gBAC3BC,SAASlB,YAAY,WAAM;wBACzBQ;oBAAAA,CAAAA,uBAAAA,MAAMW,aAAa,cAAnBX,kCAAAA,KAAAA,IAAAA,qBAAAA,KAAAA;gBACF,GAAG,EAAE;gBACLY,WAAWf,OAAOK,IAAI;YACxB;SACD;IACH;IAEF,qBACE,KAACP;QAASO,MAAMF,MAAMa,SAAS,IAAIX;kBACjC,cAAA,MAACY;YAAKF,WAAW,AAAC,GAAmBf,OAAjBA,OAAOkB,MAAM,EAAC,KAAkB,OAAflB,OAAOmB,OAAO;;8BACjD,KAACpB;oBACCqB,MAAK;oBACLL,WAAWf,OAAOqB,MAAM;oBACxBX,oBAAM,KAACb;wBAAac,KAAKC;;oBACzBU,KAAKnB,MAAMkB,MAAM;oBACjBE,KAAI;;8BAEN,KAACN;8BAAMd,MAAMqB,IAAI;;;;;AAIzB;AAEA,eAAetB,eAAe"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\avatar-dropdown\\index.tsx"],"sourcesContent":["import { useCallback } from 'react';\r\nimport { LogoutOutlined, UserOutlined } from '@ant-design/icons';\r\nimport { Dropdown, Avatar, MenuProps } from 'antd';\r\nimport styles from './index.module.css';\r\nimport { useLocale } from '../locale';\r\n\r\nexport interface AvatarDropdownLocale {\r\n logout: string;\r\n}\r\n\r\nexport interface AvatarDropdownProps {\r\n /**\r\n * 用户名\r\n */\r\n name?: string;\r\n /**\r\n * 头像\r\n */\r\n avatar?: string;\r\n /**\r\n * ant的\r\n */\r\n menuProps?: MenuProps;\r\n /**\r\n * 单击退出事件 () => void;\r\n */\r\n onLogoutClick?: () => void;\r\n}\r\n\r\nconst AvatarDropdown = (props: AvatarDropdownProps) => {\r\n const locale = useLocale('AvatarDropdown'),\r\n menu = {\r\n items: [\r\n {\r\n key: 'logout',\r\n label: locale.logout,\r\n icon: <LogoutOutlined rev={undefined} />,\r\n onClick: useCallback(() => {\r\n props.onLogoutClick?.()\r\n }, []),\r\n className: styles.menu,\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n <Dropdown menu={props.menuProps || menu}>\r\n <span className={`${styles.action} ${styles.account}`}>\r\n <Avatar\r\n size=\"small\"\r\n className={styles.avatar}\r\n icon={<UserOutlined rev={undefined} />}\r\n src={props.avatar}\r\n alt=\"avatar\"\r\n />\r\n <span>{props.name}</span>\r\n </span>\r\n </Dropdown>\r\n );\r\n};\r\n\r\nexport default AvatarDropdown;\r\n"],"names":["useCallback","LogoutOutlined","UserOutlined","Dropdown","Avatar","styles","useLocale","AvatarDropdown","props","locale","menu","items","key","label","logout","icon","rev","undefined","onClick","onLogoutClick","className","menuProps","span","action","account","size","avatar","src","alt","name"],"mappings":";AAAA,SAASA,WAAW,QAAQ,QAAQ;AACpC,SAASC,cAAc,EAAEC,YAAY,QAAQ,oBAAoB;AACjE,SAASC,QAAQ,EAAEC,MAAM,QAAmB,OAAO;AACnD,OAAOC,YAAY,qBAAqB;AACxC,SAASC,SAAS,QAAQ,kBAAY;AAyBtC,IAAMC,iBAAiB,SAACC,OAA+B;IACrD,IAAMC,SAASH,UAAU,mBACvBI,OAAO;QACLC,OAAO;YACL;gBACEC,KAAK;gBACLC,OAAOJ,OAAOK,MAAM;gBACpBC,oBAAM,KAACd;oBAAee,KAAKC;;gBAC3BC,SAASlB,YAAY,WAAM;wBACzBQ;oBAAAA,CAAAA,uBAAAA,MAAMW,aAAa,cAAnBX,kCAAAA,KAAAA,IAAAA,qBAAAA,KAAAA;gBACF,GAAG,EAAE;gBACLY,WAAWf,OAAOK,IAAI;YACxB;SACD;IACH;IAEF,qBACE,KAACP;QAASO,MAAMF,MAAMa,SAAS,IAAIX;kBACjC,cAAA,MAACY;YAAKF,WAAW,AAAC,GAAmBf,OAAjBA,OAAOkB,MAAM,EAAC,KAAkB,OAAflB,OAAOmB,OAAO;;8BACjD,KAACpB;oBACCqB,MAAK;oBACLL,WAAWf,OAAOqB,MAAM;oBACxBX,oBAAM,KAACb;wBAAac,KAAKC;;oBACzBU,KAAKnB,MAAMkB,MAAM;oBACjBE,KAAI;;8BAEN,KAACN;8BAAMd,MAAMqB,IAAI;;;;;AAIzB;AAEA,eAAetB,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\i18n-dropdown\\index.tsx"],"sourcesContent":["import { useState, useEffect, useCallback, useContext } from 'react';\r\nimport { Dropdown, MenuProps } from 'antd';\r\nimport styles from './index.module.css';\r\nimport { Context, ProviderProps, LocaleType } from '..';\r\n\r\nexport interface I18nDropdownProps {\r\n /**\r\n * 值变更事件 (value: LocaleType) => void;\r\n */\r\n onChange?: (value: LocaleType) => void;\r\n}\r\n\r\nfunction I18nDropdown(props: I18nDropdownProps) {\r\n const ctx = useContext<ProviderProps>(Context),\r\n [localeName, setLocaleName] = useState(''),\r\n menuItemOnClick = useCallback(({ key }: { key: React.Key }) => {\r\n props.onChange?.(key as LocaleType)\r\n }, []),\r\n menuItems = [\r\n {\r\n key: LocaleType.zhCN,\r\n label: '简体',\r\n onClick: menuItemOnClick,\r\n },\r\n {\r\n key: LocaleType.enUS,\r\n label: 'En',\r\n onClick: menuItemOnClick,\r\n }\r\n ];\r\n\r\n useEffect(() => {\r\n const item = menuItems?.find(item => item?.key == ctx.locale);\r\n setLocaleName(item?.label || '')\r\n }, [ctx.locale]);\r\n\r\n return (\r\n <Dropdown menu={{\r\n items: menuItems,\r\n }}>\r\n <span className={styles.action}>\r\n <span>{localeName}</span>\r\n </span>\r\n </Dropdown>\r\n );\r\n};\r\n\r\nexport default I18nDropdown;\r\n"],"names":["useState","useEffect","useCallback","useContext","Dropdown","styles","Context","LocaleType","I18nDropdown","props","ctx","localeName","setLocaleName","menuItemOnClick","key","onChange","menuItems","zhCN","label","onClick","enUS","item","find","locale","menu","items","span","className","action"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,SAAS,EAAEC,WAAW,EAAEC,UAAU,QAAQ,QAAQ;AACrE,SAASC,QAAQ,QAAmB,OAAO;AAC3C,OAAOC,YAAY,qBAAqB;AACxC,SAASC,OAAO,EAAiBC,UAAU,QAAQ,WAAK;AASxD,SAASC,aAAaC,KAAwB,EAAE;IAC9C,IAAMC,MAAMP,WAA0BG,UACNN,6BAAAA,SAAS,SAAtCW,aAA6BX,cAAjBY,gBAAiBZ,cAC9Ba,kBAAkBX,YAAY,gBAAiC;YAA9BY,YAAAA;YAC/BL;QAAAA,CAAAA,kBAAAA,MAAMM,QAAQ,cAAdN,6BAAAA,KAAAA,IAAAA,gBAAAA,KAAAA,OAAiBK;IACnB,GAAG,EAAE,GACLE,YAAY;QACV;YACEF,KAAKP,WAAWU,IAAI;YACpBC,OAAO;YACPC,SAASN;QACX;QACA;YACEC,KAAKP,WAAWa,IAAI;YACpBF,OAAO;YACPC,SAASN;QACX;KACD;IAEHZ,UAAU,WAAM;QACd,IAAMoB,OAAOL,sBAAAA,uBAAAA,KAAAA,IAAAA,UAAWM,IAAI,CAACD,SAAAA;YAAQA,OAAAA,CAAAA,iBAAAA,kBAAAA,KAAAA,IAAAA,KAAMP,GAAG,AAAD,KAAKJ,IAAIa,MAAM;;QAC5DX,cAAcS,CAAAA,iBAAAA,kBAAAA,KAAAA,IAAAA,KAAMH,KAAK,AAAD,KAAK;IAC/B,GAAG;QAACR,IAAIa,MAAM;KAAC;IAEf,qBACE,KAACnB;QAASoB,MAAM;YACdC,OAAOT;QACT;kBACE,cAAA,KAACU;YAAKC,WAAWtB,OAAOuB,MAAM;sBAC5B,cAAA,KAACF;0BAAMf;;;;AAIf;AAEA,eAAeH,aAAa"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\i18n-dropdown\\index.tsx"],"sourcesContent":["import { useState, useEffect, useCallback, useContext } from 'react';\r\nimport { Dropdown } from 'antd';\r\nimport styles from './index.module.css';\r\nimport { Context, ProviderProps, LocaleType } from '..';\r\n\r\nexport interface I18nDropdownProps {\r\n /**\r\n * 值变更事件 (value: LocaleType) => void;\r\n */\r\n onChange?: (value: LocaleType) => void;\r\n}\r\n\r\nfunction I18nDropdown(props: I18nDropdownProps) {\r\n const ctx = useContext<ProviderProps>(Context),\r\n [localeName, setLocaleName] = useState(''),\r\n menuItemOnClick = useCallback(({ key }: { key: React.Key }) => {\r\n props.onChange?.(key as LocaleType)\r\n }, []),\r\n menuItems = [\r\n {\r\n key: LocaleType.zhCN,\r\n label: '简体',\r\n onClick: menuItemOnClick,\r\n },\r\n {\r\n key: LocaleType.enUS,\r\n label: 'En',\r\n onClick: menuItemOnClick,\r\n }\r\n ];\r\n\r\n useEffect(() => {\r\n const item = menuItems?.find(item => item?.key == ctx.locale);\r\n setLocaleName(item?.label || '')\r\n }, [ctx.locale]);\r\n\r\n return (\r\n <Dropdown menu={{\r\n items: menuItems,\r\n }}>\r\n <span className={styles.action}>\r\n <span>{localeName}</span>\r\n </span>\r\n </Dropdown>\r\n );\r\n};\r\n\r\nexport default I18nDropdown;\r\n"],"names":["useState","useEffect","useCallback","useContext","Dropdown","styles","Context","LocaleType","I18nDropdown","props","ctx","localeName","setLocaleName","menuItemOnClick","key","onChange","menuItems","zhCN","label","onClick","enUS","item","find","locale","menu","items","span","className","action"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,SAAS,EAAEC,WAAW,EAAEC,UAAU,QAAQ,QAAQ;AACrE,SAASC,QAAQ,QAAQ,OAAO;AAChC,OAAOC,YAAY,qBAAqB;AACxC,SAASC,OAAO,EAAiBC,UAAU,QAAQ,WAAK;AASxD,SAASC,aAAaC,KAAwB,EAAE;IAC9C,IAAMC,MAAMP,WAA0BG,UACNN,6BAAAA,SAAS,SAAtCW,aAA6BX,cAAjBY,gBAAiBZ,cAC9Ba,kBAAkBX,YAAY,gBAAiC;YAA9BY,YAAAA;YAC/BL;QAAAA,CAAAA,kBAAAA,MAAMM,QAAQ,cAAdN,6BAAAA,KAAAA,IAAAA,gBAAAA,KAAAA,OAAiBK;IACnB,GAAG,EAAE,GACLE,YAAY;QACV;YACEF,KAAKP,WAAWU,IAAI;YACpBC,OAAO;YACPC,SAASN;QACX;QACA;YACEC,KAAKP,WAAWa,IAAI;YACpBF,OAAO;YACPC,SAASN;QACX;KACD;IAEHZ,UAAU,WAAM;QACd,IAAMoB,OAAOL,sBAAAA,uBAAAA,KAAAA,IAAAA,UAAWM,IAAI,CAACD,SAAAA;YAAQA,OAAAA,CAAAA,iBAAAA,kBAAAA,KAAAA,IAAAA,KAAMP,GAAG,AAAD,KAAKJ,IAAIa,MAAM;;QAC5DX,cAAcS,CAAAA,iBAAAA,kBAAAA,KAAAA,IAAAA,KAAMH,KAAK,AAAD,KAAK;IAC/B,GAAG;QAACR,IAAIa,MAAM;KAAC;IAEf,qBACE,KAACnB;QAASoB,MAAM;YACdC,OAAOT;QACT;kBACE,cAAA,KAACU;YAAKC,WAAWtB,OAAOuB,MAAM;sBAC5B,cAAA,KAACF;0BAAMf;;;;AAIf;AAEA,eAAeH,aAAa"}
@@ -3,6 +3,7 @@ export { default as ThemeSwitch } from './theme-switch';
3
3
  export { default as AvatarDropdown } from './avatar-dropdown';
4
4
  export { default as KeepAlive } from './keep-alive';
5
5
  export { default as TenantDropdown } from './tenant-dropdown';
6
+ export { default as MsgDropdown } from './msg-dropdown';
6
7
  export { default as LeavePrompt, useLeavePrompt } from './leave-prompt';
7
8
  export { default as I18nDropdown } from './i18n-dropdown';
8
9
  export { default as CollectProviders } from './collect-providers';
@@ -13,6 +14,4 @@ export { default as AggregateMenu, type AggregateMenuDataSource } from './aggreg
13
14
  export { default as UploadAvatar } from './upload-file/uploadAvatar';
14
15
  export { default as UploadMultiple } from './upload-file/uploadMultiple';
15
16
  export { default as UploadTemp } from './upload-file/uploadTemp';
16
- export declare enum iceUrqlInstance {
17
- ucenter = "ucenter"
18
- }
17
+ export * as util from './_util';
@@ -3,6 +3,7 @@ export { default as ThemeSwitch } from "./theme-switch/index";
3
3
  export { default as AvatarDropdown } from "./avatar-dropdown/index";
4
4
  export { default as KeepAlive } from "./keep-alive/index";
5
5
  export { default as TenantDropdown } from "./tenant-dropdown/index";
6
+ export { default as MsgDropdown } from "./msg-dropdown/index";
6
7
  export { default as LeavePrompt, useLeavePrompt } from "./leave-prompt/index";
7
8
  export { default as I18nDropdown } from "./i18n-dropdown/index";
8
9
  export { default as CollectProviders } from "./collect-providers/index";
@@ -13,9 +14,7 @@ export { default as AggregateMenu } from "./aggregate-menu/index";
13
14
  export { default as UploadAvatar } from "./upload-file/uploadAvatar";
14
15
  export { default as UploadMultiple } from "./upload-file/uploadMultiple";
15
16
  export { default as UploadTemp } from "./upload-file/uploadTemp";
16
- export var iceUrqlInstance;
17
- (function(iceUrqlInstance) {
18
- iceUrqlInstance["ucenter"] = "ucenter";
19
- })(iceUrqlInstance || (iceUrqlInstance = {}));
17
+ import * as _util from "./_util/index";
18
+ export { _util as util };
20
19
 
21
20
  //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\esm\components\index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport enum iceUrqlInstance {\r\n ucenter = \"ucenter\"\r\n}\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","iceUrqlInstance","ucenter"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,0BAAoB;AAC9D,SAASN,WAAWO,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAASR,WAAWS,YAAY,QAAQ,wBAAkB;AAC1D,SAAST,WAAWU,gBAAgB,QAAQ,4BAAsB;AAClE,SAASC,UAAU,QAAQ,mBAAa;AACxC,SAASX,WAAWY,MAAM,QAAQ,iBAAW;AAC7C,SAASZ,WAAWa,KAAK,QAAyB,gBAAU;AAC5D,SAASb,WAAWc,aAAa,QAAsC,yBAAmB;AAC1F,SAASd,WAAWe,YAAY,QAAQ,6BAA6B;AACrE,SAASf,WAAWgB,cAAc,QAAQ,+BAA+B;AACzE,SAAShB,WAAWiB,UAAU,QAAQ,2BAA2B;WAE1D;UAAKC,eAAe;IAAfA,gBACVC,aAAAA;GADUD,oBAAAA"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as MsgDropdown } from './msg-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport * as util from './_util';\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,0BAAoB;AAC9D,SAASN,WAAWO,WAAW,QAAQ,uBAAiB;AACxD,SAASP,WAAWQ,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAAST,WAAWU,YAAY,QAAQ,wBAAkB;AAC1D,SAASV,WAAWW,gBAAgB,QAAQ,4BAAsB;AAClE,SAASC,UAAU,QAAQ,mBAAa;AACxC,SAASZ,WAAWa,MAAM,QAAQ,iBAAW;AAC7C,SAASb,WAAWc,KAAK,QAAyB,gBAAU;AAC5D,SAASd,WAAWe,aAAa,QAAsC,yBAAmB;AAC1F,SAASf,WAAWgB,YAAY,QAAQ,6BAA6B;AACrE,SAAShB,WAAWiB,cAAc,QAAQ,+BAA+B;AACzE,SAASjB,WAAWkB,UAAU,QAAQ,2BAA2B;AAEjE,uBAAsB,gBAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB"}
@@ -2,8 +2,10 @@ import { MenuDataItem, ProLayoutProps } from '@ant-design/pro-layout';
2
2
  import { I18nDropdownProps } from '../i18n-dropdown';
3
3
  import { TenantDropdownProps } from '../tenant-dropdown';
4
4
  import { AvatarDropdownProps } from '../avatar-dropdown';
5
+ import { MsgDropdownProps, MsgDropdownRef } from '../msg-dropdown';
5
6
  import { ThemeSwitchProps } from '../theme-switch';
6
- import { ReactNode, FC } from 'react';
7
+ import { ReactNode, FC, Ref } from 'react';
8
+ import { LocaleType } from '..';
7
9
  import { IconFontProps } from '@ant-design/icons/lib/components/IconFont';
8
10
  import { AggregateMenuProps } from '../aggregate-menu';
9
11
  export interface LayoutProps {
@@ -11,6 +13,11 @@ export interface LayoutProps {
11
13
  * 应用code
12
14
  */
13
15
  appCode: string;
16
+ /**
17
+ * 语言
18
+ * 默认 LocaleType.zhCN
19
+ */
20
+ locale?: LocaleType;
14
21
  /**
15
22
  * 传递动态的 location.pathname
16
23
  */
@@ -35,10 +42,18 @@ export interface LayoutProps {
35
42
  * AvatarDropdown组件对应的参数
36
43
  */
37
44
  avatarProps: AvatarDropdownProps;
45
+ /**
46
+ * MsgDropdown组件的高级方法
47
+ */
48
+ msgRef?: Ref<MsgDropdownRef>;
49
+ /**
50
+ * MsgDropdown组件对应的参数
51
+ */
52
+ msgProps?: MsgDropdownProps;
38
53
  /**
39
54
  * ThemeSwitch组件对应的参数
40
55
  */
41
- themeSwitchProps: ThemeSwitchProps;
56
+ themeSwitchProps?: ThemeSwitchProps;
42
57
  /**
43
58
  * ProLayout组件对应的参数
44
59
  */
@@ -1,44 +1,32 @@
1
1
  import _async_to_generator from "@swc/helpers/src/_async_to_generator.mjs";
2
2
  import _object_spread from "@swc/helpers/src/_object_spread.mjs";
3
3
  import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
4
- import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
5
4
  import _ts_generator from "@swc/helpers/src/_ts_generator.mjs";
6
5
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runtime/jsx-runtime";
7
6
  import { ProLayout } from "@ant-design/pro-layout";
8
7
  import I18nDropdown from "../i18n-dropdown/index";
9
8
  import TenantDropdown from "../tenant-dropdown/index";
10
9
  import AvatarDropdown from "../avatar-dropdown/index";
10
+ import MsgDropdown from "../msg-dropdown/index";
11
11
  import ThemeSwitch from "../theme-switch/index";
12
12
  import styles from "./layout.module.css";
13
- import { useCallback, useState } from "react";
14
13
  import { CollectProviders, LocaleType } from "../index";
15
14
  import { gql, query } from "@knockout-js/ice-urql/request";
16
- import { iceUrqlInstance } from "../index";
17
15
  import { OpenWin } from "../icons/index";
18
16
  import { logoBase64 } from "./logo";
19
17
  import AggregateMenu from "../aggregate-menu/index";
20
18
  import { BarsOutlined } from "@ant-design/icons";
19
+ import { listFormatTreeData } from "../_util/index";
20
+ import { instanceName } from "@knockout-js/api";
21
21
  var userMenuListQuery = gql("query userMenuList($appCode:String!){\n userMenus(appCode: $appCode){\n id,parentID,kind,name,comments,displaySort,icon,route\n }\n}");
22
22
  var Layout = function(props) {
23
- var _useState = _sliced_to_array(useState(LocaleType.zhCN), 2), locale = _useState[0], setLocale = _useState[1];
24
- // 根据列表格式化成菜单树结构
25
- var listFormatTree = useCallback(function(list, parentList) {
26
- if (!parentList) parentList = list.filter(function(item) {
27
- return item.parentId == "0";
28
- });
29
- parentList.forEach(function(pItem) {
30
- var children = list.filter(function(allItem) {
31
- return allItem.parentId == pItem.key;
32
- });
33
- if (children && children.length) pItem.children = listFormatTree(list, children);
34
- });
35
- return parentList;
36
- }, []);
23
+ var _props_themeSwitchProps;
24
+ var _props_locale, _props_themeSwitchProps_value;
37
25
  return /*#__PURE__*/ _jsxs(CollectProviders, {
38
- locale: locale,
26
+ locale: (_props_locale = props.locale) !== null && _props_locale !== void 0 ? _props_locale : LocaleType.zhCN,
39
27
  appCode: props.appCode,
40
28
  tenantId: props.tenantProps.value,
41
- dark: props.themeSwitchProps.value,
29
+ dark: (_props_themeSwitchProps_value = (_props_themeSwitchProps = props.themeSwitchProps) === null || _props_themeSwitchProps === void 0 ? void 0 : _props_themeSwitchProps.value) !== null && _props_themeSwitchProps_value !== void 0 ? _props_themeSwitchProps_value : false,
42
30
  pathname: props.pathname,
43
31
  children: [
44
32
  /*#__PURE__*/ _jsx(ProLayout, _object_spread_props(_object_spread({
@@ -83,7 +71,7 @@ var Layout = function(props) {
83
71
  query(userMenuListQuery, {
84
72
  appCode: props.appCode
85
73
  }, {
86
- instanceName: iceUrqlInstance.ucenter
74
+ instanceName: instanceName.UCENTER
87
75
  })
88
76
  ];
89
77
  case 1:
@@ -107,7 +95,7 @@ var Layout = function(props) {
107
95
  });
108
96
  return [
109
97
  2,
110
- listFormatTree(meunList)
98
+ listFormatTreeData(meunList)
111
99
  ];
112
100
  }
113
101
  return [
@@ -122,18 +110,15 @@ var Layout = function(props) {
122
110
  pathname: props.pathname
123
111
  },
124
112
  actionsRender: function() {
125
- return [
126
- /*#__PURE__*/ _jsx(I18nDropdown, {
127
- onChange: function(value) {
128
- var _props_i18nProps, _props_i18nProps_onChange;
129
- setLocale(value);
130
- (_props_i18nProps = props.i18nProps) === null || _props_i18nProps === void 0 ? void 0 : (_props_i18nProps_onChange = _props_i18nProps.onChange) === null || _props_i18nProps_onChange === void 0 ? void 0 : _props_i18nProps_onChange.call(_props_i18nProps, value);
131
- }
132
- }),
133
- /*#__PURE__*/ _jsx(TenantDropdown, _object_spread({}, props.tenantProps)),
134
- /*#__PURE__*/ _jsx(AvatarDropdown, _object_spread({}, props.avatarProps)),
135
- /*#__PURE__*/ _jsx(ThemeSwitch, _object_spread({}, props.themeSwitchProps))
136
- ];
113
+ var actions = [];
114
+ if (props.i18nProps) actions.push(/*#__PURE__*/ _jsx(I18nDropdown, _object_spread({}, props.i18nProps)));
115
+ if (props.msgProps) actions.push(/*#__PURE__*/ _jsx(MsgDropdown, _object_spread({
116
+ ref: props.msgRef
117
+ }, props.msgProps)));
118
+ actions.push(/*#__PURE__*/ _jsx(TenantDropdown, _object_spread({}, props.tenantProps)));
119
+ actions.push(/*#__PURE__*/ _jsx(AvatarDropdown, _object_spread({}, props.avatarProps)));
120
+ if (props.themeSwitchProps) actions.push(/*#__PURE__*/ _jsx(ThemeSwitch, _object_spread({}, props.themeSwitchProps)));
121
+ return actions;
137
122
  },
138
123
  menuItemRender: function(item, defaultDom) {
139
124
  return item.path ? /*#__PURE__*/ _jsxs(_Fragment, {
@@ -158,7 +143,7 @@ var Layout = function(props) {
158
143
  }, props.proLayoutProps), {
159
144
  children: props.children
160
145
  })),
161
- /*#__PURE__*/ _jsx(AggregateMenu, _object_spread({}, props.aggregateMenuProps))
146
+ props.aggregateMenuProps ? /*#__PURE__*/ _jsx(AggregateMenu, _object_spread({}, props.aggregateMenuProps)) : /*#__PURE__*/ _jsx(_Fragment, {})
162
147
  ]
163
148
  });
164
149
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\layout\\index.tsx"],"sourcesContent":["import { MenuDataItem, ProLayout, ProLayoutProps } from '@ant-design/pro-layout';\r\nimport I18nDropdown, { I18nDropdownProps } from '../i18n-dropdown';\r\nimport TenantDropdown, { TenantDropdownProps } from '../tenant-dropdown';\r\nimport AvatarDropdown, { AvatarDropdownProps } from '../avatar-dropdown';\r\nimport ThemeSwitch, { ThemeSwitchProps } from '../theme-switch';\r\nimport styles from './layout.module.css';\r\nimport { ReactNode, FC, useCallback, useState } from 'react';\r\nimport { UserMenuListQuery, UserMenuListQueryVariables } from '@knockout-js/api';\r\nimport { CollectProviders, LocaleType } from '..';\r\nimport { gql, query } from '@knockout-js/ice-urql/request';\r\nimport { iceUrqlInstance } from '..';\r\nimport { OpenWin } from '../icons';\r\nimport { IconFontProps } from '@ant-design/icons/lib/components/IconFont';\r\nimport { logoBase64 } from './logo';\r\nimport AggregateMenu, { AggregateMenuProps } from '../aggregate-menu';\r\nimport { BarsOutlined } from '@ant-design/icons';\r\n\r\nexport interface LayoutProps {\r\n /**\r\n * 应用code\r\n */\r\n appCode: string;\r\n /**\r\n * 传递动态的 location.pathname\r\n */\r\n pathname: string;\r\n /**\r\n * 菜单启用iconfont\r\n */\r\n IconFont?: FC<IconFontProps<string>>;\r\n /**\r\n * 聚合菜单\r\n */\r\n aggregateMenuProps?: AggregateMenuProps;\r\n /**\r\n * I18nDropdown组件对应的参数\r\n */\r\n i18nProps?: I18nDropdownProps;\r\n /**\r\n * TenantDropdown组件对应的参数\r\n */\r\n tenantProps: TenantDropdownProps;\r\n /**\r\n * AvatarDropdown组件对应的参数\r\n */\r\n avatarProps: AvatarDropdownProps;\r\n /**\r\n * ThemeSwitch组件对应的参数\r\n */\r\n themeSwitchProps: ThemeSwitchProps;\r\n /**\r\n * ProLayout组件对应的参数\r\n */\r\n proLayoutProps?: ProLayoutProps;\r\n /**\r\n * 菜单点击返回 (item: MenuDataItem,isOpen?: boolean) => void;\r\n */\r\n onClickMenuItem?: (\r\n item: MenuDataItem & {\r\n isUrl: boolean;\r\n onClick: () => void;\r\n },\r\n isOpen?: boolean\r\n ) => void;\r\n /**\r\n * 默认插槽\r\n */\r\n children?: ReactNode;\r\n\r\n}\r\n\r\nconst userMenuListQuery = gql(/* GraphQL */`query userMenuList($appCode:String!){\r\n userMenus(appCode: $appCode){\r\n id,parentID,kind,name,comments,displaySort,icon,route\r\n }\r\n}`);\r\n\r\n\r\nconst Layout = (props: LayoutProps) => {\r\n\r\n const [locale, setLocale] = useState(LocaleType.zhCN);\r\n\r\n // 根据列表格式化成菜单树结构\r\n const listFormatTree = useCallback((list: MenuDataItem[], parentList?: MenuDataItem[]) => {\r\n if (!parentList) {\r\n parentList = list.filter(item => item.parentId == '0');\r\n }\r\n parentList.forEach((pItem) => {\r\n let children = list.filter(\r\n (allItem) => allItem.parentId == pItem.key,\r\n );\r\n if (children && children.length) {\r\n pItem.children = listFormatTree(list, children);\r\n }\r\n });\r\n return parentList;\r\n }, [])\r\n\r\n\r\n\r\n return (\r\n <CollectProviders\r\n locale={locale}\r\n appCode={props.appCode}\r\n tenantId={props.tenantProps.value}\r\n dark={props.themeSwitchProps.value}\r\n pathname={props.pathname}\r\n >\r\n <ProLayout\r\n className={styles.layout}\r\n headerTitleRender={(logo, title) => {\r\n return <>\r\n {typeof props.aggregateMenuProps?.open === 'boolean' ? <BarsOutlined\r\n rev={undefined}\r\n style={{ fontSize: 20, marginRight: 10 }}\r\n onClick={() => {\r\n props.aggregateMenuProps?.onChangeOpen?.(true);\r\n }}\r\n /> : <></>}\r\n {logo}\r\n {title}\r\n </>\r\n }}\r\n title='adminx'\r\n logo={<img src={logoBase64} alt=\"logo\" />}\r\n layout=\"mix\"\r\n fixSiderbar\r\n suppressSiderWhenMenuEmpty\r\n menu={{\r\n locale: true,\r\n request: async () => {\r\n const result = await query<UserMenuListQuery, UserMenuListQueryVariables>(userMenuListQuery, {\r\n appCode: props.appCode\r\n }, { instanceName: iceUrqlInstance.ucenter });\r\n if (result.data?.userMenus.length) {\r\n const meunList = result.data.userMenus.sort((d1, d2) => {\r\n const d1Sort = d1.displaySort || 0, d2Sort = d2.displaySort || 0;\r\n return d1.parentID < d2.parentID ? -1 : d1.parentID > d2.parentID ? 1 : d1Sort < d2Sort ? -1 : d1Sort > d2Sort ? 1 : 0;\r\n }).map(item => {\r\n return {\r\n key: item.id,\r\n name: item.name,\r\n icon: item.icon ? props.IconFont ? <props.IconFont type={item.icon} /> : <i className={item.icon} /> : undefined,\r\n parentId: item.parentID,\r\n path: item.route,\r\n } as MenuDataItem\r\n })\r\n\r\n return listFormatTree(meunList);\r\n }\r\n return [];\r\n },\r\n }}\r\n location={{\r\n pathname: props.pathname\r\n }}\r\n actionsRender={() => [\r\n <I18nDropdown onChange={(value) => {\r\n setLocale(value);\r\n props.i18nProps?.onChange?.(value)\r\n }} />,\r\n <TenantDropdown {...props.tenantProps} />,\r\n <AvatarDropdown {...props.avatarProps} />,\r\n <ThemeSwitch {...props.themeSwitchProps} />,\r\n ]}\r\n menuItemRender={(item, defaultDom) => (item.path ? <>\r\n <a\r\n onClick={() => {\r\n props.onClickMenuItem?.(item, false)\r\n }}\r\n >{defaultDom}</a>\r\n <OpenWin\r\n className={styles.menuIconPopup}\r\n onClick={() => {\r\n props.onClickMenuItem?.(item, true)\r\n }}\r\n />\r\n </>\r\n : defaultDom)}\r\n {...props.proLayoutProps}\r\n >\r\n {props.children}\r\n </ProLayout>\r\n <AggregateMenu\r\n {...props.aggregateMenuProps}\r\n />\r\n </CollectProviders>\r\n )\r\n}\r\n\r\nexport default Layout\r\n"],"names":["ProLayout","I18nDropdown","TenantDropdown","AvatarDropdown","ThemeSwitch","styles","useCallback","useState","CollectProviders","LocaleType","gql","query","iceUrqlInstance","OpenWin","logoBase64","AggregateMenu","BarsOutlined","userMenuListQuery","Layout","props","zhCN","locale","setLocale","listFormatTree","list","parentList","filter","item","parentId","forEach","pItem","children","allItem","key","length","appCode","tenantId","tenantProps","value","dark","themeSwitchProps","pathname","className","layout","headerTitleRender","logo","title","aggregateMenuProps","open","rev","undefined","style","fontSize","marginRight","onClick","onChangeOpen","img","src","alt","fixSiderbar","suppressSiderWhenMenuEmpty","menu","request","result","meunList","instanceName","ucenter","data","userMenus","sort","d1","d2","d1Sort","displaySort","d2Sort","parentID","map","id","name","icon","IconFont","type","i","path","route","location","actionsRender","onChange","i18nProps","avatarProps","menuItemRender","defaultDom","a","onClickMenuItem","menuIconPopup","proLayoutProps"],"mappings":"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"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\layout\\index.tsx"],"sourcesContent":["import { MenuDataItem, ProLayout, ProLayoutProps } from '@ant-design/pro-layout';\r\nimport I18nDropdown, { I18nDropdownProps } from '../i18n-dropdown';\r\nimport TenantDropdown, { TenantDropdownProps } from '../tenant-dropdown';\r\nimport AvatarDropdown, { AvatarDropdownProps } from '../avatar-dropdown';\r\nimport MsgDropdown, { MsgDropdownProps, MsgDropdownRef } from '../msg-dropdown';\r\nimport ThemeSwitch, { ThemeSwitchProps } from '../theme-switch';\r\nimport styles from './layout.module.css';\r\nimport { ReactNode, FC, Ref } from 'react';\r\nimport { UserMenuListQuery, UserMenuListQueryVariables } from '@knockout-js/api/esm/gql/ucenter/graphql';\r\nimport { CollectProviders, LocaleType } from '..';\r\nimport { gql, query } from '@knockout-js/ice-urql/request';\r\nimport { OpenWin } from '../icons';\r\nimport { IconFontProps } from '@ant-design/icons/lib/components/IconFont';\r\nimport { logoBase64 } from './logo';\r\nimport AggregateMenu, { AggregateMenuProps } from '../aggregate-menu';\r\nimport { BarsOutlined } from '@ant-design/icons';\r\nimport { listFormatTreeData } from '../_util';\r\nimport { instanceName } from '@knockout-js/api';\r\n\r\nexport interface LayoutProps {\r\n /**\r\n * 应用code\r\n */\r\n appCode: string;\r\n /**\r\n * 语言\r\n * 默认 LocaleType.zhCN\r\n */\r\n locale?: LocaleType;\r\n /**\r\n * 传递动态的 location.pathname\r\n */\r\n pathname: string;\r\n /**\r\n * 菜单启用iconfont\r\n */\r\n IconFont?: FC<IconFontProps<string>>;\r\n /**\r\n * 聚合菜单\r\n */\r\n aggregateMenuProps?: AggregateMenuProps;\r\n /**\r\n * I18nDropdown组件对应的参数\r\n */\r\n i18nProps?: I18nDropdownProps;\r\n /**\r\n * TenantDropdown组件对应的参数\r\n */\r\n tenantProps: TenantDropdownProps;\r\n /**\r\n * AvatarDropdown组件对应的参数\r\n */\r\n avatarProps: AvatarDropdownProps;\r\n /**\r\n * MsgDropdown组件的高级方法\r\n */\r\n msgRef?: Ref<MsgDropdownRef>\r\n /**\r\n * MsgDropdown组件对应的参数\r\n */\r\n msgProps?: MsgDropdownProps;\r\n /**\r\n * ThemeSwitch组件对应的参数\r\n */\r\n themeSwitchProps?: ThemeSwitchProps;\r\n /**\r\n * ProLayout组件对应的参数\r\n */\r\n proLayoutProps?: ProLayoutProps;\r\n /**\r\n * 菜单点击返回 (item: MenuDataItem,isOpen?: boolean) => void;\r\n */\r\n onClickMenuItem?: (\r\n item: MenuDataItem & {\r\n isUrl: boolean;\r\n onClick: () => void;\r\n },\r\n isOpen?: boolean\r\n ) => void;\r\n /**\r\n * 默认插槽\r\n */\r\n children?: ReactNode;\r\n\r\n}\r\n\r\nconst userMenuListQuery = gql(/* GraphQL */`query userMenuList($appCode:String!){\r\n userMenus(appCode: $appCode){\r\n id,parentID,kind,name,comments,displaySort,icon,route\r\n }\r\n}`);\r\n\r\n\r\nconst Layout = (props: LayoutProps) => {\r\n\r\n return (\r\n <CollectProviders\r\n locale={props.locale ?? LocaleType.zhCN}\r\n appCode={props.appCode}\r\n tenantId={props.tenantProps.value}\r\n dark={props.themeSwitchProps?.value ?? false}\r\n pathname={props.pathname}\r\n >\r\n <ProLayout\r\n className={styles.layout}\r\n headerTitleRender={(logo, title) => {\r\n return <>\r\n {typeof props.aggregateMenuProps?.open === 'boolean' ? <BarsOutlined\r\n rev={undefined}\r\n style={{ fontSize: 20, marginRight: 10 }}\r\n onClick={() => {\r\n props.aggregateMenuProps?.onChangeOpen?.(true);\r\n }}\r\n /> : <></>}\r\n {logo}\r\n {title}\r\n </>\r\n }}\r\n title='adminx'\r\n logo={<img src={logoBase64} alt=\"logo\" />}\r\n layout=\"mix\"\r\n fixSiderbar\r\n suppressSiderWhenMenuEmpty\r\n menu={{\r\n locale: true,\r\n request: async () => {\r\n const result = await query<UserMenuListQuery, UserMenuListQueryVariables>(userMenuListQuery, {\r\n appCode: props.appCode\r\n }, { instanceName: instanceName.UCENTER });\r\n if (result.data?.userMenus.length) {\r\n const meunList = result.data.userMenus.sort((d1, d2) => {\r\n const d1Sort = d1.displaySort || 0, d2Sort = d2.displaySort || 0;\r\n return d1.parentID < d2.parentID ? -1 : d1.parentID > d2.parentID ? 1 : d1Sort < d2Sort ? -1 : d1Sort > d2Sort ? 1 : 0;\r\n }).map(item => {\r\n return {\r\n key: item.id,\r\n name: item.name,\r\n icon: item.icon ? props.IconFont ? <props.IconFont type={item.icon} /> : <i className={item.icon} /> : undefined,\r\n parentId: item.parentID,\r\n path: item.route,\r\n } as MenuDataItem\r\n })\r\n\r\n return listFormatTreeData(meunList);\r\n }\r\n return [];\r\n },\r\n }}\r\n location={{\r\n pathname: props.pathname\r\n }}\r\n actionsRender={() => {\r\n const actions: ReactNode[] = [];\r\n if (props.i18nProps) {\r\n actions.push(<I18nDropdown {...props.i18nProps} />)\r\n }\r\n if (props.msgProps) {\r\n actions.push(<MsgDropdown ref={props.msgRef} {...props.msgProps} />)\r\n }\r\n actions.push(<TenantDropdown {...props.tenantProps} />)\r\n actions.push(<AvatarDropdown {...props.avatarProps} />)\r\n if (props.themeSwitchProps) {\r\n actions.push(<ThemeSwitch {...props.themeSwitchProps} />)\r\n }\r\n return actions;\r\n }}\r\n menuItemRender={(item, defaultDom) => (item.path ? <>\r\n <a\r\n onClick={() => {\r\n props.onClickMenuItem?.(item, false)\r\n }}\r\n >{defaultDom}</a>\r\n <OpenWin\r\n className={styles.menuIconPopup}\r\n onClick={() => {\r\n props.onClickMenuItem?.(item, true)\r\n }}\r\n />\r\n </>\r\n : defaultDom)}\r\n {...props.proLayoutProps}\r\n >\r\n {props.children}\r\n </ProLayout>\r\n {\r\n props.aggregateMenuProps ? <AggregateMenu\r\n {...props.aggregateMenuProps}\r\n /> : <></>\r\n }\r\n </CollectProviders>\r\n )\r\n}\r\n\r\nexport default Layout\r\n"],"names":["ProLayout","I18nDropdown","TenantDropdown","AvatarDropdown","MsgDropdown","ThemeSwitch","styles","CollectProviders","LocaleType","gql","query","OpenWin","logoBase64","AggregateMenu","BarsOutlined","listFormatTreeData","instanceName","userMenuListQuery","Layout","props","locale","zhCN","appCode","tenantId","tenantProps","value","dark","themeSwitchProps","pathname","className","layout","headerTitleRender","logo","title","aggregateMenuProps","open","rev","undefined","style","fontSize","marginRight","onClick","onChangeOpen","img","src","alt","fixSiderbar","suppressSiderWhenMenuEmpty","menu","request","result","meunList","UCENTER","data","userMenus","length","sort","d1","d2","d1Sort","displaySort","d2Sort","parentID","map","item","key","id","name","icon","IconFont","type","i","parentId","path","route","location","actionsRender","actions","i18nProps","push","msgProps","ref","msgRef","avatarProps","menuItemRender","defaultDom","a","onClickMenuItem","menuIconPopup","proLayoutProps","children"],"mappings":"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"}
@@ -1,32 +1,26 @@
1
- .layout {
2
- :global(.ant-pro-sider-collapsed .ant-menu-item-active) {
3
- .menuIconPopup {
4
- display: none;
5
- }
6
- }
1
+ .layout :global(.ant-pro-sider-collapsed .ant-menu-item-active) .menuIconPopup {
2
+ display: none;
3
+ }
7
4
 
8
- :global(.ant-pro-sider-collapsed .ant-menu-submenu-title .anticon) {
9
- line-height: normal;
10
- }
5
+ .layout :global(.ant-pro-sider-collapsed .ant-menu-submenu-title .anticon) {
6
+ line-height: normal;
7
+ }
11
8
 
12
- :global(.ant-pro-sider-collapsed .ant-menu-item .anticon) {
13
- line-height: normal;
14
- }
9
+ .layout :global(.ant-pro-sider-collapsed .ant-menu-item .anticon) {
10
+ line-height: normal;
11
+ }
15
12
 
16
- :global(.ant-pro-global-header-header-actions-item .ant-switch) {
17
- padding-block: 0;
18
- border-radius: 100px;
19
- }
13
+ .layout :global(.ant-pro-global-header-header-actions-item .ant-switch) {
14
+ padding-block: 0;
15
+ border-radius: 100px;
16
+ }
20
17
 
21
- :global(.ant-layout-content) {
22
- padding: 0;
23
- }
18
+ .layout :global(.ant-layout-content) {
19
+ padding: 0;
24
20
  }
25
21
 
26
- :global(.ant-menu-item-active) {
27
- .menuIconPopup {
28
- display: block;
29
- }
22
+ :global(.ant-menu-item-active) .menuIconPopup {
23
+ display: block;
30
24
  }
31
25
 
32
26
  :global(.ant-menu-submenu-popup .ant-pro-base-menu-inline-item-title) {
@@ -39,8 +33,8 @@
39
33
  top: 50%;
40
34
  right: 16px;
41
35
  margin-top: -6px;
36
+ }
42
37
 
43
- :global(&.anticon) {
44
- display: none;
45
- }
38
+ .menuIconPopup:global(.anticon) {
39
+ display: none;
46
40
  }
@@ -4,6 +4,7 @@ import AvatarDropdown from "../avatar-dropdown/locale/en_US";
4
4
  import TenantDropdown from "../tenant-dropdown/locale/en_US";
5
5
  import AggregateMenu from "../aggregate-menu/locale/en_US";
6
6
  import UploadFile from "../upload-file/locale/en_US";
7
+ import MsgDropdown from "../msg-dropdown/locale/en_US";
7
8
  var localeValues = {
8
9
  locale: "en-us",
9
10
  ThemeSwitch: ThemeSwitch,
@@ -11,7 +12,8 @@ var localeValues = {
11
12
  AvatarDropdown: AvatarDropdown,
12
13
  TenantDropdown: TenantDropdown,
13
14
  AggregateMenu: AggregateMenu,
14
- UploadFile: UploadFile
15
+ UploadFile: UploadFile,
16
+ MsgDropdown: MsgDropdown
15
17
  };
16
18
  export default localeValues;
17
19
 
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\en_US.ts"],"sourcesContent":["import { Locale } from \".\";\r\nimport ThemeSwitch from \"../theme-switch/locale/en_US\";\r\nimport LeavePrompt from \"../leave-prompt/locale/en_US\";\r\nimport AvatarDropdown from \"../avatar-dropdown/locale/en_US\";\r\nimport TenantDropdown from \"../tenant-dropdown/locale/en_US\";\r\nimport AggregateMenu from \"../aggregate-menu/locale/en_US\";\r\nimport UploadFile from \"../upload-file/locale/en_US\";\r\n\r\nconst localeValues: Locale = {\r\n locale: 'en-us',\r\n ThemeSwitch,\r\n LeavePrompt,\r\n AvatarDropdown,\r\n TenantDropdown,\r\n AggregateMenu,\r\n UploadFile,\r\n}\r\n\r\nexport default localeValues\r\n"],"names":["ThemeSwitch","LeavePrompt","AvatarDropdown","TenantDropdown","AggregateMenu","UploadFile","localeValues","locale"],"mappings":"AACA,OAAOA,iBAAiB,+BAA+B;AACvD,OAAOC,iBAAiB,+BAA+B;AACvD,OAAOC,oBAAoB,kCAAkC;AAC7D,OAAOC,oBAAoB,kCAAkC;AAC7D,OAAOC,mBAAmB,iCAAiC;AAC3D,OAAOC,gBAAgB,8BAA8B;AAErD,IAAMC,eAAuB;IAC3BC,QAAQ;IACRP,aAAAA;IACAC,aAAAA;IACAC,gBAAAA;IACAC,gBAAAA;IACAC,eAAAA;IACAC,YAAAA;AACF;AAEA,eAAeC,aAAY"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\en_US.ts"],"sourcesContent":["import { Locale } from \".\";\r\nimport ThemeSwitch from \"../theme-switch/locale/en_US\";\r\nimport LeavePrompt from \"../leave-prompt/locale/en_US\";\r\nimport AvatarDropdown from \"../avatar-dropdown/locale/en_US\";\r\nimport TenantDropdown from \"../tenant-dropdown/locale/en_US\";\r\nimport AggregateMenu from \"../aggregate-menu/locale/en_US\";\r\nimport UploadFile from \"../upload-file/locale/en_US\";\r\nimport MsgDropdown from \"../msg-dropdown/locale/en_US\";\r\n\r\nconst localeValues: Locale = {\r\n locale: 'en-us',\r\n ThemeSwitch,\r\n LeavePrompt,\r\n AvatarDropdown,\r\n TenantDropdown,\r\n AggregateMenu,\r\n UploadFile,\r\n MsgDropdown,\r\n}\r\n\r\nexport default localeValues\r\n"],"names":["ThemeSwitch","LeavePrompt","AvatarDropdown","TenantDropdown","AggregateMenu","UploadFile","MsgDropdown","localeValues","locale"],"mappings":"AACA,OAAOA,iBAAiB,+BAA+B;AACvD,OAAOC,iBAAiB,+BAA+B;AACvD,OAAOC,oBAAoB,kCAAkC;AAC7D,OAAOC,oBAAoB,kCAAkC;AAC7D,OAAOC,mBAAmB,iCAAiC;AAC3D,OAAOC,gBAAgB,8BAA8B;AACrD,OAAOC,iBAAiB,+BAA+B;AAEvD,IAAMC,eAAuB;IAC3BC,QAAQ;IACRR,aAAAA;IACAC,aAAAA;IACAC,gBAAAA;IACAC,gBAAAA;IACAC,eAAAA;IACAC,YAAAA;IACAC,aAAAA;AACF;AAEA,eAAeC,aAAY"}
@@ -4,6 +4,7 @@ import { LeavePromptLocale } from '../leave-prompt';
4
4
  import { AvatarDropdownLocale } from '../avatar-dropdown';
5
5
  import { AggregateMenuLocale } from "../aggregate-menu";
6
6
  import { UploadFileLocale } from "../upload-file";
7
+ import { MsgDropdownLocale } from "../msg-dropdown";
7
8
  export interface Locale {
8
9
  locale: string;
9
10
  ThemeSwitch: ThemeSwitchLocale;
@@ -12,6 +13,7 @@ export interface Locale {
12
13
  TenantDropdown: TenantDropdownLocale;
13
14
  AggregateMenu: AggregateMenuLocale;
14
15
  UploadFile: UploadFileLocale;
16
+ MsgDropdown: MsgDropdownLocale;
15
17
  }
16
18
  export type LocaleComponentName = Exclude<keyof Locale, 'locale'>;
17
19
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\index.tsx"],"sourcesContent":["import { useContext } from \"react\";\r\nimport zhCN from \"./zh_CN\";\r\nimport enUS from \"./en_US\";\r\nimport { TenantDropdownLocale } from '../tenant-dropdown';\r\nimport { ThemeSwitchLocale } from '../theme-switch';\r\nimport { LeavePromptLocale } from '../leave-prompt';\r\nimport { AvatarDropdownLocale } from '../avatar-dropdown';\r\nimport { AggregateMenuLocale } from \"../aggregate-menu\";\r\nimport { Context, LocaleType, ProviderProps } from \"../provider\";\r\nimport { UploadFileLocale } from \"../upload-file\";\r\n\r\nexport interface Locale {\r\n locale: string;\r\n ThemeSwitch: ThemeSwitchLocale;\r\n LeavePrompt: LeavePromptLocale;\r\n AvatarDropdown: AvatarDropdownLocale;\r\n TenantDropdown: TenantDropdownLocale;\r\n AggregateMenu: AggregateMenuLocale;\r\n UploadFile: UploadFileLocale;\r\n}\r\n\r\n\r\n\r\nexport type LocaleComponentName = Exclude<keyof Locale, 'locale'>;\r\n\r\n/**\r\n * hook\r\n * @param componentName\r\n * @returns\r\n */\r\nexport const useLocale = <C extends LocaleComponentName>(componentName: C) => {\r\n const ctx = useContext<ProviderProps>(Context);\r\n if (ctx.locale === LocaleType.enUS) {\r\n return { ...enUS[componentName] }\r\n }\r\n // 默认zhCN\r\n return { ...zhCN[componentName] }\r\n}\r\n"],"names":["useContext","zhCN","enUS","Context","LocaleType","useLocale","componentName","ctx","locale"],"mappings":";AAAA,SAASA,UAAU,QAAQ,QAAQ;AACnC,OAAOC,UAAU,UAAU;AAC3B,OAAOC,UAAU,UAAU;AAM3B,SAASC,OAAO,EAAEC,UAAU,QAAuB,oBAAc;AAiBjE;;;;CAIC,GACD,OAAO,IAAMC,YAAY,SAAgCC,eAAqB;IAC5E,IAAMC,MAAMP,WAA0BG;IACtC,IAAII,IAAIC,MAAM,KAAKJ,WAAWF,IAAI,EAChC,OAAO,mBAAKA,IAAI,CAACI,cAAc;IAEjC,SAAS;IACT,OAAO,mBAAKL,IAAI,CAACK,cAAc;AACjC,EAAC"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\index.tsx"],"sourcesContent":["import { useContext } from \"react\";\r\nimport zhCN from \"./zh_CN\";\r\nimport enUS from \"./en_US\";\r\nimport { TenantDropdownLocale } from '../tenant-dropdown';\r\nimport { ThemeSwitchLocale } from '../theme-switch';\r\nimport { LeavePromptLocale } from '../leave-prompt';\r\nimport { AvatarDropdownLocale } from '../avatar-dropdown';\r\nimport { AggregateMenuLocale } from \"../aggregate-menu\";\r\nimport { Context, LocaleType, ProviderProps } from \"../provider\";\r\nimport { UploadFileLocale } from \"../upload-file\";\r\nimport { MsgDropdownLocale } from \"../msg-dropdown\";\r\n\r\nexport interface Locale {\r\n locale: string;\r\n ThemeSwitch: ThemeSwitchLocale;\r\n LeavePrompt: LeavePromptLocale;\r\n AvatarDropdown: AvatarDropdownLocale;\r\n TenantDropdown: TenantDropdownLocale;\r\n AggregateMenu: AggregateMenuLocale;\r\n UploadFile: UploadFileLocale;\r\n MsgDropdown: MsgDropdownLocale;\r\n}\r\n\r\n\r\n\r\nexport type LocaleComponentName = Exclude<keyof Locale, 'locale'>;\r\n\r\n/**\r\n * hook\r\n * @param componentName\r\n * @returns\r\n */\r\nexport const useLocale = <C extends LocaleComponentName>(componentName: C) => {\r\n const ctx = useContext<ProviderProps>(Context);\r\n if (ctx.locale === LocaleType.enUS) {\r\n return { ...enUS[componentName] }\r\n }\r\n // 默认zhCN\r\n return { ...zhCN[componentName] }\r\n}\r\n"],"names":["useContext","zhCN","enUS","Context","LocaleType","useLocale","componentName","ctx","locale"],"mappings":";AAAA,SAASA,UAAU,QAAQ,QAAQ;AACnC,OAAOC,UAAU,UAAU;AAC3B,OAAOC,UAAU,UAAU;AAM3B,SAASC,OAAO,EAAEC,UAAU,QAAuB,oBAAc;AAmBjE;;;;CAIC,GACD,OAAO,IAAMC,YAAY,SAAgCC,eAAqB;IAC5E,IAAMC,MAAMP,WAA0BG;IACtC,IAAII,IAAIC,MAAM,KAAKJ,WAAWF,IAAI,EAChC,OAAO,mBAAKA,IAAI,CAACI,cAAc;IAEjC,SAAS;IACT,OAAO,mBAAKL,IAAI,CAACK,cAAc;AACjC,EAAC"}
@@ -4,6 +4,7 @@ import AvatarDropdown from "../avatar-dropdown/locale/zh_CN";
4
4
  import TenantDropdown from "../tenant-dropdown/locale/zh_CN";
5
5
  import AggregateMenu from "../aggregate-menu/locale/zh_CN";
6
6
  import UploadFile from "../upload-file/locale/zh_CN";
7
+ import MsgDropdown from "../msg-dropdown/locale/zh_CN";
7
8
  var localeValues = {
8
9
  locale: "zh-cn",
9
10
  ThemeSwitch: ThemeSwitch,
@@ -11,7 +12,8 @@ var localeValues = {
11
12
  AvatarDropdown: AvatarDropdown,
12
13
  TenantDropdown: TenantDropdown,
13
14
  AggregateMenu: AggregateMenu,
14
- UploadFile: UploadFile
15
+ UploadFile: UploadFile,
16
+ MsgDropdown: MsgDropdown
15
17
  };
16
18
  export default localeValues;
17
19