@knockout-js/layout 0.0.4-beta.0 → 0.0.4-beta.1
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.
- package/es2017/components/{gather-menu → aggregate-menu}/index.d.ts +7 -9
- package/es2017/components/{gather-menu → aggregate-menu}/index.js +81 -74
- package/es2017/components/aggregate-menu/index.js.map +1 -0
- package/{esm/components/gather-menu → es2017/components/aggregate-menu}/index.module.css +62 -14
- package/es2017/components/aggregate-menu/locale/en_US.d.ts +3 -0
- package/es2017/components/{gather-menu → aggregate-menu}/locale/en_US.js +3 -1
- package/es2017/components/aggregate-menu/locale/en_US.js.map +1 -0
- package/es2017/components/aggregate-menu/locale/zh_CN.d.ts +3 -0
- package/es2017/components/{gather-menu → aggregate-menu}/locale/zh_CN.js +3 -1
- package/es2017/components/aggregate-menu/locale/zh_CN.js.map +1 -0
- package/es2017/components/collect-providers/index.d.ts +9 -1
- package/es2017/components/collect-providers/index.js +5 -3
- package/es2017/components/collect-providers/index.js.map +1 -1
- package/es2017/components/i18n-dropdown/index.d.ts +1 -1
- package/es2017/components/i18n-dropdown/index.js +2 -2
- package/es2017/components/i18n-dropdown/index.js.map +1 -1
- package/es2017/components/index.d.ts +6 -2
- package/es2017/components/index.js +6 -2
- package/es2017/components/index.js.map +1 -1
- package/es2017/components/layout/index.d.ts +5 -5
- package/es2017/components/layout/index.js +14 -13
- package/es2017/components/layout/index.js.map +1 -1
- package/es2017/components/locale/en_US.js +4 -2
- package/es2017/components/locale/en_US.js.map +1 -1
- package/es2017/components/locale/index.d.ts +4 -17
- package/es2017/components/locale/index.js +3 -23
- package/es2017/components/locale/index.js.map +1 -1
- package/es2017/components/locale/zh_CN.js +4 -2
- package/es2017/components/locale/zh_CN.js.map +1 -1
- package/es2017/components/provider/index.d.ts +33 -0
- package/es2017/components/provider/index.js +49 -0
- package/es2017/components/provider/index.js.map +1 -0
- package/es2017/components/tenant-dropdown/index.js +1 -1
- package/es2017/components/tenant-dropdown/index.js.map +1 -1
- package/es2017/components/upload-file/index.d.ts +59 -0
- package/es2017/components/upload-file/index.js +15 -0
- package/es2017/components/upload-file/index.js.map +1 -0
- package/es2017/components/upload-file/index.module.css +13 -0
- package/es2017/components/upload-file/locale/en_US.d.ts +3 -0
- package/es2017/components/upload-file/locale/en_US.js +14 -0
- package/es2017/components/upload-file/locale/en_US.js.map +1 -0
- package/es2017/components/upload-file/locale/zh_CN.d.ts +3 -0
- package/es2017/components/upload-file/locale/zh_CN.js +14 -0
- package/es2017/components/upload-file/locale/zh_CN.js.map +1 -0
- package/es2017/components/upload-file/uploadAvatar.d.ts +4 -0
- package/es2017/components/upload-file/uploadAvatar.js +93 -0
- package/es2017/components/upload-file/uploadAvatar.js.map +1 -0
- package/es2017/components/upload-file/uploadMultiple.d.ts +4 -0
- package/es2017/components/upload-file/uploadMultiple.js +155 -0
- package/es2017/components/upload-file/uploadMultiple.js.map +1 -0
- package/es2017/components/upload-file/uploadTemp.d.ts +9 -0
- package/es2017/components/upload-file/uploadTemp.js +167 -0
- package/es2017/components/upload-file/uploadTemp.js.map +1 -0
- package/esm/components/{gather-menu → aggregate-menu}/index.d.ts +7 -9
- package/esm/components/{gather-menu → aggregate-menu}/index.js +83 -70
- package/esm/components/aggregate-menu/index.js.map +1 -0
- package/{es2017/components/gather-menu → esm/components/aggregate-menu}/index.module.css +62 -14
- package/esm/components/aggregate-menu/locale/en_US.d.ts +3 -0
- package/esm/components/{gather-menu → aggregate-menu}/locale/en_US.js +3 -1
- package/esm/components/aggregate-menu/locale/en_US.js.map +1 -0
- package/esm/components/aggregate-menu/locale/zh_CN.d.ts +3 -0
- package/esm/components/{gather-menu → aggregate-menu}/locale/zh_CN.js +3 -1
- package/esm/components/aggregate-menu/locale/zh_CN.js.map +1 -0
- package/esm/components/collect-providers/index.d.ts +9 -1
- package/esm/components/collect-providers/index.js +5 -3
- package/esm/components/collect-providers/index.js.map +1 -1
- package/esm/components/i18n-dropdown/index.d.ts +1 -1
- package/esm/components/i18n-dropdown/index.js +2 -2
- package/esm/components/i18n-dropdown/index.js.map +1 -1
- package/esm/components/index.d.ts +6 -2
- package/esm/components/index.js +6 -2
- package/esm/components/index.js.map +1 -1
- package/esm/components/layout/index.d.ts +5 -5
- package/esm/components/layout/index.js +14 -13
- package/esm/components/layout/index.js.map +1 -1
- package/esm/components/locale/en_US.js +4 -2
- package/esm/components/locale/en_US.js.map +1 -1
- package/esm/components/locale/index.d.ts +4 -17
- package/esm/components/locale/index.js +3 -23
- package/esm/components/locale/index.js.map +1 -1
- package/esm/components/locale/zh_CN.js +4 -2
- package/esm/components/locale/zh_CN.js.map +1 -1
- package/esm/components/provider/index.d.ts +33 -0
- package/esm/components/provider/index.js +49 -0
- package/esm/components/provider/index.js.map +1 -0
- package/esm/components/tenant-dropdown/index.js +1 -1
- package/esm/components/tenant-dropdown/index.js.map +1 -1
- package/esm/components/upload-file/index.d.ts +59 -0
- package/esm/components/upload-file/index.js +15 -0
- package/esm/components/upload-file/index.js.map +1 -0
- package/esm/components/upload-file/index.module.css +13 -0
- package/esm/components/upload-file/locale/en_US.d.ts +3 -0
- package/esm/components/upload-file/locale/en_US.js +14 -0
- package/esm/components/upload-file/locale/en_US.js.map +1 -0
- package/esm/components/upload-file/locale/zh_CN.d.ts +3 -0
- package/esm/components/upload-file/locale/zh_CN.js +14 -0
- package/esm/components/upload-file/locale/zh_CN.js.map +1 -0
- package/esm/components/upload-file/uploadAvatar.d.ts +4 -0
- package/esm/components/upload-file/uploadAvatar.js +191 -0
- package/esm/components/upload-file/uploadAvatar.js.map +1 -0
- package/esm/components/upload-file/uploadMultiple.d.ts +4 -0
- package/esm/components/upload-file/uploadMultiple.js +308 -0
- package/esm/components/upload-file/uploadMultiple.js.map +1 -0
- package/esm/components/upload-file/uploadTemp.d.ts +9 -0
- package/esm/components/upload-file/uploadTemp.js +293 -0
- package/esm/components/upload-file/uploadTemp.js.map +1 -0
- package/package.json +4 -4
- package/es2017/components/gather-menu/index.js.map +0 -1
- package/es2017/components/gather-menu/locale/en_US.d.ts +0 -3
- package/es2017/components/gather-menu/locale/en_US.js.map +0 -1
- package/es2017/components/gather-menu/locale/zh_CN.d.ts +0 -3
- package/es2017/components/gather-menu/locale/zh_CN.js.map +0 -1
- package/esm/components/gather-menu/index.js.map +0 -1
- package/esm/components/gather-menu/locale/en_US.d.ts +0 -3
- package/esm/components/gather-menu/locale/en_US.js.map +0 -1
- package/esm/components/gather-menu/locale/zh_CN.d.ts +0 -3
- package/esm/components/gather-menu/locale/zh_CN.js.map +0 -1
|
@@ -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 {
|
|
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
|
|
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,13 @@ 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
|
|
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';
|
|
12
16
|
export declare enum iceUrqlInstance {
|
|
13
17
|
ucenter = "ucenter"
|
|
14
18
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default as
|
|
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,13 @@ 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
|
|
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";
|
|
12
16
|
export var iceUrqlInstance;
|
|
13
17
|
(function(iceUrqlInstance) {
|
|
14
18
|
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
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport enum iceUrqlInstance {\r\n ucenter = \"ucenter\"\r\n}\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","iceUrqlInstance","ucenter"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,0BAAoB;AAC9D,SAASN,WAAWO,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAASR,WAAWS,YAAY,QAAQ,wBAAkB;AAC1D,SAAST,WAAWU,gBAAgB,QAAQ,4BAAsB;AAClE,SAASC,UAAU,QAAQ,mBAAa;AACxC,SAASX,WAAWY,MAAM,QAAQ,iBAAW;AAC7C,SAASZ,WAAWa,KAAK,QAAyB,gBAAU;AAC5D,SAASb,WAAWc,aAAa,QAAsC,yBAAmB;AAC1F,SAASd,WAAWe,YAAY,QAAQ,6BAA6B;AACrE,SAASf,WAAWgB,cAAc,QAAQ,+BAA+B;AACzE,SAAShB,WAAWiB,UAAU,QAAQ,2BAA2B;WAE1D;UAAKC,eAAe;IAAfA,gBACVC,aAAAA;GADUD,oBAAAA"}
|
|
@@ -3,9 +3,9 @@ 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
7
|
import { IconFontProps } from '@ant-design/icons/lib/components/IconFont';
|
|
8
|
-
import {
|
|
8
|
+
import { AggregateMenuProps } from '../aggregate-menu';
|
|
9
9
|
export interface LayoutProps {
|
|
10
10
|
/**
|
|
11
11
|
* 应用code
|
|
@@ -18,11 +18,11 @@ export interface LayoutProps {
|
|
|
18
18
|
/**
|
|
19
19
|
* 菜单启用iconfont
|
|
20
20
|
*/
|
|
21
|
-
IconFont?:
|
|
21
|
+
IconFont?: FC<IconFontProps<string>>;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* 聚合菜单
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
aggregateMenuProps?: AggregateMenuProps;
|
|
26
26
|
/**
|
|
27
27
|
* I18nDropdown组件对应的参数
|
|
28
28
|
*/
|
|
@@ -8,13 +8,12 @@ import AvatarDropdown from "../avatar-dropdown/index";
|
|
|
8
8
|
import ThemeSwitch from "../theme-switch/index";
|
|
9
9
|
import styles from "./layout.module.css";
|
|
10
10
|
import { useCallback, useState } from "react";
|
|
11
|
-
import { LocaleType } from "../
|
|
12
|
-
import { CollectProviders } from "../index";
|
|
11
|
+
import { CollectProviders, LocaleType } from "../index";
|
|
13
12
|
import { gql, query } from "@knockout-js/ice-urql/request";
|
|
14
13
|
import { iceUrqlInstance } from "../index";
|
|
15
14
|
import { OpenWin } from "../icons/index";
|
|
16
15
|
import { logoBase64 } from "./logo";
|
|
17
|
-
import
|
|
16
|
+
import AggregateMenu from "../aggregate-menu/index";
|
|
18
17
|
import { BarsOutlined } from "@ant-design/icons";
|
|
19
18
|
const userMenuListQuery = gql(/* GraphQL */ `query userMenuList($appCode:String!){
|
|
20
19
|
userMenus(appCode: $appCode){
|
|
@@ -23,7 +22,6 @@ const userMenuListQuery = gql(/* GraphQL */ `query userMenuList($appCode:String!
|
|
|
23
22
|
}`);
|
|
24
23
|
const Layout = (props)=>{
|
|
25
24
|
const [locale, setLocale] = useState(LocaleType.zhCN);
|
|
26
|
-
const [open, setOpen] = useState(false);
|
|
27
25
|
// 根据列表格式化成菜单树结构
|
|
28
26
|
const listFormatTree = useCallback((list, parentList)=>{
|
|
29
27
|
if (!parentList) parentList = list.filter((item)=>item.parentId == '0');
|
|
@@ -33,25 +31,28 @@ const Layout = (props)=>{
|
|
|
33
31
|
});
|
|
34
32
|
return parentList;
|
|
35
33
|
}, []);
|
|
36
|
-
const isGatherMenu = !!props.gatherMenuProps;
|
|
37
34
|
return /*#__PURE__*/ _jsxs(CollectProviders, {
|
|
38
35
|
locale: locale,
|
|
36
|
+
appCode: props.appCode,
|
|
37
|
+
tenantId: props.tenantProps.value,
|
|
39
38
|
dark: props.themeSwitchProps.value,
|
|
40
39
|
pathname: props.pathname,
|
|
41
40
|
children: [
|
|
42
41
|
/*#__PURE__*/ _jsx(ProLayout, _object_spread_props(_object_spread({
|
|
43
42
|
className: styles.layout,
|
|
44
43
|
headerTitleRender: (logo, title)=>{
|
|
44
|
+
var _props_aggregateMenuProps;
|
|
45
45
|
return /*#__PURE__*/ _jsxs(_Fragment, {
|
|
46
46
|
children: [
|
|
47
|
-
|
|
47
|
+
typeof ((_props_aggregateMenuProps = props.aggregateMenuProps) === null || _props_aggregateMenuProps === void 0 ? void 0 : _props_aggregateMenuProps.open) === 'boolean' ? /*#__PURE__*/ _jsx(BarsOutlined, {
|
|
48
48
|
rev: undefined,
|
|
49
49
|
style: {
|
|
50
50
|
fontSize: 20,
|
|
51
51
|
marginRight: 10
|
|
52
52
|
},
|
|
53
53
|
onClick: ()=>{
|
|
54
|
-
|
|
54
|
+
var _props_aggregateMenuProps, _props_aggregateMenuProps_onChangeOpen;
|
|
55
|
+
(_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
56
|
}
|
|
56
57
|
}) : /*#__PURE__*/ _jsx(_Fragment, {}),
|
|
57
58
|
logo,
|
|
@@ -67,7 +68,7 @@ const Layout = (props)=>{
|
|
|
67
68
|
layout: "mix",
|
|
68
69
|
fixSiderbar: true,
|
|
69
70
|
suppressSiderWhenMenuEmpty: true,
|
|
70
|
-
menu:
|
|
71
|
+
menu: {
|
|
71
72
|
locale: true,
|
|
72
73
|
request: async ()=>{
|
|
73
74
|
var _result_data;
|
|
@@ -77,7 +78,10 @@ const Layout = (props)=>{
|
|
|
77
78
|
instanceName: iceUrqlInstance.ucenter
|
|
78
79
|
});
|
|
79
80
|
if ((_result_data = result.data) === null || _result_data === void 0 ? void 0 : _result_data.userMenus.length) {
|
|
80
|
-
const meunList = result.data.userMenus.
|
|
81
|
+
const meunList = result.data.userMenus.sort((d1, d2)=>{
|
|
82
|
+
const d1Sort = d1.displaySort || 0, d2Sort = d2.displaySort || 0;
|
|
83
|
+
return d1.parentID < d2.parentID ? -1 : d1.parentID > d2.parentID ? 1 : d1Sort < d2Sort ? -1 : d1Sort > d2Sort ? 1 : 0;
|
|
84
|
+
}).map((item)=>{
|
|
81
85
|
return {
|
|
82
86
|
key: item.id,
|
|
83
87
|
name: item.name,
|
|
@@ -135,10 +139,7 @@ const Layout = (props)=>{
|
|
|
135
139
|
}, props.proLayoutProps), {
|
|
136
140
|
children: props.children
|
|
137
141
|
})),
|
|
138
|
-
/*#__PURE__*/ _jsx(
|
|
139
|
-
open: open,
|
|
140
|
-
onChangeOpen: setOpen
|
|
141
|
-
}))
|
|
142
|
+
/*#__PURE__*/ _jsx(AggregateMenu, _object_spread({}, props.aggregateMenuProps))
|
|
142
143
|
]
|
|
143
144
|
});
|
|
144
145
|
};
|
|
@@ -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":";;;AAAA,SAAuBA,SAAS,QAAwB,yBAAyB;AACjF,OAAOC,kBAAyC,yBAAmB;AACnE,OAAOC,oBAA6C,2BAAqB;AACzE,OAAOC,oBAA6C,2BAAqB;AACzE,OAAOC,iBAAuC,wBAAkB;AAChE,OAAOC,YAAY,sBAAsB;AACzC,SAAoBC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AAEzD,SAASC,UAAU,QAAQ,kBAAY;AACvC,SAASC,gBAAgB,QAAQ,WAAK;AACtC,SAASC,GAAG,EAAEC,KAAK,QAAQ,gCAAgC;AAC3D,SAASC,eAAe,QAAQ,WAAK;AACrC,SAASC,OAAO,QAAQ,iBAAW;AAEnC,SAASC,UAAU,QAAQ,SAAS;AACpC,OAAOC,gBAAqC,uBAAiB;AAC7D,SAASC,YAAY,QAAQ,oBAAoB;AAsDjD,MAAMC,oBAAoBP,IAAI,WAAW,GAAE,CAAC;;;;CAI3C,CAAC;AAGF,MAAMQ,SAAS,CAACC,QAAuB;IAErC,MAAM,CAACC,QAAQC,UAAU,GAAGd,SAASC,WAAWc,IAAI;IACpD,MAAM,CAACC,MAAMC,QAAQ,GAAGjB,SAAS,KAAK;IAEtC,gBAAgB;IAChB,MAAMkB,iBAAiBnB,YAAY,CAACoB,MAAsBC,aAAgC;QACxF,IAAI,CAACA,YACHA,aAAaD,KAAKE,MAAM,CAACC,CAAAA,OAAQA,KAAKC,QAAQ,IAAI;QAEpDH,WAAWI,OAAO,CAAC,CAACC,QAAU;YAC5B,IAAIC,WAAWP,KAAKE,MAAM,CACxB,CAACM,UAAYA,QAAQJ,QAAQ,IAAIE,MAAMG,GAAG;YAE5C,IAAIF,YAAYA,SAASG,MAAM,EAC7BJ,MAAMC,QAAQ,GAAGR,eAAeC,MAAMO;QAE1C;QACA,OAAON;IACT,GAAG,EAAE;IAEL,MAAMU,eAAe,CAAC,CAAClB,MAAMmB,eAAe;IAE5C,qBACE,MAAC7B;QACCW,QAAQA;QACRmB,MAAMpB,MAAMqB,gBAAgB,CAACC,KAAK;QAClCC,UAAUvB,MAAMuB,QAAQ;;0BAExB,KAAC1C;gBACC2C,WAAWtC,OAAOuC,MAAM;gBACxBC,mBAAmB,CAACC,MAAMC,QAAU;oBAClC,qBAAO;;4BACJV,6BAAe,KAACrB;gCACfgC,KAAKC;gCACLC,OAAO;oCAAEC,UAAU;oCAAIC,aAAa;gCAAG;gCACvCC,SAAS,IAAM;oCACb7B,QAAQ,IAAI;gCACd;+CACG,mBAAK;4BACTsB;4BACAC;;;gBAEL;gBACAA,OAAM;gBACND,oBAAM,KAACQ;oBAAIC,KAAKzC;oBAAY0C,KAAI;;gBAChCZ,QAAO;gBACPa,WAAW;gBACXC,0BAA0B;gBAC1BC,MAAMtB,6BAAe,sBAAQ;oBAC3BjB,QAAQ,IAAI;oBACZwC,SAAS,UAAY;4BAIfC;wBAHJ,MAAMA,SAAS,MAAMlD,MAAqDM,mBAAmB;4BAC3F6C,SAAS3C,MAAM2C,OAAO;wBACxB,GAAG;4BAAEC,cAAcnD,gBAAgBoD,OAAO;wBAAC;wBAC3C,IAAIH,CAAAA,eAAAA,OAAOI,IAAI,cAAXJ,0BAAAA,KAAAA,IAAAA,aAAaK,UAAU9B,MAAM,EAAE;4BACjC,MAAM+B,WAAWN,OAAOI,IAAI,CAACC,SAAS,CAACE,GAAG,CAACvC,CAAAA,OAAQ;gCACjD,OAAO;oCACLM,KAAKN,KAAKwC,EAAE;oCACZC,MAAMzC,KAAKyC,IAAI;oCACfC,MAAM1C,KAAK0C,IAAI,GAAGpD,MAAMqD,QAAQ,iBAAG,KAACrD,MAAMqD,QAAQ;wCAACC,MAAM5C,KAAK0C,IAAI;uDAAO,KAACG;wCAAE/B,WAAWd,KAAK0C,IAAI;sCAAI,GAAGtB,SAAS;oCAChHnB,UAAUD,KAAK8C,QAAQ;oCACvBC,MAAM/C,KAAKgD,KAAK;gCAClB;4BACF;4BAEA,OAAOpD,eAAe0C;wBACxB,CAAC;wBACD,OAAO,EAAE;oBACX;gBACF,CAAC;gBACDW,UAAU;oBACRpC,UAAUvB,MAAMuB,QAAQ;gBAC1B;gBACAqC,eAAe;oBAAM,OAAA;sCACnB,KAAC9E;4BAAa+E,UAAU,CAACvC,QAAU;oCAEjCtB;gCADAE,UAAUoB;gCACVtB,CAAAA,mBAAAA,MAAM8D,SAAS,cAAf9D,8BAAAA,KAAAA,IAAAA,6BAAAA,iBAAiB6D,6DAAjB7D,KAAAA,IAAAA,0BAAAA,KAAAA,kBAA4BsB;4BAC9B;;sCACA,KAACvC,mCAAmBiB,MAAM+D,WAAW;sCACrC,KAAC/E,mCAAmBgB,MAAMgE,WAAW;sCACrC,KAAC/E,gCAAgBe,MAAMqB,gBAAgB;qBACxC;;gBACD4C,gBAAgB,CAACvD,MAAMwD;oBAAgBxD,OAAAA,KAAK+C,IAAI,iBAAG;;0CACjD,KAACU;gCACCjC,SAAS,IAAM;wCACblC;oCAAAA,CAAAA,yBAAAA,MAAMoE,eAAe,cAArBpE,oCAAAA,KAAAA,IAAAA,uBAAAA,KAAAA,OAAwBU,MAAM,KAAK;gCACrC;0CACAwD;;0CACF,KAACxE;gCACC8B,WAAWtC,OAAOmF,aAAa;gCAC/BnC,SAAS,IAAM;wCACblC;oCAAAA,CAAAA,yBAAAA,MAAMoE,eAAe,cAArBpE,oCAAAA,KAAAA,IAAAA,uBAAAA,KAAAA,OAAwBU,MAAM,IAAI;gCACpC;;;yBAGAwD,UAAU;;eACVlE,MAAMsE,cAAc;0BAEvBtE,MAAMc,QAAQ;;0BAEjB,KAAClB,oDACKI,MAAMmB,eAAe;gBACzBf,MAAMA;gBACNmE,cAAclE;;;;AAItB;AAEA,eAAeN,OAAM"}
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\layout\\index.tsx"],"sourcesContent":["import { MenuDataItem, ProLayout, ProLayoutProps } from '@ant-design/pro-layout';\r\nimport I18nDropdown, { I18nDropdownProps } from '../i18n-dropdown';\r\nimport TenantDropdown, { TenantDropdownProps } from '../tenant-dropdown';\r\nimport AvatarDropdown, { AvatarDropdownProps } from '../avatar-dropdown';\r\nimport ThemeSwitch, { ThemeSwitchProps } from '../theme-switch';\r\nimport styles from './layout.module.css';\r\nimport { ReactNode, FC, useCallback, useState } from 'react';\r\nimport { UserMenuListQuery, UserMenuListQueryVariables } from '@knockout-js/api';\r\nimport { CollectProviders, LocaleType } from '..';\r\nimport { gql, query } from '@knockout-js/ice-urql/request';\r\nimport { iceUrqlInstance } from '..';\r\nimport { OpenWin } from '../icons';\r\nimport { IconFontProps } from '@ant-design/icons/lib/components/IconFont';\r\nimport { logoBase64 } from './logo';\r\nimport AggregateMenu, { AggregateMenuProps } from '../aggregate-menu';\r\nimport { BarsOutlined } from '@ant-design/icons';\r\n\r\nexport interface LayoutProps {\r\n /**\r\n * 应用code\r\n */\r\n appCode: string;\r\n /**\r\n * 传递动态的 location.pathname\r\n */\r\n pathname: string;\r\n /**\r\n * 菜单启用iconfont\r\n */\r\n IconFont?: FC<IconFontProps<string>>;\r\n /**\r\n * 聚合菜单\r\n */\r\n aggregateMenuProps?: AggregateMenuProps;\r\n /**\r\n * I18nDropdown组件对应的参数\r\n */\r\n i18nProps?: I18nDropdownProps;\r\n /**\r\n * TenantDropdown组件对应的参数\r\n */\r\n tenantProps: TenantDropdownProps;\r\n /**\r\n * AvatarDropdown组件对应的参数\r\n */\r\n avatarProps: AvatarDropdownProps;\r\n /**\r\n * ThemeSwitch组件对应的参数\r\n */\r\n themeSwitchProps: ThemeSwitchProps;\r\n /**\r\n * ProLayout组件对应的参数\r\n */\r\n proLayoutProps?: ProLayoutProps;\r\n /**\r\n * 菜单点击返回 (item: MenuDataItem,isOpen?: boolean) => void;\r\n */\r\n onClickMenuItem?: (\r\n item: MenuDataItem & {\r\n isUrl: boolean;\r\n onClick: () => void;\r\n },\r\n isOpen?: boolean\r\n ) => void;\r\n /**\r\n * 默认插槽\r\n */\r\n children?: ReactNode;\r\n\r\n}\r\n\r\nconst userMenuListQuery = gql(/* GraphQL */`query userMenuList($appCode:String!){\r\n userMenus(appCode: $appCode){\r\n id,parentID,kind,name,comments,displaySort,icon,route\r\n }\r\n}`);\r\n\r\n\r\nconst Layout = (props: LayoutProps) => {\r\n\r\n const [locale, setLocale] = useState(LocaleType.zhCN);\r\n\r\n // 根据列表格式化成菜单树结构\r\n const listFormatTree = useCallback((list: MenuDataItem[], parentList?: MenuDataItem[]) => {\r\n if (!parentList) {\r\n parentList = list.filter(item => item.parentId == '0');\r\n }\r\n parentList.forEach((pItem) => {\r\n let children = list.filter(\r\n (allItem) => allItem.parentId == pItem.key,\r\n );\r\n if (children && children.length) {\r\n pItem.children = listFormatTree(list, children);\r\n }\r\n });\r\n return parentList;\r\n }, [])\r\n\r\n\r\n\r\n return (\r\n <CollectProviders\r\n locale={locale}\r\n appCode={props.appCode}\r\n tenantId={props.tenantProps.value}\r\n dark={props.themeSwitchProps.value}\r\n pathname={props.pathname}\r\n >\r\n <ProLayout\r\n className={styles.layout}\r\n headerTitleRender={(logo, title) => {\r\n return <>\r\n {typeof props.aggregateMenuProps?.open === 'boolean' ? <BarsOutlined\r\n rev={undefined}\r\n style={{ fontSize: 20, marginRight: 10 }}\r\n onClick={() => {\r\n props.aggregateMenuProps?.onChangeOpen?.(true);\r\n }}\r\n /> : <></>}\r\n {logo}\r\n {title}\r\n </>\r\n }}\r\n title='adminx'\r\n logo={<img src={logoBase64} alt=\"logo\" />}\r\n layout=\"mix\"\r\n fixSiderbar\r\n suppressSiderWhenMenuEmpty\r\n menu={{\r\n locale: true,\r\n request: async () => {\r\n const result = await query<UserMenuListQuery, UserMenuListQueryVariables>(userMenuListQuery, {\r\n appCode: props.appCode\r\n }, { instanceName: iceUrqlInstance.ucenter });\r\n if (result.data?.userMenus.length) {\r\n const meunList = result.data.userMenus.sort((d1, d2) => {\r\n const d1Sort = d1.displaySort || 0, d2Sort = d2.displaySort || 0;\r\n return d1.parentID < d2.parentID ? -1 : d1.parentID > d2.parentID ? 1 : d1Sort < d2Sort ? -1 : d1Sort > d2Sort ? 1 : 0;\r\n }).map(item => {\r\n return {\r\n key: item.id,\r\n name: item.name,\r\n icon: item.icon ? props.IconFont ? <props.IconFont type={item.icon} /> : <i className={item.icon} /> : undefined,\r\n parentId: item.parentID,\r\n path: item.route,\r\n } as MenuDataItem\r\n })\r\n\r\n return listFormatTree(meunList);\r\n }\r\n return [];\r\n },\r\n }}\r\n location={{\r\n pathname: props.pathname\r\n }}\r\n actionsRender={() => [\r\n <I18nDropdown onChange={(value) => {\r\n setLocale(value);\r\n props.i18nProps?.onChange?.(value)\r\n }} />,\r\n <TenantDropdown {...props.tenantProps} />,\r\n <AvatarDropdown {...props.avatarProps} />,\r\n <ThemeSwitch {...props.themeSwitchProps} />,\r\n ]}\r\n menuItemRender={(item, defaultDom) => (item.path ? <>\r\n <a\r\n onClick={() => {\r\n props.onClickMenuItem?.(item, false)\r\n }}\r\n >{defaultDom}</a>\r\n <OpenWin\r\n className={styles.menuIconPopup}\r\n onClick={() => {\r\n props.onClickMenuItem?.(item, true)\r\n }}\r\n />\r\n </>\r\n : defaultDom)}\r\n {...props.proLayoutProps}\r\n >\r\n {props.children}\r\n </ProLayout>\r\n <AggregateMenu\r\n {...props.aggregateMenuProps}\r\n />\r\n </CollectProviders>\r\n )\r\n}\r\n\r\nexport default Layout\r\n"],"names":["ProLayout","I18nDropdown","TenantDropdown","AvatarDropdown","ThemeSwitch","styles","useCallback","useState","CollectProviders","LocaleType","gql","query","iceUrqlInstance","OpenWin","logoBase64","AggregateMenu","BarsOutlined","userMenuListQuery","Layout","props","locale","setLocale","zhCN","listFormatTree","list","parentList","filter","item","parentId","forEach","pItem","children","allItem","key","length","appCode","tenantId","tenantProps","value","dark","themeSwitchProps","pathname","className","layout","headerTitleRender","logo","title","aggregateMenuProps","open","rev","undefined","style","fontSize","marginRight","onClick","onChangeOpen","img","src","alt","fixSiderbar","suppressSiderWhenMenuEmpty","menu","request","result","instanceName","ucenter","data","userMenus","meunList","sort","d1","d2","d1Sort","displaySort","d2Sort","parentID","map","id","name","icon","IconFont","type","i","path","route","location","actionsRender","onChange","i18nProps","avatarProps","menuItemRender","defaultDom","a","onClickMenuItem","menuIconPopup","proLayoutProps"],"mappings":"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"}
|
|
@@ -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
|
|
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
|
-
|
|
13
|
+
AggregateMenu,
|
|
14
|
+
UploadFile
|
|
13
15
|
};
|
|
14
16
|
export default localeValues;
|
|
15
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\en_US.ts"],"sourcesContent":["import { Locale } from \".\";\r\nimport ThemeSwitch from \"../theme-switch/locale/en_US\";\r\nimport LeavePrompt from \"../leave-prompt/locale/en_US\";\r\nimport AvatarDropdown from \"../avatar-dropdown/locale/en_US\";\r\nimport TenantDropdown from \"../tenant-dropdown/locale/en_US\";\r\nimport
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\en_US.ts"],"sourcesContent":["import { Locale } from \".\";\r\nimport ThemeSwitch from \"../theme-switch/locale/en_US\";\r\nimport LeavePrompt from \"../leave-prompt/locale/en_US\";\r\nimport AvatarDropdown from \"../avatar-dropdown/locale/en_US\";\r\nimport TenantDropdown from \"../tenant-dropdown/locale/en_US\";\r\nimport AggregateMenu from \"../aggregate-menu/locale/en_US\";\r\nimport UploadFile from \"../upload-file/locale/en_US\";\r\n\r\nconst localeValues: Locale = {\r\n locale: 'en-us',\r\n ThemeSwitch,\r\n LeavePrompt,\r\n AvatarDropdown,\r\n TenantDropdown,\r\n AggregateMenu,\r\n UploadFile,\r\n}\r\n\r\nexport default localeValues\r\n"],"names":["ThemeSwitch","LeavePrompt","AvatarDropdown","TenantDropdown","AggregateMenu","UploadFile","localeValues","locale"],"mappings":"AACA,OAAOA,iBAAiB,+BAA+B;AACvD,OAAOC,iBAAiB,+BAA+B;AACvD,OAAOC,oBAAoB,kCAAkC;AAC7D,OAAOC,oBAAoB,kCAAkC;AAC7D,OAAOC,mBAAmB,iCAAiC;AAC3D,OAAOC,gBAAgB,8BAA8B;AAErD,MAAMC,eAAuB;IAC3BC,QAAQ;IACRP;IACAC;IACAC;IACAC;IACAC;IACAC;AACF;AAEA,eAAeC,aAAY"}
|
|
@@ -1,31 +1,18 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { TenantDropdownLocale } from '../tenant-dropdown';
|
|
3
2
|
import { ThemeSwitchLocale } from '../theme-switch';
|
|
4
3
|
import { LeavePromptLocale } from '../leave-prompt';
|
|
5
4
|
import { AvatarDropdownLocale } from '../avatar-dropdown';
|
|
6
|
-
import {
|
|
5
|
+
import { AggregateMenuLocale } from "../aggregate-menu";
|
|
6
|
+
import { UploadFileLocale } from "../upload-file";
|
|
7
7
|
export interface Locale {
|
|
8
8
|
locale: string;
|
|
9
9
|
ThemeSwitch: ThemeSwitchLocale;
|
|
10
10
|
LeavePrompt: LeavePromptLocale;
|
|
11
11
|
AvatarDropdown: AvatarDropdownLocale;
|
|
12
12
|
TenantDropdown: TenantDropdownLocale;
|
|
13
|
-
|
|
13
|
+
AggregateMenu: AggregateMenuLocale;
|
|
14
|
+
UploadFile: UploadFileLocale;
|
|
14
15
|
}
|
|
15
|
-
export declare enum LocaleType {
|
|
16
|
-
zhCN = "zh-CN",
|
|
17
|
-
enUS = "en-US"
|
|
18
|
-
}
|
|
19
|
-
export interface BasicProviderProps {
|
|
20
|
-
locale: LocaleType;
|
|
21
|
-
children?: React.ReactNode;
|
|
22
|
-
}
|
|
23
|
-
export declare const BasicContext: import("react").Context<BasicProviderProps>;
|
|
24
|
-
/**
|
|
25
|
-
* 组件上使用
|
|
26
|
-
*/
|
|
27
|
-
declare const _default: (props: BasicProviderProps) => JSX.Element;
|
|
28
|
-
export default _default;
|
|
29
16
|
export type LocaleComponentName = Exclude<keyof Locale, 'locale'>;
|
|
30
17
|
/**
|
|
31
18
|
* hook
|
|
@@ -1,34 +1,14 @@
|
|
|
1
1
|
import _object_spread from "@swc/helpers/src/_object_spread.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { createContext, useContext } from "react";
|
|
2
|
+
import { useContext } from "react";
|
|
4
3
|
import zhCN from "./zh_CN";
|
|
5
4
|
import enUS from "./en_US";
|
|
6
|
-
|
|
7
|
-
(function(LocaleType) {
|
|
8
|
-
LocaleType["zhCN"] = "zh-CN";
|
|
9
|
-
LocaleType["enUS"] = "en-US";
|
|
10
|
-
})(LocaleType || (LocaleType = {}));
|
|
11
|
-
// 定义语言上下文
|
|
12
|
-
export const BasicContext = /*#__PURE__*/ createContext({
|
|
13
|
-
locale: LocaleType.zhCN
|
|
14
|
-
});
|
|
15
|
-
/**
|
|
16
|
-
* 组件上使用
|
|
17
|
-
*/ export default ((props)=>{
|
|
18
|
-
const { locale , children } = props;
|
|
19
|
-
return /*#__PURE__*/ _jsx(BasicContext.Provider, {
|
|
20
|
-
value: {
|
|
21
|
-
locale: locale
|
|
22
|
-
},
|
|
23
|
-
children: children
|
|
24
|
-
});
|
|
25
|
-
});
|
|
5
|
+
import { Context, LocaleType } from "../provider/index";
|
|
26
6
|
/**
|
|
27
7
|
* hook
|
|
28
8
|
* @param componentName
|
|
29
9
|
* @returns
|
|
30
10
|
*/ export const useLocale = (componentName)=>{
|
|
31
|
-
const ctx = useContext(
|
|
11
|
+
const ctx = useContext(Context);
|
|
32
12
|
if (ctx.locale === LocaleType.enUS) return _object_spread({}, enUS[componentName]);
|
|
33
13
|
// 默认zhCN
|
|
34
14
|
return _object_spread({}, zhCN[componentName]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\index.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\index.tsx"],"sourcesContent":["import { useContext } from \"react\";\r\nimport zhCN from \"./zh_CN\";\r\nimport enUS from \"./en_US\";\r\nimport { TenantDropdownLocale } from '../tenant-dropdown';\r\nimport { ThemeSwitchLocale } from '../theme-switch';\r\nimport { LeavePromptLocale } from '../leave-prompt';\r\nimport { AvatarDropdownLocale } from '../avatar-dropdown';\r\nimport { AggregateMenuLocale } from \"../aggregate-menu\";\r\nimport { Context, LocaleType, ProviderProps } from \"../provider\";\r\nimport { UploadFileLocale } from \"../upload-file\";\r\n\r\nexport interface Locale {\r\n locale: string;\r\n ThemeSwitch: ThemeSwitchLocale;\r\n LeavePrompt: LeavePromptLocale;\r\n AvatarDropdown: AvatarDropdownLocale;\r\n TenantDropdown: TenantDropdownLocale;\r\n AggregateMenu: AggregateMenuLocale;\r\n UploadFile: UploadFileLocale;\r\n}\r\n\r\n\r\n\r\nexport type LocaleComponentName = Exclude<keyof Locale, 'locale'>;\r\n\r\n/**\r\n * hook\r\n * @param componentName\r\n * @returns\r\n */\r\nexport const useLocale = <C extends LocaleComponentName>(componentName: C) => {\r\n const ctx = useContext<ProviderProps>(Context);\r\n if (ctx.locale === LocaleType.enUS) {\r\n return { ...enUS[componentName] }\r\n }\r\n // 默认zhCN\r\n return { ...zhCN[componentName] }\r\n}\r\n"],"names":["useContext","zhCN","enUS","Context","LocaleType","useLocale","componentName","ctx","locale"],"mappings":";AAAA,SAASA,UAAU,QAAQ,QAAQ;AACnC,OAAOC,UAAU,UAAU;AAC3B,OAAOC,UAAU,UAAU;AAM3B,SAASC,OAAO,EAAEC,UAAU,QAAuB,oBAAc;AAiBjE;;;;CAIC,GACD,OAAO,MAAMC,YAAY,CAAgCC,gBAAqB;IAC5E,MAAMC,MAAMP,WAA0BG;IACtC,IAAII,IAAIC,MAAM,KAAKJ,WAAWF,IAAI,EAChC,OAAO,mBAAKA,IAAI,CAACI,cAAc;IAEjC,SAAS;IACT,OAAO,mBAAKL,IAAI,CAACK,cAAc;AACjC,EAAC"}
|
|
@@ -2,14 +2,16 @@ import ThemeSwitch from "../theme-switch/locale/zh_CN";
|
|
|
2
2
|
import LeavePrompt from "../leave-prompt/locale/zh_CN";
|
|
3
3
|
import AvatarDropdown from "../avatar-dropdown/locale/zh_CN";
|
|
4
4
|
import TenantDropdown from "../tenant-dropdown/locale/zh_CN";
|
|
5
|
-
import
|
|
5
|
+
import AggregateMenu from "../aggregate-menu/locale/zh_CN";
|
|
6
|
+
import UploadFile from "../upload-file/locale/zh_CN";
|
|
6
7
|
const localeValues = {
|
|
7
8
|
locale: 'zh-cn',
|
|
8
9
|
ThemeSwitch,
|
|
9
10
|
LeavePrompt,
|
|
10
11
|
AvatarDropdown,
|
|
11
12
|
TenantDropdown,
|
|
12
|
-
|
|
13
|
+
AggregateMenu,
|
|
14
|
+
UploadFile
|
|
13
15
|
};
|
|
14
16
|
export default localeValues;
|
|
15
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\zh_CN.ts"],"sourcesContent":["import { Locale } from \".\";\r\nimport ThemeSwitch from \"../theme-switch/locale/zh_CN\";\r\nimport LeavePrompt from \"../leave-prompt/locale/zh_CN\";\r\nimport AvatarDropdown from \"../avatar-dropdown/locale/zh_CN\";\r\nimport TenantDropdown from \"../tenant-dropdown/locale/zh_CN\";\r\nimport
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\locale\\zh_CN.ts"],"sourcesContent":["import { Locale } from \".\";\r\nimport ThemeSwitch from \"../theme-switch/locale/zh_CN\";\r\nimport LeavePrompt from \"../leave-prompt/locale/zh_CN\";\r\nimport AvatarDropdown from \"../avatar-dropdown/locale/zh_CN\";\r\nimport TenantDropdown from \"../tenant-dropdown/locale/zh_CN\";\r\nimport AggregateMenu from \"../aggregate-menu/locale/zh_CN\";\r\nimport UploadFile from \"../upload-file/locale/zh_CN\";\r\n\r\nconst localeValues: Locale = {\r\n locale: 'zh-cn',\r\n ThemeSwitch,\r\n LeavePrompt,\r\n AvatarDropdown,\r\n TenantDropdown,\r\n AggregateMenu,\r\n UploadFile,\r\n}\r\n\r\nexport default localeValues\r\n"],"names":["ThemeSwitch","LeavePrompt","AvatarDropdown","TenantDropdown","AggregateMenu","UploadFile","localeValues","locale"],"mappings":"AACA,OAAOA,iBAAiB,+BAA+B;AACvD,OAAOC,iBAAiB,+BAA+B;AACvD,OAAOC,oBAAoB,kCAAkC;AAC7D,OAAOC,oBAAoB,kCAAkC;AAC7D,OAAOC,mBAAmB,iCAAiC;AAC3D,OAAOC,gBAAgB,8BAA8B;AAErD,MAAMC,eAAuB;IAC3BC,QAAQ;IACRP;IACAC;IACAC;IACAC;IACAC;IACAC;AACF;AAEA,eAAeC,aAAY"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare enum LocaleType {
|
|
3
|
+
zhCN = "zh-CN",
|
|
4
|
+
enUS = "en-US"
|
|
5
|
+
}
|
|
6
|
+
export interface ProviderProps {
|
|
7
|
+
locale?: LocaleType;
|
|
8
|
+
appCode?: string;
|
|
9
|
+
tenantId?: string;
|
|
10
|
+
dark?: boolean;
|
|
11
|
+
children?: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare const Context: import("react").Context<ProviderProps>;
|
|
14
|
+
/**
|
|
15
|
+
* 组件上使用
|
|
16
|
+
*/
|
|
17
|
+
declare const _default: (props: ProviderProps) => JSX.Element;
|
|
18
|
+
export default _default;
|
|
19
|
+
/**
|
|
20
|
+
* hook
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export declare const useTenantId: () => string;
|
|
24
|
+
/**
|
|
25
|
+
* hook
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
export declare const useAppCode: () => string;
|
|
29
|
+
/**
|
|
30
|
+
* hook
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
export declare const useDark: () => boolean;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import _object_spread from "@swc/helpers/src/_object_spread.mjs";
|
|
2
|
+
import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
|
|
3
|
+
import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
|
|
4
|
+
import { createContext, useContext } from "react";
|
|
5
|
+
export var LocaleType;
|
|
6
|
+
(function(LocaleType) {
|
|
7
|
+
LocaleType["zhCN"] = "zh-CN";
|
|
8
|
+
LocaleType["enUS"] = "en-US";
|
|
9
|
+
})(LocaleType || (LocaleType = {}));
|
|
10
|
+
// 定义上下文
|
|
11
|
+
export const Context = /*#__PURE__*/ createContext({
|
|
12
|
+
locale: LocaleType.zhCN,
|
|
13
|
+
dark: false
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* 组件上使用
|
|
17
|
+
*/ export default ((props)=>{
|
|
18
|
+
const { children } = props, resProps = _object_without_properties(props, [
|
|
19
|
+
"children"
|
|
20
|
+
]);
|
|
21
|
+
return /*#__PURE__*/ _jsx(Context.Provider, {
|
|
22
|
+
value: _object_spread({}, resProps),
|
|
23
|
+
children: children
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* hook
|
|
28
|
+
* @returns
|
|
29
|
+
*/ export const useTenantId = ()=>{
|
|
30
|
+
const ctx = useContext(Context);
|
|
31
|
+
return ctx.tenantId;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* hook
|
|
35
|
+
* @returns
|
|
36
|
+
*/ export const useAppCode = ()=>{
|
|
37
|
+
const ctx = useContext(Context);
|
|
38
|
+
return ctx.appCode;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* hook
|
|
42
|
+
* @returns
|
|
43
|
+
*/ export const useDark = ()=>{
|
|
44
|
+
const ctx = useContext(Context);
|
|
45
|
+
var _ctx_dark;
|
|
46
|
+
return (_ctx_dark = ctx.dark) !== null && _ctx_dark !== void 0 ? _ctx_dark : false;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\provider\index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\provider\\index.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\r\n\r\nexport enum LocaleType {\r\n zhCN = \"zh-CN\",\r\n enUS = \"en-US\",\r\n}\r\n\r\nexport interface ProviderProps {\r\n locale?: LocaleType;\r\n appCode?: string;\r\n tenantId?: string;\r\n dark?: boolean;\r\n children?: React.ReactNode;\r\n}\r\n\r\n// 定义上下文\r\nexport const Context = createContext<ProviderProps>({\r\n locale: LocaleType.zhCN,\r\n dark: false\r\n});\r\n\r\n/**\r\n * 组件上使用\r\n */\r\nexport default (props: ProviderProps) => {\r\n const { children, ...resProps } = props;\r\n return <Context.Provider value={{ ...resProps }}>{children}</Context.Provider>\r\n}\r\n\r\n\r\n/**\r\n * hook\r\n * @returns\r\n */\r\nexport const useTenantId = () => {\r\n const ctx = useContext<ProviderProps>(Context);\r\n return ctx.tenantId\r\n}\r\n\r\n\r\n/**\r\n * hook\r\n * @returns\r\n */\r\nexport const useAppCode = () => {\r\n const ctx = useContext<ProviderProps>(Context);\r\n return ctx.appCode\r\n}\r\n\r\n/**\r\n * hook\r\n * @returns\r\n */\r\nexport const useDark = () => {\r\n const ctx = useContext<ProviderProps>(Context);\r\n return ctx.dark ?? false\r\n}\r\n"],"names":["createContext","useContext","LocaleType","zhCN","enUS","Context","locale","dark","props","children","resProps","Provider","value","useTenantId","ctx","tenantId","useAppCode","appCode","useDark"],"mappings":";;;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,QAAQ;WAE3C;UAAKC,UAAU;IAAVA,WACVC,UAAO;IADGD,WAEVE,UAAO;GAFGF,eAAAA;AAaZ,QAAQ;AACR,OAAO,MAAMG,wBAAUL,cAA6B;IAClDM,QAAQJ,WAAWC,IAAI;IACvBI,MAAM,KAAK;AACb,GAAG;AAEH;;CAEC,GACD,eAAe,CAAA,CAACC,QAAyB;IACvC,MAAM,EAAEC,SAAQ,EAAe,GAAGD,OAAbE,sCAAaF;QAA1BC;;IACR,qBAAO,KAACJ,QAAQM,QAAQ;QAACC,OAAO,mBAAKF;kBAAaD;;AACpD,CAAA,EAAC;AAGD;;;CAGC,GACD,OAAO,MAAMI,cAAc,IAAM;IAC/B,MAAMC,MAAMb,WAA0BI;IACtC,OAAOS,IAAIC,QAAQ;AACrB,EAAC;AAGD;;;CAGC,GACD,OAAO,MAAMC,aAAa,IAAM;IAC9B,MAAMF,MAAMb,WAA0BI;IACtC,OAAOS,IAAIG,OAAO;AACpB,EAAC;AAED;;;CAGC,GACD,OAAO,MAAMC,UAAU,IAAM;IAC3B,MAAMJ,MAAMb,WAA0BI;QAC/BS;IAAP,OAAOA,CAAAA,YAAAA,IAAIP,IAAI,cAARO,uBAAAA,YAAY,KAAK;AAC1B,EAAC"}
|
|
@@ -45,7 +45,7 @@ export default ((props)=>{
|
|
|
45
45
|
});
|
|
46
46
|
}, []);
|
|
47
47
|
useEffect(()=>{
|
|
48
|
-
if (document.hidden) {
|
|
48
|
+
if (document.hidden && info && info.id != props.value) {
|
|
49
49
|
const tipStr = locale.switchTipTitle;
|
|
50
50
|
document.title = tipStr;
|
|
51
51
|
document.body.innerHTML = `<div style="width:370px;margin:40px auto 0 auto;">${tipStr}</div>`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\tenant-dropdown\\index.tsx"],"sourcesContent":["import { Dropdown, MenuProps, Modal } from 'antd';\r\nimport { useCallback, useEffect, useState } from 'react';\r\nimport styles from './index.module.css';\r\nimport { useLocale } from '../locale';\r\nimport { Org, UserRootOrgsQuery, UserRootOrgsQueryVariables } from '@knockout-js/api';\r\nimport { gql, query } from '@knockout-js/ice-urql/request';\r\nimport { iceUrqlInstance } from '..';\r\n\r\nexport interface TenantDropdownLocale {\r\n switchTipTitle: string;\r\n confirmTitle: string;\r\n confirmContent: string;\r\n}\r\n\r\nexport interface TenantDropdownProps {\r\n /**\r\n * 当前 tenantId\r\n */\r\n value: string;\r\n /**\r\n * 数据源\r\n */\r\n dataSource?: Org[]
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\tenant-dropdown\\index.tsx"],"sourcesContent":["import { Dropdown, MenuProps, Modal } from 'antd';\r\nimport { useCallback, useEffect, useState } from 'react';\r\nimport styles from './index.module.css';\r\nimport { useLocale } from '../locale';\r\nimport { Org, UserRootOrgsQuery, UserRootOrgsQueryVariables } from '@knockout-js/api';\r\nimport { gql, query } from '@knockout-js/ice-urql/request';\r\nimport { iceUrqlInstance } from '..';\r\n\r\nexport interface TenantDropdownLocale {\r\n switchTipTitle: string;\r\n confirmTitle: string;\r\n confirmContent: string;\r\n}\r\n\r\nexport interface TenantDropdownProps {\r\n /**\r\n * 当前 tenantId\r\n */\r\n value: string;\r\n /**\r\n * 数据源\r\n */\r\n dataSource?: Org[];\r\n /**\r\n * value变更事件 (value: string) => void;\r\n */\r\n onChange: (value: string) => void;\r\n}\r\n\r\nconst userRootOrgListQuery = gql(/* GraphQL */`query userRootOrgs{\r\n userRootOrgs{\r\n id,parentID,kind,domain,code,name,status,path,displaySort,countryCode,timezone\r\n }\r\n}`);\r\n\r\nexport default (props: TenantDropdownProps) => {\r\n const locale = useLocale('TenantDropdown'),\r\n [list, setList] = useState<Array<Org>>([]),\r\n [info, setInfo] = useState<Org | undefined>(undefined),\r\n [menu, setMenu] = useState<MenuProps | undefined>(undefined);\r\n\r\n const\r\n getRequest = async () => {\r\n const result = await query<UserRootOrgsQuery, UserRootOrgsQueryVariables>(userRootOrgListQuery, {}, { instanceName: iceUrqlInstance.ucenter });\r\n if (result.data?.userRootOrgs.length) {\r\n const orgList = result.data.userRootOrgs as Org[]\r\n setList(orgList)\r\n }\r\n },\r\n setValue = () => {\r\n setInfo(list.find(item => item.id == props.value));\r\n setMenu({\r\n items: list.filter(item => item?.id != props.value).map(item => {\r\n return {\r\n key: item.id,\r\n label: item.name,\r\n onClick: menuItemClick\r\n };\r\n }),\r\n });\r\n },\r\n menuItemClick = useCallback(({ key }: { key: string }) => {\r\n Modal.confirm({\r\n title: locale.confirmTitle,\r\n content: locale.confirmContent,\r\n onOk: () => {\r\n props.onChange(key)\r\n },\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (document.hidden && (info && info.id != props.value)) {\r\n const tipStr = locale.switchTipTitle;\r\n document.title = tipStr;\r\n document.body.innerHTML = `<div style=\"width:370px;margin:40px auto 0 auto;\">${tipStr}</div>`;\r\n window.close();\r\n } else {\r\n setValue()\r\n }\r\n }, [props.value]);\r\n\r\n useEffect(() => {\r\n setValue()\r\n }, [list]);\r\n\r\n useEffect(() => {\r\n if (props.dataSource) {\r\n setList(props.dataSource)\r\n } else {\r\n getRequest();\r\n }\r\n }, [, props.dataSource]);\r\n\r\n return info ? <Dropdown menu={menu} disabled={menu?.items?.length === 0}>\r\n <span className={styles.action}>\r\n <span>{info.name}</span>\r\n </span>\r\n </Dropdown> : <></>;\r\n};\r\n"],"names":["Dropdown","Modal","useCallback","useEffect","useState","styles","useLocale","gql","query","iceUrqlInstance","userRootOrgListQuery","props","menu","locale","list","setList","info","setInfo","undefined","setMenu","getRequest","result","instanceName","ucenter","data","userRootOrgs","length","orgList","setValue","find","item","id","value","items","filter","map","key","label","name","onClick","menuItemClick","confirm","title","confirmTitle","content","confirmContent","onOk","onChange","document","hidden","tipStr","switchTipTitle","body","innerHTML","window","close","dataSource","disabled","span","className","action"],"mappings":";AAAA,SAASA,QAAQ,EAAaC,KAAK,QAAQ,OAAO;AAClD,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AACzD,OAAOC,YAAY,qBAAqB;AACxC,SAASC,SAAS,QAAQ,kBAAY;AAEtC,SAASC,GAAG,EAAEC,KAAK,QAAQ,gCAAgC;AAC3D,SAASC,eAAe,QAAQ,WAAK;AAuBrC,MAAMC,uBAAuBH,IAAI,WAAW,GAAE,CAAC;;;;CAI9C,CAAC;AAEF,eAAe,CAAA,CAACI,QAA+B;QA2DCC;IA1D9C,MAAMC,SAASP,UAAU,mBACvB,CAACQ,MAAMC,QAAQ,GAAGX,SAAqB,EAAE,GACzC,CAACY,MAAMC,QAAQ,GAAGb,SAA0Bc,YAC5C,CAACN,MAAMO,QAAQ,GAAGf,SAAgCc;IAEpD,MACEE,aAAa,UAAY;YAEnBC;QADJ,MAAMA,SAAS,MAAMb,MAAqDE,sBAAsB,CAAC,GAAG;YAAEY,cAAcb,gBAAgBc,OAAO;QAAC;QAC5I,IAAIF,CAAAA,eAAAA,OAAOG,IAAI,cAAXH,0BAAAA,KAAAA,IAAAA,aAAaI,aAAaC,MAAM,EAAE;YACpC,MAAMC,UAAUN,OAAOG,IAAI,CAACC,YAAY;YACxCV,QAAQY;QACV,CAAC;IACH,GACAC,WAAW,IAAM;QACfX,QAAQH,KAAKe,IAAI,CAACC,CAAAA,OAAQA,KAAKC,EAAE,IAAIpB,MAAMqB,KAAK;QAChDb,QAAQ;YACNc,OAAOnB,KAAKoB,MAAM,CAACJ,CAAAA;gBAAQA,OAAAA,CAAAA,iBAAAA,kBAAAA,KAAAA,IAAAA,KAAMC,EAAE,AAAD,KAAKpB,MAAMqB,KAAK;eAAEG,GAAG,CAACL,CAAAA,OAAQ;gBAC9D,OAAO;oBACLM,KAAKN,KAAKC,EAAE;oBACZM,OAAOP,KAAKQ,IAAI;oBAChBC,SAASC;gBACX;YACF;QACF;IACF,GACAA,gBAAgBtC,YAAY,CAAC,EAAEkC,IAAG,EAAmB,GAAK;QACxDnC,MAAMwC,OAAO,CAAC;YACZC,OAAO7B,OAAO8B,YAAY;YAC1BC,SAAS/B,OAAOgC,cAAc;YAC9BC,MAAM,IAAM;gBACVnC,MAAMoC,QAAQ,CAACX;YACjB;QACF;IACF,GAAG,EAAE;IAEPjC,UAAU,IAAM;QACd,IAAI6C,SAASC,MAAM,IAAKjC,QAAQA,KAAKe,EAAE,IAAIpB,MAAMqB,KAAK,EAAG;YACvD,MAAMkB,SAASrC,OAAOsC,cAAc;YACpCH,SAASN,KAAK,GAAGQ;YACjBF,SAASI,IAAI,CAACC,SAAS,GAAG,CAAC,kDAAkD,EAAEH,OAAO,MAAM,CAAC;YAC7FI,OAAOC,KAAK;QACd,OACE3B;IAEJ,GAAG;QAACjB,MAAMqB,KAAK;KAAC;IAEhB7B,UAAU,IAAM;QACdyB;IACF,GAAG;QAACd;KAAK;IAETX,UAAU,IAAM;QACd,IAAIQ,MAAM6C,UAAU,EAClBzC,QAAQJ,MAAM6C,UAAU;aAExBpC;IAEJ,GAAG;;QAAGT,MAAM6C,UAAU;KAAC;IAEvB,OAAOxC,qBAAO,KAAChB;QAASY,MAAMA;QAAM6C,UAAU7C,CAAAA,iBAAAA,kBAAAA,KAAAA,IAAAA,CAAAA,cAAAA,KAAMqB,KAAK,cAAXrB,yBAAAA,KAAAA,IAAAA,YAAac,MAAF,AAAD,MAAc;kBACpE,cAAA,KAACgC;YAAKC,WAAWtD,OAAOuD,MAAM;sBAC5B,cAAA,KAACF;0BAAM1C,KAAKsB,IAAI;;;uBAEN,mBAAK;AACrB,CAAA,EAAE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export type UploadFileLocale = {
|
|
2
|
+
fileSizeTip: string;
|
|
3
|
+
del: string;
|
|
4
|
+
confirmDel: string;
|
|
5
|
+
clickOrDragUpload: string;
|
|
6
|
+
supportExtension: string;
|
|
7
|
+
errSupportExtension: string;
|
|
8
|
+
fileUpload: string;
|
|
9
|
+
tempViewer: string;
|
|
10
|
+
tempDown: string;
|
|
11
|
+
};
|
|
12
|
+
export interface UploadFileProps<T> {
|
|
13
|
+
/**
|
|
14
|
+
* bucket
|
|
15
|
+
*/
|
|
16
|
+
bucket?: string;
|
|
17
|
+
/**
|
|
18
|
+
* 应用code
|
|
19
|
+
*/
|
|
20
|
+
appCode?: string;
|
|
21
|
+
/**
|
|
22
|
+
* tenantId
|
|
23
|
+
*/
|
|
24
|
+
tenantId?: string;
|
|
25
|
+
/**
|
|
26
|
+
* 目录格式 xxx/ss
|
|
27
|
+
*/
|
|
28
|
+
directory?: string;
|
|
29
|
+
/**
|
|
30
|
+
* 强制使用目录当前缀
|
|
31
|
+
*/
|
|
32
|
+
forceDirectory?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* 限制文件大小
|
|
35
|
+
*/
|
|
36
|
+
maxSize?: number;
|
|
37
|
+
/**
|
|
38
|
+
* 限制弹框选择
|
|
39
|
+
*/
|
|
40
|
+
accept?: string;
|
|
41
|
+
/**
|
|
42
|
+
* 文件 id
|
|
43
|
+
*/
|
|
44
|
+
value?: T;
|
|
45
|
+
/**
|
|
46
|
+
* 返回文件id
|
|
47
|
+
* @param value
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
onChange?: (value?: T) => void;
|
|
51
|
+
/**
|
|
52
|
+
* 返回文件path
|
|
53
|
+
* @param path
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
onChangePath?: (path?: T) => void;
|
|
57
|
+
}
|
|
58
|
+
export declare const formatFileSize: (fileSize: number) => string;
|
|
59
|
+
export declare const randomId: (len: number) => string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//字节大小处理
|
|
2
|
+
export const formatFileSize = (fileSize)=>{
|
|
3
|
+
if (fileSize < 1024) return fileSize + 'B';
|
|
4
|
+
else if (fileSize < 1048576) return (fileSize / 1024).toFixed(2) + 'KB';
|
|
5
|
+
else if (fileSize < 1073741824) return (fileSize / 1048576).toFixed(2) + 'MB';
|
|
6
|
+
else return (fileSize / 1073741824).toFixed(2) + 'GB';
|
|
7
|
+
};
|
|
8
|
+
// 随机数
|
|
9
|
+
export const randomId = (len)=>{
|
|
10
|
+
let str = '';
|
|
11
|
+
for(; str.length < len; str += Math.random().toString(36).substring(2));
|
|
12
|
+
return str.substring(0, len);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\upload-file\index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\upload-file\\index.ts"],"sourcesContent":["export type UploadFileLocale = {\r\n // 文件大小必须小于:\r\n fileSizeTip: string;\r\n del: string;\r\n confirmDel: string;\r\n // 点击或拖拽文件上传\r\n clickOrDragUpload: string;\r\n // 支持扩展名\r\n supportExtension: string;\r\n errSupportExtension: string;\r\n fileUpload: string;\r\n tempViewer: string;\r\n tempDown: string;\r\n}\r\n\r\nexport interface UploadFileProps<T> {\r\n /**\r\n * bucket\r\n */\r\n bucket?: string;\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 * 目录格式 xxx/ss\r\n */\r\n directory?: string;\r\n /**\r\n * 强制使用目录当前缀\r\n */\r\n forceDirectory?: boolean;\r\n /**\r\n * 限制文件大小\r\n */\r\n maxSize?: number;\r\n /**\r\n * 限制弹框选择\r\n */\r\n accept?: string;\r\n /**\r\n * 文件 id\r\n */\r\n value?: T;\r\n /**\r\n * 返回文件id\r\n * @param value\r\n * @returns\r\n */\r\n onChange?: (value?: T) => void;\r\n /**\r\n * 返回文件path\r\n * @param path\r\n * @returns\r\n */\r\n onChangePath?: (path?: T) => void;\r\n}\r\n\r\n//字节大小处理\r\nexport const formatFileSize = (fileSize: number) => {\r\n if (fileSize < 1024) {\r\n return fileSize + 'B';\r\n } else if (fileSize < (1024 * 1024)) {\r\n return (fileSize / 1024).toFixed(2) + 'KB';\r\n } else if (fileSize < (1024 * 1024 * 1024)) {\r\n return (fileSize / (1024 * 1024)).toFixed(2) + 'MB';\r\n } else {\r\n return (fileSize / (1024 * 1024 * 1024)).toFixed(2) + 'GB';\r\n }\r\n}\r\n\r\n// 随机数\r\nexport const randomId = (len: number) => {\r\n let str = '';\r\n for (; str.length < len; str += Math.random().toString(36).substring(2));\r\n return str.substring(0, len);\r\n}\r\n"],"names":["formatFileSize","fileSize","toFixed","randomId","len","str","length","Math","random","toString","substring"],"mappings":"AA8DA,QAAQ;AACR,OAAO,MAAMA,iBAAiB,CAACC,WAAqB;IAClD,IAAIA,WAAW,MACb,OAAOA,WAAW;SACb,IAAIA,WAAY,SACrB,OAAO,AAACA,CAAAA,WAAW,IAAG,EAAGC,OAAO,CAAC,KAAK;SACjC,IAAID,WAAY,YACrB,OAAO,AAACA,CAAAA,WAAY,OAAW,EAAGC,OAAO,CAAC,KAAK;SAE/C,OAAO,AAACD,CAAAA,WAAY,UAAkB,EAAGC,OAAO,CAAC,KAAK;AAE1D,EAAC;AAED,MAAM;AACN,OAAO,MAAMC,WAAW,CAACC,MAAgB;IACvC,IAAIC,MAAM;IACV,MAAOA,IAAIC,MAAM,GAAGF,KAAKC,OAAOE,KAAKC,MAAM,GAAGC,QAAQ,CAAC,IAAIC,SAAS,CAAC;IACrE,OAAOL,IAAIK,SAAS,CAAC,GAAGN;AAC1B,EAAC"}
|