@knockout-js/layout 0.0.3-beta.0 → 0.0.4-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 (127) hide show
  1. package/es2017/components/avatar-dropdown/index.js +1 -1
  2. package/es2017/components/avatar-dropdown/index.js.map +1 -1
  3. package/es2017/components/avatar-dropdown/locale/en_US.js +1 -1
  4. package/es2017/components/avatar-dropdown/locale/en_US.js.map +1 -1
  5. package/es2017/components/avatar-dropdown/locale/zh_CN.js +1 -1
  6. package/es2017/components/avatar-dropdown/locale/zh_CN.js.map +1 -1
  7. package/es2017/components/collect-providers/index.js +3 -6
  8. package/es2017/components/collect-providers/index.js.map +1 -1
  9. package/es2017/components/gather-menu/index.d.ts +34 -0
  10. package/es2017/components/gather-menu/index.js +278 -0
  11. package/es2017/components/gather-menu/index.js.map +1 -0
  12. package/es2017/components/gather-menu/index.module.css +120 -0
  13. package/es2017/components/gather-menu/locale/en_US.d.ts +3 -0
  14. package/es2017/components/gather-menu/locale/en_US.js +7 -0
  15. package/es2017/components/gather-menu/locale/en_US.js.map +1 -0
  16. package/es2017/components/gather-menu/locale/zh_CN.d.ts +3 -0
  17. package/es2017/components/gather-menu/locale/zh_CN.js +7 -0
  18. package/es2017/components/gather-menu/locale/zh_CN.js.map +1 -0
  19. package/es2017/components/i18n-dropdown/index.js +1 -1
  20. package/es2017/components/i18n-dropdown/index.js.map +1 -1
  21. package/es2017/components/icons/index.js +3 -3
  22. package/es2017/components/icons/index.js.map +1 -1
  23. package/es2017/components/index.d.ts +2 -0
  24. package/es2017/components/index.js +3 -1
  25. package/es2017/components/index.js.map +1 -1
  26. package/es2017/components/keep-alive/index.js +4 -8
  27. package/es2017/components/keep-alive/index.js.map +1 -1
  28. package/es2017/components/layout/index.d.ts +5 -0
  29. package/es2017/components/layout/index.js +108 -83
  30. package/es2017/components/layout/index.js.map +1 -1
  31. package/es2017/components/layout/logo.js +1 -1
  32. package/es2017/components/layout/logo.js.map +1 -1
  33. package/es2017/components/leave-prompt/index.js +5 -10
  34. package/es2017/components/leave-prompt/index.js.map +1 -1
  35. package/es2017/components/leave-prompt/locale/en_US.js +1 -1
  36. package/es2017/components/leave-prompt/locale/en_US.js.map +1 -1
  37. package/es2017/components/leave-prompt/locale/zh_CN.js +1 -1
  38. package/es2017/components/leave-prompt/locale/zh_CN.js.map +1 -1
  39. package/es2017/components/locale/en_US.js +4 -2
  40. package/es2017/components/locale/en_US.js.map +1 -1
  41. package/es2017/components/locale/index.d.ts +2 -0
  42. package/es2017/components/locale/index.js +3 -5
  43. package/es2017/components/locale/index.js.map +1 -1
  44. package/es2017/components/locale/zh_CN.js +4 -2
  45. package/es2017/components/locale/zh_CN.js.map +1 -1
  46. package/es2017/components/modal/index.d.ts +18 -0
  47. package/es2017/components/modal/index.js +89 -0
  48. package/es2017/components/modal/index.js.map +1 -0
  49. package/es2017/components/modal/index.module.css +20 -0
  50. package/es2017/components/tenant-dropdown/index.js +4 -9
  51. package/es2017/components/tenant-dropdown/index.js.map +1 -1
  52. package/es2017/components/tenant-dropdown/locale/en_US.js +1 -1
  53. package/es2017/components/tenant-dropdown/locale/en_US.js.map +1 -1
  54. package/es2017/components/tenant-dropdown/locale/zh_CN.js +1 -1
  55. package/es2017/components/tenant-dropdown/locale/zh_CN.js.map +1 -1
  56. package/es2017/components/theme-switch/index.js +3 -3
  57. package/es2017/components/theme-switch/index.js.map +1 -1
  58. package/es2017/components/theme-switch/locale/en_US.js +1 -1
  59. package/es2017/components/theme-switch/locale/en_US.js.map +1 -1
  60. package/es2017/components/theme-switch/locale/zh_CN.js +1 -1
  61. package/es2017/components/theme-switch/locale/zh_CN.js.map +1 -1
  62. package/es2017/index.js +1 -1
  63. package/es2017/index.js.map +1 -1
  64. package/esm/components/avatar-dropdown/index.js +1 -1
  65. package/esm/components/avatar-dropdown/index.js.map +1 -1
  66. package/esm/components/avatar-dropdown/locale/en_US.js +1 -1
  67. package/esm/components/avatar-dropdown/locale/en_US.js.map +1 -1
  68. package/esm/components/avatar-dropdown/locale/zh_CN.js +1 -1
  69. package/esm/components/avatar-dropdown/locale/zh_CN.js.map +1 -1
  70. package/esm/components/collect-providers/index.js +4 -7
  71. package/esm/components/collect-providers/index.js.map +1 -1
  72. package/esm/components/gather-menu/index.d.ts +34 -0
  73. package/esm/components/gather-menu/index.js +320 -0
  74. package/esm/components/gather-menu/index.js.map +1 -0
  75. package/esm/components/gather-menu/index.module.css +120 -0
  76. package/esm/components/gather-menu/locale/en_US.d.ts +3 -0
  77. package/esm/components/gather-menu/locale/en_US.js +7 -0
  78. package/esm/components/gather-menu/locale/en_US.js.map +1 -0
  79. package/esm/components/gather-menu/locale/zh_CN.d.ts +3 -0
  80. package/esm/components/gather-menu/locale/zh_CN.js +7 -0
  81. package/esm/components/gather-menu/locale/zh_CN.js.map +1 -0
  82. package/esm/components/i18n-dropdown/index.js +2 -2
  83. package/esm/components/i18n-dropdown/index.js.map +1 -1
  84. package/esm/components/icons/index.js +3 -3
  85. package/esm/components/icons/index.js.map +1 -1
  86. package/esm/components/index.d.ts +2 -0
  87. package/esm/components/index.js +3 -1
  88. package/esm/components/index.js.map +1 -1
  89. package/esm/components/keep-alive/index.js +4 -8
  90. package/esm/components/keep-alive/index.js.map +1 -1
  91. package/esm/components/layout/index.d.ts +5 -0
  92. package/esm/components/layout/index.js +129 -104
  93. package/esm/components/layout/index.js.map +1 -1
  94. package/esm/components/layout/logo.js +1 -1
  95. package/esm/components/layout/logo.js.map +1 -1
  96. package/esm/components/leave-prompt/index.js +5 -10
  97. package/esm/components/leave-prompt/index.js.map +1 -1
  98. package/esm/components/leave-prompt/locale/en_US.js +1 -1
  99. package/esm/components/leave-prompt/locale/en_US.js.map +1 -1
  100. package/esm/components/leave-prompt/locale/zh_CN.js +1 -1
  101. package/esm/components/leave-prompt/locale/zh_CN.js.map +1 -1
  102. package/esm/components/locale/en_US.js +4 -2
  103. package/esm/components/locale/en_US.js.map +1 -1
  104. package/esm/components/locale/index.d.ts +2 -0
  105. package/esm/components/locale/index.js +3 -5
  106. package/esm/components/locale/index.js.map +1 -1
  107. package/esm/components/locale/zh_CN.js +4 -2
  108. package/esm/components/locale/zh_CN.js.map +1 -1
  109. package/esm/components/modal/index.d.ts +18 -0
  110. package/esm/components/modal/index.js +90 -0
  111. package/esm/components/modal/index.js.map +1 -0
  112. package/esm/components/modal/index.module.css +20 -0
  113. package/esm/components/tenant-dropdown/index.js +7 -12
  114. package/esm/components/tenant-dropdown/index.js.map +1 -1
  115. package/esm/components/tenant-dropdown/locale/en_US.js +1 -1
  116. package/esm/components/tenant-dropdown/locale/en_US.js.map +1 -1
  117. package/esm/components/tenant-dropdown/locale/zh_CN.js +1 -1
  118. package/esm/components/tenant-dropdown/locale/zh_CN.js.map +1 -1
  119. package/esm/components/theme-switch/index.js +3 -3
  120. package/esm/components/theme-switch/index.js.map +1 -1
  121. package/esm/components/theme-switch/locale/en_US.js +1 -1
  122. package/esm/components/theme-switch/locale/en_US.js.map +1 -1
  123. package/esm/components/theme-switch/locale/zh_CN.js +1 -1
  124. package/esm/components/theme-switch/locale/zh_CN.js.map +1 -1
  125. package/esm/index.js +1 -1
  126. package/esm/index.js.map +1 -1
  127. package/package.json +7 -3
@@ -1 +1 @@
1
- {"version":3,"sources":[".\\src\\components\\icons\\index.tsx"],"sourcesContent":["import { SVGProps } from \"react\"\r\n\r\nexport const OpenWin = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => {\r\n return <svg\r\n fill=\"currentColor\"\r\n viewBox=\"0 0 1024 1024\"\r\n p-id=\"19410\"\r\n width=\"12\"\r\n height=\"12\"\r\n {...props}\r\n >\r\n <path d=\"M398.506667 960H160q-39.765333 0-67.882667-28.117333-28.117333-28.117333-28.117333-67.882667V160q0-39.765333 28.117333-67.882667Q120.234667 64 160 64h704q39.765333 0 67.882667 28.117333 28.117333 28.117333 28.117333 67.882667v149.333333a32 32 0 0 1-32 32H128v522.666667q0 13.226667 9.386667 22.613333 9.386667 9.386667 22.613333 9.386667h238.506667a32 32 0 0 1 0 64zM128 160V277.333333h768V160q0-13.226667-9.386667-22.613333-9.386667-9.386667-22.613333-9.386667H160q-13.226667 0-22.613333 9.386667-9.386667 9.386667-9.386667 22.613333z m800.512 341.333333H672a32 32 0 0 0 0 64h178.773333l-340.053333 340.053334a32 32 0 0 0 45.226667 45.226666L896 610.602667v178.773333a32 32 0 0 0 64 0v-255.573333a31.914667 31.914667 0 0 0-31.488-32.426667z\" p-id=\"19411\"></path>\r\n </svg>\r\n}\r\n"],"names":["OpenWin","props","svg","fill","viewBox","p-id","width","height","path","d"],"mappings":";;;AAEA,OAAO,MAAMA,UAAU,CAACC,QAA6D;IACnF,qBAAO,KAACC;QACNC,MAAK;QACLC,SAAQ;QACRC,QAAK;QACLC,OAAM;QACNC,QAAO;OACHN;kBAEJ,cAAA,KAACO;YAAKC,GAAE;YAAwuBJ,QAAK;;;AAEzvB,EAAC"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\icons\\index.tsx"],"sourcesContent":["import { SVGProps } from \"react\"\r\n\r\nexport const OpenWin = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => {\r\n return <svg\r\n fill=\"currentColor\"\r\n viewBox=\"0 0 1024 1024\"\r\n p-id=\"19410\"\r\n width=\"12\"\r\n height=\"12\"\r\n {...props}\r\n >\r\n <path d=\"M398.506667 960H160q-39.765333 0-67.882667-28.117333-28.117333-28.117333-28.117333-67.882667V160q0-39.765333 28.117333-67.882667Q120.234667 64 160 64h704q39.765333 0 67.882667 28.117333 28.117333 28.117333 28.117333 67.882667v149.333333a32 32 0 0 1-32 32H128v522.666667q0 13.226667 9.386667 22.613333 9.386667 9.386667 22.613333 9.386667h238.506667a32 32 0 0 1 0 64zM128 160V277.333333h768V160q0-13.226667-9.386667-22.613333-9.386667-9.386667-22.613333-9.386667H160q-13.226667 0-22.613333 9.386667-9.386667 9.386667-9.386667 22.613333z m800.512 341.333333H672a32 32 0 0 0 0 64h178.773333l-340.053333 340.053334a32 32 0 0 0 45.226667 45.226666L896 610.602667v178.773333a32 32 0 0 0 64 0v-255.573333a31.914667 31.914667 0 0 0-31.488-32.426667z\" p-id=\"19411\"></path>\r\n </svg>\r\n}\r\n"],"names":["OpenWin","props","svg","fill","viewBox","p-id","width","height","path","d"],"mappings":";;;AAEA,OAAO,MAAMA,UAAU,CAACC,QAA6D;IACnF,qBAAO,KAACC;QACNC,MAAK;QACLC,SAAQ;QACRC,QAAK;QACLC,OAAM;QACNC,QAAO;OACHN;kBAEJ,cAAA,KAACO;YAAKC,GAAE;YAAwuBJ,QAAK;;;AAEzvB,EAAC"}
@@ -7,6 +7,8 @@ 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
9
  export { default as Layout } from './layout';
10
+ export { default as Modal, type ModalProps } from './modal';
11
+ export { default as GatherMenu, type GatherMenuDataSource } from './gather-menu';
10
12
  export declare enum iceUrqlInstance {
11
13
  ucenter = "ucenter"
12
14
  }
@@ -7,9 +7,11 @@ 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
9
  export { default as Layout } from "./layout/index";
10
+ export { default as Modal } from "./modal/index";
11
+ export { default as GatherMenu } from "./gather-menu/index";
10
12
  export var iceUrqlInstance;
11
13
  (function(iceUrqlInstance) {
12
14
  iceUrqlInstance["ucenter"] = "ucenter";
13
15
  })(iceUrqlInstance || (iceUrqlInstance = {}));
14
16
 
15
- //# sourceMappingURL=index.js.map
17
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[".\\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 enum iceUrqlInstance {\r\n ucenter = \"ucenter\"\r\n}\r\n"],"names":["default","BasicProvider","BasicContext","LocaleType","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","Layout","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;WACtC;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 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"}
@@ -4,13 +4,9 @@ import KeepAlive, { useAliveController } from "react-activation";
4
4
  const KA = (props)=>{
5
5
  const cacheKey = btoa(location.pathname), { dropScope , getCachingNodes } = useAliveController();
6
6
  useEffect(()=>{
7
- if (props.clearAlive) {
8
- getCachingNodes().forEach((item)=>{
9
- if (item.name && cacheKey != item.name) {
10
- dropScope(item.name);
11
- }
12
- });
13
- }
7
+ if (props.clearAlive) getCachingNodes().forEach((item)=>{
8
+ if (item.name && cacheKey != item.name) dropScope(item.name);
9
+ });
14
10
  }, [
15
11
  props.clearAlive
16
12
  ]);
@@ -26,4 +22,4 @@ const KA = (props)=>{
26
22
  KA.defaultProps = {};
27
23
  export default KA;
28
24
 
29
- //# sourceMappingURL=index.js.map
25
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\keep-alive\index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[".\\src\\components\\keep-alive\\index.tsx"],"sourcesContent":["import { ReactNode, useEffect } from 'react';\r\nimport KeepAlive, { useAliveController } from 'react-activation';\r\n\r\nexport interface KeepAliveProps {\r\n /**\r\n * 在相同 location.pathname 通过传入id去区分\r\n */\r\n id?: string;\r\n /**\r\n * 是否需要清空其他keepalive缓存\r\n */\r\n clearAlive?: boolean;\r\n /**\r\n * 默认插槽\r\n */\r\n children: ReactNode;\r\n}\r\n\r\nconst KA: React.FunctionComponent<React.PropsWithChildren<KeepAliveProps>> = (props: KeepAliveProps) => {\r\n const cacheKey = btoa(location.pathname),\r\n { dropScope, getCachingNodes } = useAliveController();\r\n\r\n useEffect(() => {\r\n if (props.clearAlive) {\r\n getCachingNodes().forEach(item => {\r\n if (item.name && cacheKey != item.name) {\r\n dropScope(item.name);\r\n }\r\n });\r\n }\r\n }, [props.clearAlive]);\r\n\r\n return (<KeepAlive when autoFreeze={false} cacheKey={cacheKey} name={cacheKey} id={props.id}>\r\n {props.children}\r\n </KeepAlive>);\r\n}\r\n\r\nKA.defaultProps = {}\r\n\r\nexport default KA;\r\n"],"names":["useEffect","KeepAlive","useAliveController","KA","props","cacheKey","btoa","location","pathname","dropScope","getCachingNodes","clearAlive","forEach","item","name","when","autoFreeze","id","children","defaultProps"],"mappings":";AAAA,SAAoBA,SAAS,QAAQ,QAAQ;AAC7C,OAAOC,aAAaC,kBAAkB,QAAQ,mBAAmB;AAiBjE,MAAMC,KAAuE,CAACC,QAA0B;IACtG,MAAMC,WAAWC,KAAKC,SAASC,QAAQ,GACrC,EAAEC,UAAS,EAAEC,gBAAe,EAAE,GAAGR;IAEnCF,UAAU,IAAM;QACd,IAAII,MAAMO,UAAU,EAAE;YACpBD,kBAAkBE,OAAO,CAACC,CAAAA,OAAQ;gBAChC,IAAIA,KAAKC,IAAI,IAAIT,YAAYQ,KAAKC,IAAI,EAAE;oBACtCL,UAAUI,KAAKC,IAAI;gBACrB,CAAC;YACH;QACF,CAAC;IACH,GAAG;QAACV,MAAMO,UAAU;KAAC;IAErB,qBAAQ,KAACV;QAAUc,IAAI;QAACC,YAAY,KAAK;QAAEX,UAAUA;QAAUS,MAAMT;QAAUY,IAAIb,MAAMa,EAAE;kBACxFb,MAAMc,QAAQ;;AAEnB;AAEAf,GAAGgB,YAAY,GAAG,CAAC;AAEnB,eAAehB,GAAG"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\keep-alive\\index.tsx"],"sourcesContent":["import { ReactNode, useEffect } from 'react';\r\nimport KeepAlive, { useAliveController } from 'react-activation';\r\n\r\nexport interface KeepAliveProps {\r\n /**\r\n * 在相同 location.pathname 通过传入id去区分\r\n */\r\n id?: string;\r\n /**\r\n * 是否需要清空其他keepalive缓存\r\n */\r\n clearAlive?: boolean;\r\n /**\r\n * 默认插槽\r\n */\r\n children: ReactNode;\r\n}\r\n\r\nconst KA: React.FunctionComponent<React.PropsWithChildren<KeepAliveProps>> = (props: KeepAliveProps) => {\r\n const cacheKey = btoa(location.pathname),\r\n { dropScope, getCachingNodes } = useAliveController();\r\n\r\n useEffect(() => {\r\n if (props.clearAlive) {\r\n getCachingNodes().forEach(item => {\r\n if (item.name && cacheKey != item.name) {\r\n dropScope(item.name);\r\n }\r\n });\r\n }\r\n }, [props.clearAlive]);\r\n\r\n return (<KeepAlive when autoFreeze={false} cacheKey={cacheKey} name={cacheKey} id={props.id}>\r\n {props.children}\r\n </KeepAlive>);\r\n}\r\n\r\nKA.defaultProps = {}\r\n\r\nexport default KA;\r\n"],"names":["useEffect","KeepAlive","useAliveController","KA","props","cacheKey","btoa","location","pathname","dropScope","getCachingNodes","clearAlive","forEach","item","name","when","autoFreeze","id","children","defaultProps"],"mappings":";AAAA,SAAoBA,SAAS,QAAQ,QAAQ;AAC7C,OAAOC,aAAaC,kBAAkB,QAAQ,mBAAmB;AAiBjE,MAAMC,KAAuE,CAACC,QAA0B;IACtG,MAAMC,WAAWC,KAAKC,SAASC,QAAQ,GACrC,EAAEC,UAAS,EAAEC,gBAAe,EAAE,GAAGR;IAEnCF,UAAU,IAAM;QACd,IAAII,MAAMO,UAAU,EAClBD,kBAAkBE,OAAO,CAACC,CAAAA,OAAQ;YAChC,IAAIA,KAAKC,IAAI,IAAIT,YAAYQ,KAAKC,IAAI,EACpCL,UAAUI,KAAKC,IAAI;QAEvB;IAEJ,GAAG;QAACV,MAAMO,UAAU;KAAC;IAErB,qBAAQ,KAACV;QAAUc,IAAI;QAACC,YAAY,KAAK;QAAEX,UAAUA;QAAUS,MAAMT;QAAUY,IAAIb,MAAMa,EAAE;kBACxFb,MAAMc,QAAQ;;AAEnB;AAEAf,GAAGgB,YAAY,GAAG,CAAC;AAEnB,eAAehB,GAAG"}
@@ -5,6 +5,7 @@ import { AvatarDropdownProps } from '../avatar-dropdown';
5
5
  import { ThemeSwitchProps } from '../theme-switch';
6
6
  import { ReactNode } from 'react';
7
7
  import { IconFontProps } from '@ant-design/icons/lib/components/IconFont';
8
+ import { GatherMenuProps } from '../gather-menu';
8
9
  export interface LayoutProps {
9
10
  /**
10
11
  * 应用code
@@ -18,6 +19,10 @@ export interface LayoutProps {
18
19
  * 菜单启用iconfont
19
20
  */
20
21
  IconFont?: React.FC<IconFontProps<string>>;
22
+ /**
23
+ * 集成菜单
24
+ */
25
+ gatherMenuProps?: GatherMenuProps;
21
26
  /**
22
27
  * I18nDropdown组件对应的参数
23
28
  */
@@ -1,5 +1,5 @@
1
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
1
+ import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
+ import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
3
3
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runtime/jsx-runtime";
4
4
  import { ProLayout } from "@ant-design/pro-layout";
5
5
  import I18nDropdown from "../i18n-dropdown/index";
@@ -14,6 +14,8 @@ import { gql, query } from "@knockout-js/ice-urql/request";
14
14
  import { iceUrqlInstance } from "../index";
15
15
  import { OpenWin } from "../icons/index";
16
16
  import { logoBase64 } from "./logo";
17
+ import GatherMenu from "../gather-menu/index";
18
+ import { BarsOutlined } from "@ant-design/icons";
17
19
  const userMenuListQuery = gql(/* GraphQL */ `query userMenuList($appCode:String!){
18
20
  userMenus(appCode: $appCode){
19
21
  id,parentID,kind,name,comments,displaySort,icon,route
@@ -21,102 +23,125 @@ const userMenuListQuery = gql(/* GraphQL */ `query userMenuList($appCode:String!
21
23
  }`);
22
24
  const Layout = (props)=>{
23
25
  const [locale, setLocale] = useState(LocaleType.zhCN);
26
+ const [open, setOpen] = useState(false);
24
27
  // 根据列表格式化成菜单树结构
25
28
  const listFormatTree = useCallback((list, parentList)=>{
26
- if (!parentList) {
27
- parentList = list.filter((item)=>item.parentId == '0');
28
- }
29
+ if (!parentList) parentList = list.filter((item)=>item.parentId == '0');
29
30
  parentList.forEach((pItem)=>{
30
31
  let children = list.filter((allItem)=>allItem.parentId == pItem.key);
31
- if (children && children.length) {
32
- pItem.children = listFormatTree(list, children);
33
- }
32
+ if (children && children.length) pItem.children = listFormatTree(list, children);
34
33
  });
35
34
  return parentList;
36
35
  }, []);
37
- return /*#__PURE__*/ _jsx(CollectProviders, {
36
+ const isGatherMenu = !!props.gatherMenuProps;
37
+ return /*#__PURE__*/ _jsxs(CollectProviders, {
38
38
  locale: locale,
39
39
  dark: props.themeSwitchProps.value,
40
40
  pathname: props.pathname,
41
- children: /*#__PURE__*/ _jsx(ProLayout, _object_spread_props(_object_spread({
42
- className: styles.layout,
43
- title: "adminx",
44
- logo: /*#__PURE__*/ _jsx("img", {
45
- src: logoBase64,
46
- alt: "logo"
47
- }),
48
- layout: "mix",
49
- fixSiderbar: true,
50
- menu: {
51
- locale: true,
52
- request: async ()=>{
53
- var _result_data;
54
- const result = await query(userMenuListQuery, {
55
- appCode: props.appCode
56
- }, {
57
- instanceName: iceUrqlInstance.ucenter
41
+ children: [
42
+ /*#__PURE__*/ _jsx(ProLayout, _object_spread_props(_object_spread({
43
+ className: styles.layout,
44
+ headerTitleRender: (logo, title)=>{
45
+ return /*#__PURE__*/ _jsxs(_Fragment, {
46
+ children: [
47
+ isGatherMenu ? /*#__PURE__*/ _jsx(BarsOutlined, {
48
+ rev: undefined,
49
+ style: {
50
+ fontSize: 20,
51
+ marginRight: 10
52
+ },
53
+ onClick: ()=>{
54
+ setOpen(true);
55
+ }
56
+ }) : /*#__PURE__*/ _jsx(_Fragment, {}),
57
+ logo,
58
+ title
59
+ ]
58
60
  });
59
- if ((_result_data = result.data) === null || _result_data === void 0 ? void 0 : _result_data.userMenus.length) {
60
- const meunList = result.data.userMenus.map((item)=>{
61
- return {
62
- key: item.id,
63
- name: item.name,
64
- icon: item.icon ? props.IconFont ? /*#__PURE__*/ _jsx(props.IconFont, {
65
- type: item.icon
66
- }) : /*#__PURE__*/ _jsx("i", {
67
- className: item.icon
68
- }) : undefined,
69
- parentId: item.parentID,
70
- path: item.route
71
- };
61
+ },
62
+ title: "adminx",
63
+ logo: /*#__PURE__*/ _jsx("img", {
64
+ src: logoBase64,
65
+ alt: "logo"
66
+ }),
67
+ layout: "mix",
68
+ fixSiderbar: true,
69
+ suppressSiderWhenMenuEmpty: true,
70
+ menu: isGatherMenu ? /*#__PURE__*/ _jsx(_Fragment, {}) : {
71
+ locale: true,
72
+ request: async ()=>{
73
+ var _result_data;
74
+ const result = await query(userMenuListQuery, {
75
+ appCode: props.appCode
76
+ }, {
77
+ instanceName: iceUrqlInstance.ucenter
72
78
  });
73
- return listFormatTree(meunList);
74
- }
75
- return [];
76
- }
77
- },
78
- location: {
79
- pathname: props.pathname
80
- },
81
- actionsRender: ()=>{
82
- return [
83
- /*#__PURE__*/ _jsx(I18nDropdown, {
84
- onChange: (value)=>{
85
- var _props_i18nProps, _props_i18nProps_onChange;
86
- setLocale(value);
87
- (_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);
79
+ if ((_result_data = result.data) === null || _result_data === void 0 ? void 0 : _result_data.userMenus.length) {
80
+ const meunList = result.data.userMenus.map((item)=>{
81
+ return {
82
+ key: item.id,
83
+ name: item.name,
84
+ icon: item.icon ? props.IconFont ? /*#__PURE__*/ _jsx(props.IconFont, {
85
+ type: item.icon
86
+ }) : /*#__PURE__*/ _jsx("i", {
87
+ className: item.icon
88
+ }) : undefined,
89
+ parentId: item.parentID,
90
+ path: item.route
91
+ };
92
+ });
93
+ return listFormatTree(meunList);
88
94
  }
89
- }),
90
- /*#__PURE__*/ _jsx(TenantDropdown, _object_spread({}, props.tenantProps)),
91
- /*#__PURE__*/ _jsx(AvatarDropdown, _object_spread({}, props.avatarProps)),
92
- /*#__PURE__*/ _jsx(ThemeSwitch, _object_spread({}, props.themeSwitchProps))
93
- ];
94
- },
95
- menuItemRender: (item, defaultDom)=>{
96
- return item.path ? /*#__PURE__*/ _jsxs(_Fragment, {
97
- children: [
98
- /*#__PURE__*/ _jsx("a", {
99
- onClick: ()=>{
100
- var _props_onClickMenuItem;
101
- (_props_onClickMenuItem = props.onClickMenuItem) === null || _props_onClickMenuItem === void 0 ? void 0 : _props_onClickMenuItem.call(props, item, false);
102
- },
103
- children: defaultDom
104
- }),
105
- /*#__PURE__*/ _jsx(OpenWin, {
106
- className: styles.menuIconPopup,
107
- onClick: ()=>{
108
- var _props_onClickMenuItem;
109
- (_props_onClickMenuItem = props.onClickMenuItem) === null || _props_onClickMenuItem === void 0 ? void 0 : _props_onClickMenuItem.call(props, item, true);
95
+ return [];
96
+ }
97
+ },
98
+ location: {
99
+ pathname: props.pathname
100
+ },
101
+ 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);
110
108
  }
111
- })
112
- ]
113
- }) : defaultDom;
114
- }
115
- }, props.proLayoutProps), {
116
- children: props.children
117
- }))
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
+ ];
114
+ },
115
+ menuItemRender: (item, defaultDom)=>{
116
+ return item.path ? /*#__PURE__*/ _jsxs(_Fragment, {
117
+ children: [
118
+ /*#__PURE__*/ _jsx("a", {
119
+ onClick: ()=>{
120
+ var _props_onClickMenuItem;
121
+ (_props_onClickMenuItem = props.onClickMenuItem) === null || _props_onClickMenuItem === void 0 ? void 0 : _props_onClickMenuItem.call(props, item, false);
122
+ },
123
+ children: defaultDom
124
+ }),
125
+ /*#__PURE__*/ _jsx(OpenWin, {
126
+ className: styles.menuIconPopup,
127
+ onClick: ()=>{
128
+ var _props_onClickMenuItem;
129
+ (_props_onClickMenuItem = props.onClickMenuItem) === null || _props_onClickMenuItem === void 0 ? void 0 : _props_onClickMenuItem.call(props, item, true);
130
+ }
131
+ })
132
+ ]
133
+ }) : defaultDom;
134
+ }
135
+ }, props.proLayoutProps), {
136
+ children: props.children
137
+ })),
138
+ /*#__PURE__*/ _jsx(GatherMenu, _object_spread_props(_object_spread({}, props.gatherMenuProps), {
139
+ open: open,
140
+ onChangeOpen: setOpen
141
+ }))
142
+ ]
118
143
  });
119
144
  };
120
145
  export default Layout;
121
146
 
122
- //# sourceMappingURL=index.js.map
147
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\layout\index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[".\\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\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 * 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\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 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 title='adminx'\r\n logo={<img src={logoBase64} alt=\"logo\" />}\r\n layout=\"mix\"\r\n fixSiderbar\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.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 </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","userMenuListQuery","Layout","props","locale","setLocale","zhCN","listFormatTree","list","parentList","filter","item","parentId","forEach","pItem","children","allItem","key","length","dark","themeSwitchProps","value","pathname","className","layout","title","logo","img","src","alt","fixSiderbar","menu","request","result","appCode","instanceName","ucenter","data","userMenus","meunList","map","id","name","icon","IconFont","type","i","undefined","parentID","path","route","location","actionsRender","onChange","i18nProps","tenantProps","avatarProps","menuItemRender","defaultDom","a","onClick","onClickMenuItem","menuIconPopup","proLayoutProps"],"mappings":"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"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\layout\\index.tsx"],"sourcesContent":["import { MenuDataItem, ProLayout, ProLayoutProps } from '@ant-design/pro-layout';\r\nimport I18nDropdown, { I18nDropdownProps } from '../i18n-dropdown';\r\nimport TenantDropdown, { TenantDropdownProps } from '../tenant-dropdown';\r\nimport AvatarDropdown, { AvatarDropdownProps } from '../avatar-dropdown';\r\nimport 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,3 +1,3 @@
1
1
  export const logoBase64 = `data:image/png;base64,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`;
2
2
 
3
- //# sourceMappingURL=logo.js.map
3
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\layout\logo.js.map