@knockout-js/layout 0.1.0 → 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 (89) hide show
  1. package/es2017/components/_util/index.d.ts +15 -0
  2. package/es2017/components/_util/index.js +29 -2
  3. package/es2017/components/_util/index.js.map +1 -1
  4. package/es2017/components/aggregate-menu/index.d.ts +1 -1
  5. package/es2017/components/aggregate-menu/index.js +7 -7
  6. package/es2017/components/aggregate-menu/index.js.map +1 -1
  7. package/es2017/components/aggregate-menu/index.module.css +49 -59
  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 +1 -3
  12. package/es2017/components/index.js +1 -4
  13. package/es2017/components/index.js.map +1 -1
  14. package/es2017/components/layout/index.d.ts +10 -1
  15. package/es2017/components/layout/index.js +7 -3
  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.module.css +3 -3
  39. package/es2017/components/upload-file/uploadAvatar.js +3 -3
  40. package/es2017/components/upload-file/uploadAvatar.js.map +1 -1
  41. package/es2017/components/upload-file/uploadMultiple.js +4 -4
  42. package/es2017/components/upload-file/uploadMultiple.js.map +1 -1
  43. package/es2017/components/upload-file/uploadTemp.js +5 -5
  44. package/es2017/components/upload-file/uploadTemp.js.map +1 -1
  45. package/esm/components/_util/index.d.ts +15 -0
  46. package/esm/components/_util/index.js +31 -3
  47. package/esm/components/_util/index.js.map +1 -1
  48. package/esm/components/aggregate-menu/index.d.ts +1 -1
  49. package/esm/components/aggregate-menu/index.js +7 -7
  50. package/esm/components/aggregate-menu/index.js.map +1 -1
  51. package/esm/components/aggregate-menu/index.module.css +49 -59
  52. package/esm/components/avatar-dropdown/index.js +1 -1
  53. package/esm/components/avatar-dropdown/index.js.map +1 -1
  54. package/esm/components/i18n-dropdown/index.js.map +1 -1
  55. package/esm/components/index.d.ts +1 -3
  56. package/esm/components/index.js +1 -4
  57. package/esm/components/index.js.map +1 -1
  58. package/esm/components/layout/index.d.ts +10 -1
  59. package/esm/components/layout/index.js +7 -3
  60. package/esm/components/layout/index.js.map +1 -1
  61. package/esm/components/layout/layout.module.css +20 -26
  62. package/esm/components/locale/en_US.js +3 -1
  63. package/esm/components/locale/en_US.js.map +1 -1
  64. package/esm/components/locale/index.d.ts +2 -0
  65. package/esm/components/locale/index.js.map +1 -1
  66. package/esm/components/locale/zh_CN.js +3 -1
  67. package/esm/components/locale/zh_CN.js.map +1 -1
  68. package/esm/components/modal/index.module.css +4 -4
  69. package/esm/components/msg-dropdown/index.d.ts +28 -0
  70. package/esm/components/msg-dropdown/index.js +155 -0
  71. package/esm/components/msg-dropdown/index.js.map +1 -0
  72. package/esm/components/msg-dropdown/index.module.css +33 -0
  73. package/esm/components/msg-dropdown/locale/en_US.d.ts +3 -0
  74. package/esm/components/msg-dropdown/locale/en_US.js +7 -0
  75. package/esm/components/msg-dropdown/locale/en_US.js.map +1 -0
  76. package/esm/components/msg-dropdown/locale/zh_CN.d.ts +3 -0
  77. package/esm/components/msg-dropdown/locale/zh_CN.js +7 -0
  78. package/esm/components/msg-dropdown/locale/zh_CN.js.map +1 -0
  79. package/esm/components/tenant-dropdown/index.d.ts +1 -1
  80. package/esm/components/tenant-dropdown/index.js +2 -2
  81. package/esm/components/tenant-dropdown/index.js.map +1 -1
  82. package/esm/components/upload-file/index.module.css +3 -3
  83. package/esm/components/upload-file/uploadAvatar.js +3 -3
  84. package/esm/components/upload-file/uploadAvatar.js.map +1 -1
  85. package/esm/components/upload-file/uploadMultiple.js +4 -4
  86. package/esm/components/upload-file/uploadMultiple.js.map +1 -1
  87. package/esm/components/upload-file/uploadTemp.js +5 -5
  88. package/esm/components/upload-file/uploadTemp.js.map +1 -1
  89. package/package.json +4 -3
@@ -3,14 +3,12 @@
3
3
  cursor: pointer;
4
4
  }
5
5
 
6
- .aggregateMenuDrawer {
7
- :global(.ant-drawer-header-title) {
8
- flex-direction: row-reverse;
9
- }
6
+ .aggregateMenuDrawer :global(.ant-drawer-header-title) {
7
+ flex-direction: row-reverse;
8
+ }
10
9
 
11
- :global(.ant-drawer-body) {
12
- padding: 0;
13
- }
10
+ .aggregateMenuDrawer :global(.ant-drawer-body) {
11
+ padding: 0;
14
12
  }
15
13
 
16
14
  .aggregateMenuDrawerRow {
@@ -58,19 +56,19 @@
58
56
  cursor: pointer;
59
57
  padding: 0 6px 0 16px;
60
58
  display: flex;
59
+ }
61
60
 
62
- &:hover {
63
- background-color: #f1f1f1;
61
+ .aggregateMenuDrawerAllMenuItem :global(.anticon-star.collect) {
62
+ color: rgb(255, 106, 0);
63
+ display: inline-flex;
64
+ }
64
65
 
65
- :global(.anticon) {
66
- display: inline;
67
- }
68
- }
66
+ .aggregateMenuDrawerAllMenuItem:hover {
67
+ background-color: #f1f1f1;
68
+ }
69
69
 
70
- :global(.anticon-star.collect) {
71
- color: rgb(255, 106, 0);
72
- display: inline-flex;
73
- }
70
+ .aggregateMenuDrawerAllMenuItem:hover :global(.anticon) {
71
+ display: inline;
74
72
  }
75
73
 
76
74
  .aggregateMenuDrawerAllMenuItemDir {
@@ -88,26 +86,22 @@
88
86
  font-weight: lighter;
89
87
  }
90
88
 
91
- .aggregateMenuDrawerAllMenuItemIcons {
92
-
93
- :global(.ant-space) {
94
- align-items: unset;
95
- }
96
-
97
- :global(.anticon) {
98
- display: none;
99
- color: #c1c1c1;
89
+ .aggregateMenuDrawerAllMenuItemIcons :global(.ant-space) {
90
+ align-items: unset;
91
+ }
100
92
 
101
- &:hover {
102
- color: #8c8c8c;
93
+ .aggregateMenuDrawerAllMenuItemIcons :global(.anticon) {
94
+ display: none;
95
+ color: #c1c1c1;
96
+ }
103
97
 
104
- &:global(.anticon-star.collect) {
105
- color: rgb(255, 106, 0);
106
- display: inline-flex;
107
- }
108
- }
98
+ .aggregateMenuDrawerAllMenuItemIcons :global(.anticon):hover {
99
+ color: #8c8c8c;
100
+ }
109
101
 
110
- }
102
+ .aggregateMenuDrawerAllMenuItemIcons :global(.anticon):hover :global(.anticon-star.collect) {
103
+ color: rgb(255, 106, 0);
104
+ display: inline-flex;
111
105
  }
112
106
 
113
107
  .aggregateMenuDrawerAllInput {
@@ -127,26 +121,26 @@
127
121
  cursor: pointer;
128
122
  padding: 0 10px 0 16px;
129
123
  display: flex;
124
+ }
130
125
 
131
- &:hover {
132
- background-color: #f1f1f1;
126
+ .aggregateMenuDrawerMenuItem:hover {
127
+ background-color: #f1f1f1;
128
+ }
133
129
 
134
- .aggregateMenuDrawerMenuItemIcons {
135
- display: block;
136
- }
137
- }
130
+ .aggregateMenuDrawerMenuItem:hover .aggregateMenuDrawerMenuItemIcons {
131
+ display: block;
138
132
  }
139
133
 
140
134
  .aggregateMenuDrawerMenuItemIcons {
141
135
  display: none;
136
+ }
142
137
 
143
- :global(.anticon) {
144
- color: #c1c1c1;
138
+ .aggregateMenuDrawerMenuItemIcons :global(.anticon) {
139
+ color: #c1c1c1;
140
+ }
145
141
 
146
- &:hover {
147
- color: #8c8c8c;
148
- }
149
- }
142
+ .aggregateMenuDrawerMenuItemIcons :global(.anticon):hover {
143
+ color: #8c8c8c;
150
144
  }
151
145
 
152
146
  .aggregateMenuDrawerMenuItemName {
@@ -170,21 +164,17 @@
170
164
  /* 黑色主题处理 */
171
165
  .aggregateMenuDark {
172
166
  color: #ffffffcc;
167
+ }
173
168
 
174
- .aggregateMenuDrawerAllInput {
175
- border-bottom: 1px solid #ffffff40;
176
- }
169
+ .aggregateMenuDark .aggregateMenuDrawerAllInput {
170
+ border-bottom: 1px solid #ffffff40;
171
+ }
177
172
 
178
- .aggregateMenuDrawerAllMenuItem {
179
- &:hover {
180
- background-color: #ffffff40;
181
- }
182
- }
173
+ .aggregateMenuDark .aggregateMenuDrawerAllMenuItem:hover {
174
+ background-color: #ffffff40;
183
175
 
184
- .aggregateMenuDrawerMenuItem {
185
- &:hover {
186
- background-color: #ffffff40;
187
- }
188
- }
176
+ }
189
177
 
178
+ .aggregateMenuDark .aggregateMenuDrawerMenuItem:hover {
179
+ background-color: #ffffff40;
190
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';
@@ -14,6 +15,3 @@ 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
17
  export * as util from './_util';
17
- export declare enum iceUrqlInstance {
18
- ucenter = "ucenter"
19
- }
@@ -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";
@@ -15,9 +16,5 @@ export { default as UploadMultiple } from "./upload-file/uploadMultiple";
15
16
  export { default as UploadTemp } from "./upload-file/uploadTemp";
16
17
  import * as _util from "./_util/index";
17
18
  export { _util as util };
18
- export var iceUrqlInstance;
19
- (function(iceUrqlInstance) {
20
- iceUrqlInstance["ucenter"] = "ucenter";
21
- })(iceUrqlInstance || (iceUrqlInstance = {}));
22
19
 
23
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 * as util from './_util';\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","util","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;AAEjE,uBAAsB,gBAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB;WAEzB;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,9 @@ 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';
7
8
  import { LocaleType } from '..';
8
9
  import { IconFontProps } from '@ant-design/icons/lib/components/IconFont';
9
10
  import { AggregateMenuProps } from '../aggregate-menu';
@@ -41,6 +42,14 @@ export interface LayoutProps {
41
42
  * AvatarDropdown组件对应的参数
42
43
  */
43
44
  avatarProps: AvatarDropdownProps;
45
+ /**
46
+ * MsgDropdown组件的高级方法
47
+ */
48
+ msgRef?: Ref<MsgDropdownRef>;
49
+ /**
50
+ * MsgDropdown组件对应的参数
51
+ */
52
+ msgProps?: MsgDropdownProps;
44
53
  /**
45
54
  * ThemeSwitch组件对应的参数
46
55
  */
@@ -7,16 +7,17 @@ import { ProLayout } from "@ant-design/pro-layout";
7
7
  import I18nDropdown from "../i18n-dropdown/index";
8
8
  import TenantDropdown from "../tenant-dropdown/index";
9
9
  import AvatarDropdown from "../avatar-dropdown/index";
10
+ import MsgDropdown from "../msg-dropdown/index";
10
11
  import ThemeSwitch from "../theme-switch/index";
11
12
  import styles from "./layout.module.css";
12
13
  import { CollectProviders, LocaleType } from "../index";
13
14
  import { gql, query } from "@knockout-js/ice-urql/request";
14
- import { iceUrqlInstance } from "../index";
15
15
  import { OpenWin } from "../icons/index";
16
16
  import { logoBase64 } from "./logo";
17
17
  import AggregateMenu from "../aggregate-menu/index";
18
18
  import { BarsOutlined } from "@ant-design/icons";
19
19
  import { listFormatTreeData } from "../_util/index";
20
+ import { instanceName } from "@knockout-js/api";
20
21
  var userMenuListQuery = gql("query userMenuList($appCode:String!){\n userMenus(appCode: $appCode){\n id,parentID,kind,name,comments,displaySort,icon,route\n }\n}");
21
22
  var Layout = function(props) {
22
23
  var _props_themeSwitchProps;
@@ -70,7 +71,7 @@ var Layout = function(props) {
70
71
  query(userMenuListQuery, {
71
72
  appCode: props.appCode
72
73
  }, {
73
- instanceName: iceUrqlInstance.ucenter
74
+ instanceName: instanceName.UCENTER
74
75
  })
75
76
  ];
76
77
  case 1:
@@ -111,6 +112,9 @@ var Layout = function(props) {
111
112
  actionsRender: function() {
112
113
  var actions = [];
113
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)));
114
118
  actions.push(/*#__PURE__*/ _jsx(TenantDropdown, _object_spread({}, props.tenantProps)));
115
119
  actions.push(/*#__PURE__*/ _jsx(AvatarDropdown, _object_spread({}, props.avatarProps)));
116
120
  if (props.themeSwitchProps) actions.push(/*#__PURE__*/ _jsx(ThemeSwitch, _object_spread({}, props.themeSwitchProps)));
@@ -139,7 +143,7 @@ var Layout = function(props) {
139
143
  }, props.proLayoutProps), {
140
144
  children: props.children
141
145
  })),
142
- /*#__PURE__*/ _jsx(AggregateMenu, _object_spread({}, props.aggregateMenuProps))
146
+ props.aggregateMenuProps ? /*#__PURE__*/ _jsx(AggregateMenu, _object_spread({}, props.aggregateMenuProps)) : /*#__PURE__*/ _jsx(_Fragment, {})
143
147
  ]
144
148
  });
145
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 } 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\nimport { listFormatTreeData } from '../_util';\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 * 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\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: 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 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 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 <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","CollectProviders","LocaleType","gql","query","iceUrqlInstance","OpenWin","logoBase64","AggregateMenu","BarsOutlined","listFormatTreeData","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","instanceName","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","avatarProps","menuItemRender","defaultDom","a","onClickMenuItem","menuIconPopup","proLayoutProps","children"],"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
 
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\zh_CN.ts"],"sourcesContent":["import { Locale } from \".\";\r\nimport ThemeSwitch from \"../theme-switch/locale/zh_CN\";\r\nimport LeavePrompt from \"../leave-prompt/locale/zh_CN\";\r\nimport AvatarDropdown from \"../avatar-dropdown/locale/zh_CN\";\r\nimport TenantDropdown from \"../tenant-dropdown/locale/zh_CN\";\r\nimport AggregateMenu from \"../aggregate-menu/locale/zh_CN\";\r\nimport UploadFile from \"../upload-file/locale/zh_CN\";\r\n\r\nconst localeValues: Locale = {\r\n locale: 'zh-cn',\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\\zh_CN.ts"],"sourcesContent":["import { Locale } from \".\";\r\nimport ThemeSwitch from \"../theme-switch/locale/zh_CN\";\r\nimport LeavePrompt from \"../leave-prompt/locale/zh_CN\";\r\nimport AvatarDropdown from \"../avatar-dropdown/locale/zh_CN\";\r\nimport TenantDropdown from \"../tenant-dropdown/locale/zh_CN\";\r\nimport AggregateMenu from \"../aggregate-menu/locale/zh_CN\";\r\nimport UploadFile from \"../upload-file/locale/zh_CN\";\r\nimport MsgDropdown from \"../msg-dropdown/locale/zh_CN\";\r\n\r\nconst localeValues: Locale = {\r\n locale: 'zh-cn',\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"}
@@ -12,9 +12,9 @@
12
12
  .screenfulModal {
13
13
  max-width: 100vw;
14
14
  padding-bottom: 0;
15
+ }
15
16
 
16
- :global(.ant-modal-body) {
17
- height: calc(100vh - 116px);
18
- overflow: auto;
19
- }
17
+ .screenfulModal :global(.ant-modal-body) {
18
+ height: calc(100vh - 116px);
19
+ overflow: auto;
20
20
  }
@@ -0,0 +1,28 @@
1
+ /// <reference types="react" />
2
+ import { MsgInternalTo } from '@knockout-js/api/esm/gql/msgcenter/graphql';
3
+ export interface MsgDropdownLocale {
4
+ title: string;
5
+ footer: string;
6
+ }
7
+ export interface MsgDropdownProps {
8
+ /**
9
+ * 最多显示几条
10
+ */
11
+ maxLength?: number;
12
+ /**
13
+ * 选中一项
14
+ * @param data
15
+ * @returns
16
+ */
17
+ onItemClick?: (data: MsgInternalTo) => void;
18
+ /**
19
+ * 查看更多
20
+ * @returns
21
+ */
22
+ onMoreClick?: () => void;
23
+ }
24
+ export type MsgDropdownRef = {
25
+ setShowDot: () => void;
26
+ };
27
+ declare const _default: import("react").ForwardRefExoticComponent<MsgDropdownProps & import("react").RefAttributes<MsgDropdownRef>>;
28
+ export default _default;