@knockout-js/layout 0.0.4-beta.0 → 0.1.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 (129) hide show
  1. package/es2017/components/_util/index.d.ts +40 -0
  2. package/es2017/components/_util/index.js +69 -0
  3. package/es2017/components/_util/index.js.map +1 -0
  4. package/es2017/components/aggregate-menu/index.d.ts +37 -0
  5. package/es2017/components/aggregate-menu/index.js +372 -0
  6. package/es2017/components/aggregate-menu/index.js.map +1 -0
  7. package/es2017/components/aggregate-menu/index.module.css +190 -0
  8. package/es2017/components/aggregate-menu/locale/en_US.d.ts +3 -0
  9. package/es2017/components/{gather-menu → aggregate-menu}/locale/en_US.js +3 -1
  10. package/es2017/components/aggregate-menu/locale/en_US.js.map +1 -0
  11. package/es2017/components/aggregate-menu/locale/zh_CN.d.ts +3 -0
  12. package/es2017/components/{gather-menu → aggregate-menu}/locale/zh_CN.js +3 -1
  13. package/es2017/components/aggregate-menu/locale/zh_CN.js.map +1 -0
  14. package/es2017/components/collect-providers/index.d.ts +9 -1
  15. package/es2017/components/collect-providers/index.js +5 -3
  16. package/es2017/components/collect-providers/index.js.map +1 -1
  17. package/es2017/components/i18n-dropdown/index.d.ts +1 -1
  18. package/es2017/components/i18n-dropdown/index.js +2 -2
  19. package/es2017/components/i18n-dropdown/index.js.map +1 -1
  20. package/es2017/components/index.d.ts +7 -2
  21. package/es2017/components/index.js +8 -2
  22. package/es2017/components/index.js.map +1 -1
  23. package/es2017/components/layout/index.d.ts +12 -6
  24. package/es2017/components/layout/index.js +26 -39
  25. package/es2017/components/layout/index.js.map +1 -1
  26. package/es2017/components/locale/en_US.js +4 -2
  27. package/es2017/components/locale/en_US.js.map +1 -1
  28. package/es2017/components/locale/index.d.ts +4 -17
  29. package/es2017/components/locale/index.js +3 -23
  30. package/es2017/components/locale/index.js.map +1 -1
  31. package/es2017/components/locale/zh_CN.js +4 -2
  32. package/es2017/components/locale/zh_CN.js.map +1 -1
  33. package/es2017/components/provider/index.d.ts +33 -0
  34. package/es2017/components/provider/index.js +49 -0
  35. package/es2017/components/provider/index.js.map +1 -0
  36. package/es2017/components/tenant-dropdown/index.js +1 -1
  37. package/es2017/components/tenant-dropdown/index.js.map +1 -1
  38. package/es2017/components/upload-file/index.d.ts +57 -0
  39. package/es2017/components/upload-file/index.js +3 -0
  40. package/es2017/components/upload-file/index.js.map +1 -0
  41. package/es2017/components/upload-file/index.module.css +13 -0
  42. package/es2017/components/upload-file/locale/en_US.d.ts +3 -0
  43. package/es2017/components/upload-file/locale/en_US.js +14 -0
  44. package/es2017/components/upload-file/locale/en_US.js.map +1 -0
  45. package/es2017/components/upload-file/locale/zh_CN.d.ts +3 -0
  46. package/es2017/components/upload-file/locale/zh_CN.js +14 -0
  47. package/es2017/components/upload-file/locale/zh_CN.js.map +1 -0
  48. package/es2017/components/upload-file/uploadAvatar.d.ts +4 -0
  49. package/es2017/components/upload-file/uploadAvatar.js +93 -0
  50. package/es2017/components/upload-file/uploadAvatar.js.map +1 -0
  51. package/es2017/components/upload-file/uploadMultiple.d.ts +4 -0
  52. package/es2017/components/upload-file/uploadMultiple.js +155 -0
  53. package/es2017/components/upload-file/uploadMultiple.js.map +1 -0
  54. package/es2017/components/upload-file/uploadTemp.d.ts +9 -0
  55. package/es2017/components/upload-file/uploadTemp.js +167 -0
  56. package/es2017/components/upload-file/uploadTemp.js.map +1 -0
  57. package/esm/components/_util/index.d.ts +40 -0
  58. package/esm/components/_util/index.js +75 -0
  59. package/esm/components/_util/index.js.map +1 -0
  60. package/esm/components/aggregate-menu/index.d.ts +37 -0
  61. package/esm/components/aggregate-menu/index.js +521 -0
  62. package/esm/components/aggregate-menu/index.js.map +1 -0
  63. package/esm/components/aggregate-menu/index.module.css +190 -0
  64. package/esm/components/aggregate-menu/locale/en_US.d.ts +3 -0
  65. package/esm/components/{gather-menu → aggregate-menu}/locale/en_US.js +3 -1
  66. package/esm/components/aggregate-menu/locale/en_US.js.map +1 -0
  67. package/esm/components/aggregate-menu/locale/zh_CN.d.ts +3 -0
  68. package/esm/components/{gather-menu → aggregate-menu}/locale/zh_CN.js +3 -1
  69. package/esm/components/aggregate-menu/locale/zh_CN.js.map +1 -0
  70. package/esm/components/collect-providers/index.d.ts +9 -1
  71. package/esm/components/collect-providers/index.js +5 -3
  72. package/esm/components/collect-providers/index.js.map +1 -1
  73. package/esm/components/i18n-dropdown/index.d.ts +1 -1
  74. package/esm/components/i18n-dropdown/index.js +2 -2
  75. package/esm/components/i18n-dropdown/index.js.map +1 -1
  76. package/esm/components/index.d.ts +7 -2
  77. package/esm/components/index.js +8 -2
  78. package/esm/components/index.js.map +1 -1
  79. package/esm/components/layout/index.d.ts +12 -6
  80. package/esm/components/layout/index.js +26 -44
  81. package/esm/components/layout/index.js.map +1 -1
  82. package/esm/components/locale/en_US.js +4 -2
  83. package/esm/components/locale/en_US.js.map +1 -1
  84. package/esm/components/locale/index.d.ts +4 -17
  85. package/esm/components/locale/index.js +3 -23
  86. package/esm/components/locale/index.js.map +1 -1
  87. package/esm/components/locale/zh_CN.js +4 -2
  88. package/esm/components/locale/zh_CN.js.map +1 -1
  89. package/esm/components/provider/index.d.ts +33 -0
  90. package/esm/components/provider/index.js +49 -0
  91. package/esm/components/provider/index.js.map +1 -0
  92. package/esm/components/tenant-dropdown/index.js +1 -1
  93. package/esm/components/tenant-dropdown/index.js.map +1 -1
  94. package/esm/components/upload-file/index.d.ts +57 -0
  95. package/esm/components/upload-file/index.js +3 -0
  96. package/esm/components/upload-file/index.js.map +1 -0
  97. package/esm/components/upload-file/index.module.css +13 -0
  98. package/esm/components/upload-file/locale/en_US.d.ts +3 -0
  99. package/esm/components/upload-file/locale/en_US.js +14 -0
  100. package/esm/components/upload-file/locale/en_US.js.map +1 -0
  101. package/esm/components/upload-file/locale/zh_CN.d.ts +3 -0
  102. package/esm/components/upload-file/locale/zh_CN.js +14 -0
  103. package/esm/components/upload-file/locale/zh_CN.js.map +1 -0
  104. package/esm/components/upload-file/uploadAvatar.d.ts +4 -0
  105. package/esm/components/upload-file/uploadAvatar.js +191 -0
  106. package/esm/components/upload-file/uploadAvatar.js.map +1 -0
  107. package/esm/components/upload-file/uploadMultiple.d.ts +4 -0
  108. package/esm/components/upload-file/uploadMultiple.js +308 -0
  109. package/esm/components/upload-file/uploadMultiple.js.map +1 -0
  110. package/esm/components/upload-file/uploadTemp.d.ts +9 -0
  111. package/esm/components/upload-file/uploadTemp.js +293 -0
  112. package/esm/components/upload-file/uploadTemp.js.map +1 -0
  113. package/package.json +8 -4
  114. package/es2017/components/gather-menu/index.d.ts +0 -34
  115. package/es2017/components/gather-menu/index.js +0 -278
  116. package/es2017/components/gather-menu/index.js.map +0 -1
  117. package/es2017/components/gather-menu/index.module.css +0 -120
  118. package/es2017/components/gather-menu/locale/en_US.d.ts +0 -3
  119. package/es2017/components/gather-menu/locale/en_US.js.map +0 -1
  120. package/es2017/components/gather-menu/locale/zh_CN.d.ts +0 -3
  121. package/es2017/components/gather-menu/locale/zh_CN.js.map +0 -1
  122. package/esm/components/gather-menu/index.d.ts +0 -34
  123. package/esm/components/gather-menu/index.js +0 -320
  124. package/esm/components/gather-menu/index.js.map +0 -1
  125. package/esm/components/gather-menu/index.module.css +0 -120
  126. package/esm/components/gather-menu/locale/en_US.d.ts +0 -3
  127. package/esm/components/gather-menu/locale/en_US.js.map +0 -1
  128. package/esm/components/gather-menu/locale/zh_CN.d.ts +0 -3
  129. package/esm/components/gather-menu/locale/zh_CN.js.map +0 -1
@@ -0,0 +1,190 @@
1
+ .aggregateMenu {
2
+ margin-right: 8px;
3
+ cursor: pointer;
4
+ }
5
+
6
+ .aggregateMenuDrawer {
7
+ :global(.ant-drawer-header-title) {
8
+ flex-direction: row-reverse;
9
+ }
10
+
11
+ :global(.ant-drawer-body) {
12
+ padding: 0;
13
+ }
14
+ }
15
+
16
+ .aggregateMenuDrawerRow {
17
+ height: 100%;
18
+ display: flex;
19
+ }
20
+
21
+ .aggregateMenuDrawerAllMenu {
22
+ height: calc(100% - 52px);
23
+ padding: 16px;
24
+ overflow-y: auto;
25
+ box-sizing: border-box;
26
+ }
27
+
28
+ .aggregateMenuDrawerAllMenuColumn {
29
+ /* column瀑布流 */
30
+ column-count: 3;
31
+ column-gap: 10px;
32
+ }
33
+
34
+ .aggregateMenuDrawerAllMenuColumnItem {
35
+ /* 瀑布流关键写法 */
36
+ break-inside: avoid;
37
+ margin-bottom: 16px;
38
+ }
39
+
40
+ .aggregateMenuDrawerAllAppTitle {
41
+ font-weight: bold;
42
+ height: 32px;
43
+ line-height: 32px;
44
+ padding: 0 16px;
45
+ color: #ff6a00;
46
+ }
47
+
48
+ .aggregateMenuDrawerAllMenuTitle {
49
+ font-weight: bold;
50
+ height: 32px;
51
+ line-height: 32px;
52
+ padding: 0 16px;
53
+ }
54
+
55
+ .aggregateMenuDrawerAllMenuItem {
56
+ height: 32px;
57
+ line-height: 32px;
58
+ cursor: pointer;
59
+ padding: 0 6px 0 16px;
60
+ display: flex;
61
+
62
+ &:hover {
63
+ background-color: #f1f1f1;
64
+
65
+ :global(.anticon) {
66
+ display: inline;
67
+ }
68
+ }
69
+
70
+ :global(.anticon-star.collect) {
71
+ color: rgb(255, 106, 0);
72
+ display: inline-flex;
73
+ }
74
+ }
75
+
76
+ .aggregateMenuDrawerAllMenuItemDir {
77
+ height: 32px;
78
+ line-height: 32px;
79
+ padding: 0 16px;
80
+ font-weight: bold;
81
+ }
82
+
83
+ .aggregateMenuDrawerAllMenuItemName {
84
+ overflow: hidden;
85
+ text-overflow: ellipsis;
86
+ white-space: nowrap;
87
+ flex: auto;
88
+ font-weight: lighter;
89
+ }
90
+
91
+ .aggregateMenuDrawerAllMenuItemIcons {
92
+
93
+ :global(.ant-space) {
94
+ align-items: unset;
95
+ }
96
+
97
+ :global(.anticon) {
98
+ display: none;
99
+ color: #c1c1c1;
100
+
101
+ &:hover {
102
+ color: #8c8c8c;
103
+
104
+ &:global(.anticon-star.collect) {
105
+ color: rgb(255, 106, 0);
106
+ display: inline-flex;
107
+ }
108
+ }
109
+
110
+ }
111
+ }
112
+
113
+ .aggregateMenuDrawerAllInput {
114
+ padding: 10px 0;
115
+ margin: 0 16px;
116
+ border-bottom: 1px solid rgba(5, 5, 5, 0.06);
117
+ }
118
+
119
+ .aggregateMenuDrawerMenu {
120
+ height: 100%;
121
+ border-right: 1px solid rgba(5, 5, 5, 0.06);
122
+ }
123
+
124
+ .aggregateMenuDrawerMenuItem {
125
+ height: 40px;
126
+ line-height: 40px;
127
+ cursor: pointer;
128
+ padding: 0 10px 0 16px;
129
+ display: flex;
130
+
131
+ &:hover {
132
+ background-color: #f1f1f1;
133
+
134
+ .aggregateMenuDrawerMenuItemIcons {
135
+ display: block;
136
+ }
137
+ }
138
+ }
139
+
140
+ .aggregateMenuDrawerMenuItemIcons {
141
+ display: none;
142
+
143
+ :global(.anticon) {
144
+ color: #c1c1c1;
145
+
146
+ &:hover {
147
+ color: #8c8c8c;
148
+ }
149
+ }
150
+ }
151
+
152
+ .aggregateMenuDrawerMenuItemName {
153
+ flex: auto;
154
+ text-overflow: ellipsis;
155
+ white-space: nowrap;
156
+ overflow: hidden;
157
+ }
158
+
159
+ .aggregateMenuLatelys {
160
+ padding: 16px 16px 0 16px;
161
+ height: 112px;
162
+ box-sizing: border-box;
163
+ }
164
+
165
+ .aggregateMenuLatelysColumn {
166
+ column-count: 3;
167
+ column-gap: 10px;
168
+ }
169
+
170
+ /* 黑色主题处理 */
171
+ .aggregateMenuDark {
172
+ color: #ffffffcc;
173
+
174
+ .aggregateMenuDrawerAllInput {
175
+ border-bottom: 1px solid #ffffff40;
176
+ }
177
+
178
+ .aggregateMenuDrawerAllMenuItem {
179
+ &:hover {
180
+ background-color: #ffffff40;
181
+ }
182
+ }
183
+
184
+ .aggregateMenuDrawerMenuItem {
185
+ &:hover {
186
+ background-color: #ffffff40;
187
+ }
188
+ }
189
+
190
+ }
@@ -0,0 +1,3 @@
1
+ import { AggregateMenuLocale } from "../index";
2
+ declare const locale: AggregateMenuLocale;
3
+ export default locale;
@@ -1,7 +1,9 @@
1
1
  const locale = {
2
+ title: 'Application menu',
3
+ latelyTitle: "Recently visited",
2
4
  notText: 'The favorites list is empty, you can add your usual addresses to your favorites on the right.',
3
5
  searchPlaceholder: "Please enter keyword"
4
6
  };
5
7
  export default locale;
6
8
 
7
- //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\gather-menu\locale\en_US.js.map
9
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\aggregate-menu\locale\en_US.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\aggregate-menu\\locale\\en_US.ts"],"sourcesContent":["import { AggregateMenuLocale } from \"../index\";\r\n\r\nconst locale: AggregateMenuLocale = {\r\n title: 'Application menu',\r\n latelyTitle: \"Recently visited\",\r\n notText: 'The favorites list is empty, you can add your usual addresses to your favorites on the right.',\r\n searchPlaceholder: \"Please enter keyword\",\r\n};\r\n\r\nexport default locale\r\n"],"names":["locale","title","latelyTitle","notText","searchPlaceholder"],"mappings":"AAEA,MAAMA,SAA8B;IAClCC,OAAO;IACPC,aAAa;IACbC,SAAS;IACTC,mBAAmB;AACrB;AAEA,eAAeJ,OAAM"}
@@ -0,0 +1,3 @@
1
+ import { AggregateMenuLocale } from "../index";
2
+ declare const locale: AggregateMenuLocale;
3
+ export default locale;
@@ -1,7 +1,9 @@
1
1
  const locale = {
2
+ title: '应用菜单',
3
+ latelyTitle: "最近访问",
2
4
  notText: '收藏列表为空,可在右侧将您常用地址添加到收藏。',
3
5
  searchPlaceholder: "请输入关键词"
4
6
  };
5
7
  export default locale;
6
8
 
7
- //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\gather-menu\locale\zh_CN.js.map
9
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\aggregate-menu\locale\zh_CN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\aggregate-menu\\locale\\zh_CN.ts"],"sourcesContent":["import { AggregateMenuLocale } from \"../index\";\r\n\r\nconst locale: AggregateMenuLocale = {\r\n title: '应用菜单',\r\n latelyTitle: \"最近访问\",\r\n notText: '收藏列表为空,可在右侧将您常用地址添加到收藏。',\r\n searchPlaceholder: \"请输入关键词\",\r\n};\r\n\r\nexport default locale\r\n"],"names":["locale","title","latelyTitle","notText","searchPlaceholder"],"mappings":"AAEA,MAAMA,SAA8B;IAClCC,OAAO;IACPC,aAAa;IACbC,SAAS;IACTC,mBAAmB;AACrB;AAEA,eAAeJ,OAAM"}
@@ -1,6 +1,14 @@
1
- import { LocaleType } from "../locale";
2
1
  import { ReactNode } from "react";
2
+ import { LocaleType } from "..";
3
3
  export interface CollectProviderProps {
4
+ /**
5
+ * 应用code
6
+ */
7
+ appCode: string;
8
+ /**
9
+ * tenantId
10
+ */
11
+ tenantId: string;
4
12
  /**
5
13
  * @knockout-js 的多语言 locale
6
14
  */
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
2
- import { LocaleType } from "../locale/index";
3
2
  import { useEffect, useState } from "react";
4
3
  import { ProConfigProvider } from "@ant-design/pro-provider";
5
- import { BasicProvider, LeavePrompt } from "../index";
4
+ import { Provider, LeavePrompt, LocaleType } from "../index";
6
5
  import { ConfigProvider } from "antd";
7
6
  import { AliveScope } from "react-activation";
8
7
  import zhCN from "antd/locale/zh_CN";
@@ -17,8 +16,11 @@ export default ((props)=>{
17
16
  ]);
18
17
  return /*#__PURE__*/ _jsx(ProConfigProvider, {
19
18
  dark: props.dark,
20
- children: /*#__PURE__*/ _jsx(BasicProvider, {
19
+ children: /*#__PURE__*/ _jsx(Provider, {
21
20
  locale: props.locale,
21
+ appCode: props.appCode,
22
+ tenantId: props.tenantId,
23
+ dark: props.dark,
22
24
  children: /*#__PURE__*/ _jsx(ConfigProvider, {
23
25
  locale: antLocale,
24
26
  children: /*#__PURE__*/ _jsx(LeavePrompt, {
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\collect-providers\\index.tsx"],"sourcesContent":["import { Locale } from \"antd/es/locale\";\r\nimport { LocaleType } from \"../locale\"\r\nimport { ReactNode, useEffect, useState } from \"react\";\r\nimport { ProConfigProvider } from \"@ant-design/pro-provider\";\r\nimport { BasicProvider, LeavePrompt } from \"..\";\r\nimport { ConfigProvider } from \"antd\";\r\nimport { AliveScope } from \"react-activation\";\r\nimport zhCN from 'antd/locale/zh_CN';\r\nimport enUS from 'antd/locale/en_US';\r\nexport interface CollectProviderProps {\r\n /**\r\n * @knockout-js 的多语言 locale\r\n */\r\n locale: LocaleType;\r\n /**\r\n * ProConfig dark主题\r\n */\r\n dark: boolean;\r\n /**\r\n * 传递动态的 location.pathname\r\n */\r\n pathname: string;\r\n /**\r\n * 默认插槽\r\n */\r\n children: ReactNode;\r\n}\r\n\r\nexport default (props: CollectProviderProps) => {\r\n\r\n const [antLocale, setAntLocale] = useState<Locale>(zhCN);\r\n\r\n useEffect(() => {\r\n if (props.locale === LocaleType.zhCN) {\r\n setAntLocale(zhCN)\r\n } else if (props.locale === LocaleType.enUS) {\r\n setAntLocale(enUS)\r\n }\r\n }, [props.locale]);\r\n\r\n return (\r\n <ProConfigProvider dark={props.dark}>\r\n <BasicProvider locale={props.locale}>\r\n <ConfigProvider locale={antLocale}>\r\n <LeavePrompt pathname={props.pathname}>\r\n <AliveScope>\r\n {props.children}\r\n </AliveScope>\r\n </LeavePrompt>\r\n </ConfigProvider>\r\n </BasicProvider>\r\n </ProConfigProvider >\r\n )\r\n}\r\n"],"names":["LocaleType","useEffect","useState","ProConfigProvider","BasicProvider","LeavePrompt","ConfigProvider","AliveScope","zhCN","enUS","props","antLocale","setAntLocale","locale","dark","pathname","children"],"mappings":";AACA,SAASA,UAAU,QAAQ,kBAAW;AACtC,SAAoBC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AACvD,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,aAAa,EAAEC,WAAW,QAAQ,WAAK;AAChD,SAASC,cAAc,QAAQ,OAAO;AACtC,SAASC,UAAU,QAAQ,mBAAmB;AAC9C,OAAOC,UAAU,oBAAoB;AACrC,OAAOC,UAAU,oBAAoB;AAoBrC,eAAe,CAAA,CAACC,QAAgC;IAE9C,MAAM,CAACC,WAAWC,aAAa,GAAGV,SAAiBM;IAEnDP,UAAU,IAAM;QACd,IAAIS,MAAMG,MAAM,KAAKb,WAAWQ,IAAI,EAClCI,aAAaJ;aACR,IAAIE,MAAMG,MAAM,KAAKb,WAAWS,IAAI,EACzCG,aAAaH;IAEjB,GAAG;QAACC,MAAMG,MAAM;KAAC;IAEjB,qBACE,KAACV;QAAkBW,MAAMJ,MAAMI,IAAI;kBACjC,cAAA,KAACV;YAAcS,QAAQH,MAAMG,MAAM;sBACjC,cAAA,KAACP;gBAAeO,QAAQF;0BACtB,cAAA,KAACN;oBAAYU,UAAUL,MAAMK,QAAQ;8BACnC,cAAA,KAACR;kCACEG,MAAMM,QAAQ;;;;;;AAO7B,CAAA,EAAC"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\collect-providers\\index.tsx"],"sourcesContent":["import { Locale } from \"antd/es/locale\";\r\nimport { ReactNode, useEffect, useState } from \"react\";\r\nimport { ProConfigProvider } from \"@ant-design/pro-provider\";\r\nimport { Provider, LeavePrompt, LocaleType } from \"..\";\r\nimport { ConfigProvider } from \"antd\";\r\nimport { AliveScope } from \"react-activation\";\r\nimport zhCN from 'antd/locale/zh_CN';\r\nimport enUS from 'antd/locale/en_US';\r\nexport interface CollectProviderProps {\r\n /**\r\n * 应用code\r\n */\r\n appCode: string;\r\n /**\r\n * tenantId\r\n */\r\n tenantId: string;\r\n /**\r\n * @knockout-js 的多语言 locale\r\n */\r\n locale: LocaleType;\r\n /**\r\n * ProConfig dark主题\r\n */\r\n dark: boolean;\r\n /**\r\n * 传递动态的 location.pathname\r\n */\r\n pathname: string;\r\n /**\r\n * 默认插槽\r\n */\r\n children: ReactNode;\r\n}\r\n\r\nexport default (props: CollectProviderProps) => {\r\n\r\n const [antLocale, setAntLocale] = useState<Locale>(zhCN);\r\n\r\n useEffect(() => {\r\n if (props.locale === LocaleType.zhCN) {\r\n setAntLocale(zhCN)\r\n } else if (props.locale === LocaleType.enUS) {\r\n setAntLocale(enUS)\r\n }\r\n }, [props.locale]);\r\n\r\n return (\r\n <ProConfigProvider dark={props.dark}>\r\n <Provider locale={props.locale} appCode={props.appCode} tenantId={props.tenantId} dark={props.dark}>\r\n <ConfigProvider locale={antLocale}>\r\n <LeavePrompt pathname={props.pathname}>\r\n <AliveScope>\r\n {props.children}\r\n </AliveScope>\r\n </LeavePrompt>\r\n </ConfigProvider>\r\n </Provider>\r\n </ProConfigProvider >\r\n )\r\n}\r\n"],"names":["useEffect","useState","ProConfigProvider","Provider","LeavePrompt","LocaleType","ConfigProvider","AliveScope","zhCN","enUS","props","antLocale","setAntLocale","locale","dark","appCode","tenantId","pathname","children"],"mappings":";AACA,SAAoBA,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AACvD,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,QAAQ,EAAEC,WAAW,EAAEC,UAAU,QAAQ,WAAK;AACvD,SAASC,cAAc,QAAQ,OAAO;AACtC,SAASC,UAAU,QAAQ,mBAAmB;AAC9C,OAAOC,UAAU,oBAAoB;AACrC,OAAOC,UAAU,oBAAoB;AA4BrC,eAAe,CAAA,CAACC,QAAgC;IAE9C,MAAM,CAACC,WAAWC,aAAa,GAAGX,SAAiBO;IAEnDR,UAAU,IAAM;QACd,IAAIU,MAAMG,MAAM,KAAKR,WAAWG,IAAI,EAClCI,aAAaJ;aACR,IAAIE,MAAMG,MAAM,KAAKR,WAAWI,IAAI,EACzCG,aAAaH;IAEjB,GAAG;QAACC,MAAMG,MAAM;KAAC;IAEjB,qBACE,KAACX;QAAkBY,MAAMJ,MAAMI,IAAI;kBACjC,cAAA,KAACX;YAASU,QAAQH,MAAMG,MAAM;YAAEE,SAASL,MAAMK,OAAO;YAAEC,UAAUN,MAAMM,QAAQ;YAAEF,MAAMJ,MAAMI,IAAI;sBAChG,cAAA,KAACR;gBAAeO,QAAQF;0BACtB,cAAA,KAACP;oBAAYa,UAAUP,MAAMO,QAAQ;8BACnC,cAAA,KAACV;kCACEG,MAAMQ,QAAQ;;;;;;AAO7B,CAAA,EAAC"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { LocaleType } from '../locale';
2
+ import { LocaleType } from '..';
3
3
  export interface I18nDropdownProps {
4
4
  /**
5
5
  * 值变更事件 (value: LocaleType) => void;
@@ -2,9 +2,9 @@ import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
2
2
  import { useState, useEffect, useCallback, useContext } from "react";
3
3
  import { Dropdown } from "antd";
4
4
  import styles from "./index.module.css";
5
- import { BasicContext, LocaleType } from "../locale/index";
5
+ import { Context, LocaleType } from "../index";
6
6
  function I18nDropdown(props) {
7
- const ctx = useContext(BasicContext), [localeName, setLocaleName] = useState(''), menuItemOnClick = useCallback(({ key })=>{
7
+ const ctx = useContext(Context), [localeName, setLocaleName] = useState(''), menuItemOnClick = useCallback(({ key })=>{
8
8
  var _props_onChange;
9
9
  (_props_onChange = props.onChange) === null || _props_onChange === void 0 ? void 0 : _props_onChange.call(props, key);
10
10
  }, []), menuItems = [
@@ -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 { BasicContext, BasicProviderProps, LocaleType } from '../locale';\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<BasicProviderProps>(BasicContext),\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","BasicContext","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,YAAY,EAAsBC,UAAU,QAAQ,kBAAY;AASzE,SAASC,aAAaC,KAAwB,EAAE;IAC9C,MAAMC,MAAMP,WAA+BG,eACzC,CAACK,YAAYC,cAAc,GAAGZ,SAAS,KACvCa,kBAAkBX,YAAY,CAAC,EAAEY,IAAG,EAAsB,GAAK;YAC7DL;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,IAAM;QACd,MAAMoB,OAAOL,sBAAAA,uBAAAA,KAAAA,IAAAA,UAAWM,IAAI,CAACD,CAAAA;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, 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,MAAMC,MAAMP,WAA0BG,UACpC,CAACK,YAAYC,cAAc,GAAGZ,SAAS,KACvCa,kBAAkBX,YAAY,CAAC,EAAEY,IAAG,EAAsB,GAAK;YAC7DL;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,IAAM;QACd,MAAMoB,OAAOL,sBAAAA,uBAAAA,KAAAA,IAAAA,UAAWM,IAAI,CAACD,CAAAA;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,4 +1,4 @@
1
- export { default as BasicProvider, BasicContext, type BasicProviderProps, LocaleType } from './locale';
1
+ export { default as Provider, Context, type ProviderProps, } from './provider';
2
2
  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';
@@ -6,9 +6,14 @@ export { default as TenantDropdown } from './tenant-dropdown';
6
6
  export { default as LeavePrompt, useLeavePrompt } from './leave-prompt';
7
7
  export { default as I18nDropdown } from './i18n-dropdown';
8
8
  export { default as CollectProviders } from './collect-providers';
9
+ export { LocaleType } from './provider';
9
10
  export { default as Layout } from './layout';
10
11
  export { default as Modal, type ModalProps } from './modal';
11
- export { default as GatherMenu, type GatherMenuDataSource } from './gather-menu';
12
+ export { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';
13
+ export { default as UploadAvatar } from './upload-file/uploadAvatar';
14
+ export { default as UploadMultiple } from './upload-file/uploadMultiple';
15
+ export { default as UploadTemp } from './upload-file/uploadTemp';
16
+ export * as util from './_util';
12
17
  export declare enum iceUrqlInstance {
13
18
  ucenter = "ucenter"
14
19
  }
@@ -1,4 +1,4 @@
1
- export { default as BasicProvider, BasicContext, LocaleType } from "./locale/index";
1
+ export { default as Provider, Context } from "./provider/index";
2
2
  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";
@@ -6,9 +6,15 @@ export { default as TenantDropdown } from "./tenant-dropdown/index";
6
6
  export { default as LeavePrompt, useLeavePrompt } from "./leave-prompt/index";
7
7
  export { default as I18nDropdown } from "./i18n-dropdown/index";
8
8
  export { default as CollectProviders } from "./collect-providers/index";
9
+ export { LocaleType } from "./provider/index";
9
10
  export { default as Layout } from "./layout/index";
10
11
  export { default as Modal } from "./modal/index";
11
- export { default as GatherMenu } from "./gather-menu/index";
12
+ export { default as AggregateMenu } from "./aggregate-menu/index";
13
+ export { default as UploadAvatar } from "./upload-file/uploadAvatar";
14
+ export { default as UploadMultiple } from "./upload-file/uploadMultiple";
15
+ export { default as UploadTemp } from "./upload-file/uploadTemp";
16
+ import * as _util from "./_util/index";
17
+ export { _util as util };
12
18
  export var iceUrqlInstance;
13
19
  (function(iceUrqlInstance) {
14
20
  iceUrqlInstance["ucenter"] = "ucenter";
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as BasicProvider, BasicContext, type BasicProviderProps, LocaleType } from './locale';\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 { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as GatherMenu, type GatherMenuDataSource } from './gather-menu';\r\nexport enum iceUrqlInstance {\r\n ucenter = \"ucenter\"\r\n}\r\n"],"names":["default","BasicProvider","BasicContext","LocaleType","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","Layout","Modal","GatherMenu","iceUrqlInstance","ucenter"],"mappings":"AAAA,SAASA,WAAWC,aAAa,EAAEC,YAAY,EAA2BC,UAAU,QAAQ,iBAAW;AACvG,SAASH,WAAWI,WAAW,QAAQ,uBAAiB;AACxD,SAASJ,WAAWK,cAAc,QAAQ,0BAAoB;AAC9D,SAASL,WAAWM,SAAS,QAAQ,qBAAe;AACpD,SAASN,WAAWO,cAAc,QAAQ,0BAAoB;AAC9D,SAASP,WAAWQ,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAAST,WAAWU,YAAY,QAAQ,wBAAkB;AAC1D,SAASV,WAAWW,gBAAgB,QAAQ,4BAAsB;AAClE,SAASX,WAAWY,MAAM,QAAQ,iBAAW;AAC7C,SAASZ,WAAWa,KAAK,QAAyB,gBAAU;AAC5D,SAASb,WAAWc,UAAU,QAAmC,sBAAgB;WAC1E;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 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"}
@@ -3,14 +3,20 @@ import { I18nDropdownProps } from '../i18n-dropdown';
3
3
  import { TenantDropdownProps } from '../tenant-dropdown';
4
4
  import { AvatarDropdownProps } from '../avatar-dropdown';
5
5
  import { ThemeSwitchProps } from '../theme-switch';
6
- import { ReactNode } from 'react';
6
+ import { ReactNode, FC } from 'react';
7
+ import { LocaleType } from '..';
7
8
  import { IconFontProps } from '@ant-design/icons/lib/components/IconFont';
8
- import { GatherMenuProps } from '../gather-menu';
9
+ import { AggregateMenuProps } from '../aggregate-menu';
9
10
  export interface LayoutProps {
10
11
  /**
11
12
  * 应用code
12
13
  */
13
14
  appCode: string;
15
+ /**
16
+ * 语言
17
+ * 默认 LocaleType.zhCN
18
+ */
19
+ locale?: LocaleType;
14
20
  /**
15
21
  * 传递动态的 location.pathname
16
22
  */
@@ -18,11 +24,11 @@ export interface LayoutProps {
18
24
  /**
19
25
  * 菜单启用iconfont
20
26
  */
21
- IconFont?: React.FC<IconFontProps<string>>;
27
+ IconFont?: FC<IconFontProps<string>>;
22
28
  /**
23
- * 集成菜单
29
+ * 聚合菜单
24
30
  */
25
- gatherMenuProps?: GatherMenuProps;
31
+ aggregateMenuProps?: AggregateMenuProps;
26
32
  /**
27
33
  * I18nDropdown组件对应的参数
28
34
  */
@@ -38,7 +44,7 @@ export interface LayoutProps {
38
44
  /**
39
45
  * ThemeSwitch组件对应的参数
40
46
  */
41
- themeSwitchProps: ThemeSwitchProps;
47
+ themeSwitchProps?: ThemeSwitchProps;
42
48
  /**
43
49
  * ProLayout组件对应的参数
44
50
  */
@@ -7,51 +7,44 @@ import TenantDropdown from "../tenant-dropdown/index";
7
7
  import AvatarDropdown from "../avatar-dropdown/index";
8
8
  import ThemeSwitch from "../theme-switch/index";
9
9
  import styles from "./layout.module.css";
10
- import { useCallback, useState } from "react";
11
- import { LocaleType } from "../locale/index";
12
- import { CollectProviders } from "../index";
10
+ import { CollectProviders, LocaleType } from "../index";
13
11
  import { gql, query } from "@knockout-js/ice-urql/request";
14
12
  import { iceUrqlInstance } from "../index";
15
13
  import { OpenWin } from "../icons/index";
16
14
  import { logoBase64 } from "./logo";
17
- import GatherMenu from "../gather-menu/index";
15
+ import AggregateMenu from "../aggregate-menu/index";
18
16
  import { BarsOutlined } from "@ant-design/icons";
17
+ import { listFormatTreeData } from "../_util/index";
19
18
  const userMenuListQuery = gql(/* GraphQL */ `query userMenuList($appCode:String!){
20
19
  userMenus(appCode: $appCode){
21
20
  id,parentID,kind,name,comments,displaySort,icon,route
22
21
  }
23
22
  }`);
24
23
  const Layout = (props)=>{
25
- const [locale, setLocale] = useState(LocaleType.zhCN);
26
- const [open, setOpen] = useState(false);
27
- // 根据列表格式化成菜单树结构
28
- const listFormatTree = useCallback((list, parentList)=>{
29
- if (!parentList) parentList = list.filter((item)=>item.parentId == '0');
30
- parentList.forEach((pItem)=>{
31
- let children = list.filter((allItem)=>allItem.parentId == pItem.key);
32
- if (children && children.length) pItem.children = listFormatTree(list, children);
33
- });
34
- return parentList;
35
- }, []);
36
- const isGatherMenu = !!props.gatherMenuProps;
24
+ var _props_themeSwitchProps;
25
+ var _props_locale, _props_themeSwitchProps_value;
37
26
  return /*#__PURE__*/ _jsxs(CollectProviders, {
38
- locale: locale,
39
- dark: props.themeSwitchProps.value,
27
+ locale: (_props_locale = props.locale) !== null && _props_locale !== void 0 ? _props_locale : LocaleType.zhCN,
28
+ appCode: props.appCode,
29
+ tenantId: props.tenantProps.value,
30
+ 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,
40
31
  pathname: props.pathname,
41
32
  children: [
42
33
  /*#__PURE__*/ _jsx(ProLayout, _object_spread_props(_object_spread({
43
34
  className: styles.layout,
44
35
  headerTitleRender: (logo, title)=>{
36
+ var _props_aggregateMenuProps;
45
37
  return /*#__PURE__*/ _jsxs(_Fragment, {
46
38
  children: [
47
- isGatherMenu ? /*#__PURE__*/ _jsx(BarsOutlined, {
39
+ typeof ((_props_aggregateMenuProps = props.aggregateMenuProps) === null || _props_aggregateMenuProps === void 0 ? void 0 : _props_aggregateMenuProps.open) === 'boolean' ? /*#__PURE__*/ _jsx(BarsOutlined, {
48
40
  rev: undefined,
49
41
  style: {
50
42
  fontSize: 20,
51
43
  marginRight: 10
52
44
  },
53
45
  onClick: ()=>{
54
- setOpen(true);
46
+ var _props_aggregateMenuProps, _props_aggregateMenuProps_onChangeOpen;
47
+ (_props_aggregateMenuProps = props.aggregateMenuProps) === null || _props_aggregateMenuProps === void 0 ? void 0 : (_props_aggregateMenuProps_onChangeOpen = _props_aggregateMenuProps.onChangeOpen) === null || _props_aggregateMenuProps_onChangeOpen === void 0 ? void 0 : _props_aggregateMenuProps_onChangeOpen.call(_props_aggregateMenuProps, true);
55
48
  }
56
49
  }) : /*#__PURE__*/ _jsx(_Fragment, {}),
57
50
  logo,
@@ -67,7 +60,7 @@ const Layout = (props)=>{
67
60
  layout: "mix",
68
61
  fixSiderbar: true,
69
62
  suppressSiderWhenMenuEmpty: true,
70
- menu: isGatherMenu ? /*#__PURE__*/ _jsx(_Fragment, {}) : {
63
+ menu: {
71
64
  locale: true,
72
65
  request: async ()=>{
73
66
  var _result_data;
@@ -77,7 +70,10 @@ const Layout = (props)=>{
77
70
  instanceName: iceUrqlInstance.ucenter
78
71
  });
79
72
  if ((_result_data = result.data) === null || _result_data === void 0 ? void 0 : _result_data.userMenus.length) {
80
- const meunList = result.data.userMenus.map((item)=>{
73
+ const meunList = result.data.userMenus.sort((d1, d2)=>{
74
+ const d1Sort = d1.displaySort || 0, d2Sort = d2.displaySort || 0;
75
+ return d1.parentID < d2.parentID ? -1 : d1.parentID > d2.parentID ? 1 : d1Sort < d2Sort ? -1 : d1Sort > d2Sort ? 1 : 0;
76
+ }).map((item)=>{
81
77
  return {
82
78
  key: item.id,
83
79
  name: item.name,
@@ -90,7 +86,7 @@ const Layout = (props)=>{
90
86
  path: item.route
91
87
  };
92
88
  });
93
- return listFormatTree(meunList);
89
+ return listFormatTreeData(meunList);
94
90
  }
95
91
  return [];
96
92
  }
@@ -99,18 +95,12 @@ const Layout = (props)=>{
99
95
  pathname: props.pathname
100
96
  },
101
97
  actionsRender: ()=>{
102
- return [
103
- /*#__PURE__*/ _jsx(I18nDropdown, {
104
- onChange: (value)=>{
105
- var _props_i18nProps, _props_i18nProps_onChange;
106
- setLocale(value);
107
- (_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);
108
- }
109
- }),
110
- /*#__PURE__*/ _jsx(TenantDropdown, _object_spread({}, props.tenantProps)),
111
- /*#__PURE__*/ _jsx(AvatarDropdown, _object_spread({}, props.avatarProps)),
112
- /*#__PURE__*/ _jsx(ThemeSwitch, _object_spread({}, props.themeSwitchProps))
113
- ];
98
+ const actions = [];
99
+ if (props.i18nProps) actions.push(/*#__PURE__*/ _jsx(I18nDropdown, _object_spread({}, props.i18nProps)));
100
+ actions.push(/*#__PURE__*/ _jsx(TenantDropdown, _object_spread({}, props.tenantProps)));
101
+ actions.push(/*#__PURE__*/ _jsx(AvatarDropdown, _object_spread({}, props.avatarProps)));
102
+ if (props.themeSwitchProps) actions.push(/*#__PURE__*/ _jsx(ThemeSwitch, _object_spread({}, props.themeSwitchProps)));
103
+ return actions;
114
104
  },
115
105
  menuItemRender: (item, defaultDom)=>{
116
106
  return item.path ? /*#__PURE__*/ _jsxs(_Fragment, {
@@ -135,10 +125,7 @@ const Layout = (props)=>{
135
125
  }, props.proLayoutProps), {
136
126
  children: props.children
137
127
  })),
138
- /*#__PURE__*/ _jsx(GatherMenu, _object_spread_props(_object_spread({}, props.gatherMenuProps), {
139
- open: open,
140
- onChangeOpen: setOpen
141
- }))
128
+ /*#__PURE__*/ _jsx(AggregateMenu, _object_spread({}, props.aggregateMenuProps))
142
129
  ]
143
130
  });
144
131
  };
@@ -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, useCallback, useState } from 'react';\r\nimport { UserMenuListQuery, UserMenuListQueryVariables } from '@knockout-js/api';\r\nimport { LocaleType } from '../locale';\r\nimport { CollectProviders } 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 GatherMenu, { GatherMenuProps } from '../gather-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?: React.FC<IconFontProps<string>>;\r\n /**\r\n * 集成菜单\r\n */\r\n gatherMenuProps?: GatherMenuProps;\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?: (item: MenuDataItem & {\r\n isUrl: boolean;\r\n onClick: () => void;\r\n },\r\n isOpen?: boolean) => 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 const [open, setOpen] = useState(false);\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 const isGatherMenu = !!props.gatherMenuProps;\r\n\r\n return (\r\n <CollectProviders\r\n locale={locale}\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 {isGatherMenu ? <BarsOutlined\r\n rev={undefined}\r\n style={{ fontSize: 20, marginRight: 10 }}\r\n onClick={() => {\r\n setOpen(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={isGatherMenu ? <></> : {\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.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 <GatherMenu\r\n {...props.gatherMenuProps}\r\n open={open}\r\n onChangeOpen={setOpen}\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","LocaleType","CollectProviders","gql","query","iceUrqlInstance","OpenWin","logoBase64","GatherMenu","BarsOutlined","userMenuListQuery","Layout","props","locale","setLocale","zhCN","open","setOpen","listFormatTree","list","parentList","filter","item","parentId","forEach","pItem","children","allItem","key","length","isGatherMenu","gatherMenuProps","dark","themeSwitchProps","value","pathname","className","layout","headerTitleRender","logo","title","rev","undefined","style","fontSize","marginRight","onClick","img","src","alt","fixSiderbar","suppressSiderWhenMenuEmpty","menu","request","result","appCode","instanceName","ucenter","data","userMenus","meunList","map","id","name","icon","IconFont","type","i","parentID","path","route","location","actionsRender","onChange","i18nProps","tenantProps","avatarProps","menuItemRender","defaultDom","a","onClickMenuItem","menuIconPopup","proLayoutProps","onChangeOpen"],"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 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","instanceName","ucenter","data","userMenus","length","meunList","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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"}
@@ -2,14 +2,16 @@ import ThemeSwitch from "../theme-switch/locale/en_US";
2
2
  import LeavePrompt from "../leave-prompt/locale/en_US";
3
3
  import AvatarDropdown from "../avatar-dropdown/locale/en_US";
4
4
  import TenantDropdown from "../tenant-dropdown/locale/en_US";
5
- import GatherMenu from "../gather-menu/locale/en_US";
5
+ import AggregateMenu from "../aggregate-menu/locale/en_US";
6
+ import UploadFile from "../upload-file/locale/en_US";
6
7
  const localeValues = {
7
8
  locale: 'en-us',
8
9
  ThemeSwitch,
9
10
  LeavePrompt,
10
11
  AvatarDropdown,
11
12
  TenantDropdown,
12
- GatherMenu
13
+ AggregateMenu,
14
+ UploadFile
13
15
  };
14
16
  export default localeValues;
15
17