react-toolkits 2.25.0 → 2.26.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/CHANGELOG.md +13 -0
- package/README.md +5 -5
- package/lib/chunk-24U2EF5M.js +2 -0
- package/lib/chunk-24U2EF5M.js.map +1 -0
- package/lib/{chunk-GI5OS4VD.js → chunk-5QAEUAZE.js} +2 -2
- package/lib/{chunk-GI5OS4VD.js.map → chunk-5QAEUAZE.js.map} +1 -1
- package/lib/chunk-D5YXBSTI.js +2 -0
- package/lib/chunk-D5YXBSTI.js.map +1 -0
- package/lib/chunk-F2GDEOP4.js +3 -0
- package/lib/chunk-F2GDEOP4.js.map +1 -0
- package/lib/{chunk-742NAY4S.js → chunk-FIT6S4UM.js} +2 -2
- package/lib/{chunk-742NAY4S.js.map → chunk-FIT6S4UM.js.map} +1 -1
- package/lib/chunk-JDCSIJL7.js +2 -0
- package/lib/chunk-JDCSIJL7.js.map +1 -0
- package/lib/chunk-KZHYK554.js +2 -0
- package/lib/chunk-KZHYK554.js.map +1 -0
- package/lib/chunk-MVG7YFPB.js +2 -0
- package/lib/chunk-MVG7YFPB.js.map +1 -0
- package/lib/chunk-P5T74EXP.js +2 -0
- package/lib/{chunk-PLJPZJ7T.js.map → chunk-P5T74EXP.js.map} +1 -1
- package/lib/{createMenuItem-C7HUFDD4.js → createMenuItem-Q5TJGFKZ.js} +2 -2
- package/lib/{createMenuItem-C7HUFDD4.js.map → createMenuItem-Q5TJGFKZ.js.map} +1 -1
- package/lib/index.d.ts +83 -40
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/{menuItemList-2OFNRCPR.js → menuItemList-5QGQYB3N.js} +2 -2
- package/lib/{menuItemList-2OFNRCPR.js.map → menuItemList-5QGQYB3N.js.map} +1 -1
- package/lib/{roleDetail-YBO7TOL5.js → roleDetail-ODJVDVB4.js} +2 -2
- package/lib/{roleDetail-YBO7TOL5.js.map → roleDetail-ODJVDVB4.js.map} +1 -1
- package/lib/roleList-ATJYWJ6Q.js +2 -0
- package/lib/roleList-ATJYWJ6Q.js.map +1 -0
- package/lib/{updateMenuItem-23ZR4X2P.js → updateMenuItem-4HDRJAY7.js} +2 -2
- package/lib/{updateMenuItem-23ZR4X2P.js.map → updateMenuItem-4HDRJAY7.js.map} +1 -1
- package/lib/userDetail-B5H4A4X2.js +2 -0
- package/lib/userDetail-B5H4A4X2.js.map +1 -0
- package/lib/userList-7CQLR3HK.js +2 -0
- package/lib/userList-7CQLR3HK.js.map +1 -0
- package/locale/hooks.js +1 -1
- package/locale/hooks.js.map +1 -1
- package/package.json +12 -12
- package/lib/chunk-EESZYCYA.js +0 -2
- package/lib/chunk-EESZYCYA.js.map +0 -1
- package/lib/chunk-K43HSNXS.js +0 -2
- package/lib/chunk-K43HSNXS.js.map +0 -1
- package/lib/chunk-LEVOCZUQ.js +0 -2
- package/lib/chunk-LEVOCZUQ.js.map +0 -1
- package/lib/chunk-PLJPZJ7T.js +0 -2
- package/lib/chunk-V3YBDED3.js +0 -2
- package/lib/chunk-V3YBDED3.js.map +0 -1
- package/lib/chunk-VFRB44XY.js +0 -2
- package/lib/chunk-VFRB44XY.js.map +0 -1
- package/lib/chunk-W3E3WPLB.js +0 -3
- package/lib/chunk-W3E3WPLB.js.map +0 -1
- package/lib/roleList-UEZPNJ2L.js +0 -2
- package/lib/roleList-UEZPNJ2L.js.map +0 -1
- package/lib/userDetail-QZDRSIYE.js +0 -2
- package/lib/userDetail-QZDRSIYE.js.map +0 -1
- package/lib/userList-IBXB6M6R.js +0 -2
- package/lib/userList-IBXB6M6R.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/menu/pages/menuItemList/index.tsx"],"names":["MenuItemList","t","useTranslation","message","App","remove","useRemoveMenu","refetch","useQueryListStore","refetchMenuList","useMenuList","navigate","useNavigate","jsx","Fragment","Card","Button","QueryList_default","value","_","record","jsxs","Space","Popconfirm","Highlight_default","data","menuItemList_default"],"mappings":"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","file":"menuItemList-
|
|
1
|
+
{"version":3,"sources":["../src/modules/menu/pages/menuItemList/index.tsx"],"names":["MenuItemList","t","useTranslation","message","App","remove","useRemoveMenu","refetch","useQueryListStore","refetchMenuList","useMenuList","navigate","useNavigate","jsx","Fragment","Card","Button","QueryList_default","value","_","record","jsxs","Space","Popconfirm","Highlight_default","data","menuItemList_default"],"mappings":"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","file":"menuItemList-5QGQYB3N.js","sourcesContent":["import type { TableColumnsType } from 'antd'\nimport { App, Button, Card, Popconfirm, Space } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { Highlight } from '@/components/highlight'\nimport { QueryList, useQueryListStore } from '@/components/queryList'\nimport { useTranslation } from '@/locale'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\nimport { useRemoveMenu } from '../../services'\n\nconst MenuItemList = () => {\n const { t } = useTranslation()\n const { message } = App.useApp()\n const remove = useRemoveMenu()\n const { refetch } = useQueryListStore()\n const { refetch: refetchMenuList } = useMenuList()\n const navigate = useNavigate()\n\n const columns: TableColumnsType<MenuListItem> = [\n {\n title: '菜单名称',\n dataIndex: 'category',\n key: 'category',\n },\n {\n title: '前端路由',\n dataIndex: 'front_route',\n },\n {\n title: 'Order',\n dataIndex: 'order',\n },\n {\n title: 'Is Common',\n dataIndex: 'is_common',\n key: 'is_common',\n render: value => (value ? '是' : '否'),\n },\n {\n title: '模板名称',\n dataIndex: 'model_name',\n key: 'model_name',\n },\n // {\n // title: '是否预设',\n // dataIndex: 'is_model',\n // key: 'is_model',\n // render: value => (value ? '否' : '是'),\n // },\n {\n title: '操作',\n key: 'action',\n width: 150,\n align: 'center',\n render(_, record) {\n if (record.is_model) {\n return (\n <Space size=\"small\">\n <Button\n type=\"link\"\n onClick={() => {\n navigate(`./update/${record.id}`)\n }}\n >\n {t('global.update')}\n </Button>\n <Popconfirm\n title=\"删除菜单\"\n placement=\"topRight\"\n description={<Highlight texts={[record.category]}>确定要删除菜单 {record.category} 吗?</Highlight>}\n onConfirm={async () => {\n await remove.mutateAsync(record.id)\n // 触发所有相关实例的刷新\n refetch('menu-item-list')\n refetchMenuList()\n message.success('删除成功')\n }}\n >\n <Button danger type=\"link\" size=\"small\">\n {t('global.delete')}\n </Button>\n </Popconfirm>\n </Space>\n )\n }\n\n return null\n },\n },\n ]\n\n return (\n <>\n <Card\n title=\"菜单管理\"\n extra={\n <Button\n type=\"primary\"\n onClick={() => {\n navigate('./create')\n }}\n >\n 创建菜单项\n </Button>\n }\n >\n <QueryList<MenuListItem, undefined, MenuListItem[]>\n identifier=\"menu-item-list\"\n onePage={true}\n code=\"9900001\"\n rowKey=\"id\"\n columns={columns}\n request={{\n url: '/api/usystem/menu/list',\n method: 'GET',\n }}\n dataAdapter={data => ({\n items: data,\n })}\n />\n </Card>\n </>\n )\n}\n\nexport default MenuItemList\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b as b$1,a as a$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=roleDetail-
|
|
1
|
+
import {b as b$1,a as a$1}from'./chunk-MVG7YFPB.js';import {b}from'./chunk-KZHYK554.js';import {a as a$2}from'./chunk-5QAEUAZE.js';import {a}from'./chunk-D5YXBSTI.js';import'./chunk-JDCSIJL7.js';import'./chunk-F2GDEOP4.js';import {Breadcrumb,Card,Skeleton,Descriptions,Divider}from'antd';import {useParams,Link}from'react-router-dom';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var L=()=>{let c=useParams(),{t:o}=a(),{data:t,isLoading:p,refetch:d}=b(c.name),{show:u,modal:f}=b$1({mode:"update",onSuccess(){d();}}),b$2=async()=>{u({initialValues:{permissions:t?.permissions,name:t?.name.replace(/^role_/,"")},extraValues:{id:t.id}});};return jsxs(Fragment,{children:[jsx(Breadcrumb,{className:"mb-6",items:[{key:"1",title:jsx(Link,{to:"..",relative:"path",children:o("global.role")})},{key:"2",title:o("RoleDetail.title")}]}),jsx(Card,{title:o("RoleDetail.title"),extra:jsx(a$2,{code:"200003",onClick:b$2,children:o("global.update")}),children:jsxs(Skeleton,{loading:p,children:[jsxs(Descriptions,{column:2,layout:"vertical",className:"mb-6",children:[jsx(Descriptions.Item,{label:o("global.name"),children:t?.name}),jsx(Descriptions.Item,{label:"ID",children:t?.id}),jsx(Descriptions.Item,{label:o("global.creationTime"),children:t?.ctime})]}),jsx(Divider,{}),jsx(a$1,{readonly:true,value:t?.permissions})]})}),f]})},V=L;export{V as default};//# sourceMappingURL=roleDetail-ODJVDVB4.js.map
|
|
2
|
+
//# sourceMappingURL=roleDetail-ODJVDVB4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/permission/pages/roleDetail/index.tsx"],"names":["RoleDetail","params","useParams","t","useTranslation","data","isLoading","refetch","useRole","show","modal","useRoleModal","handleUpdateBtnClick","jsxs","Fragment","jsx","Breadcrumb","Link","Card","AuthButton_default","Skeleton","Descriptions","Divider","permissionList_default","roleDetail_default"],"mappings":"gYAUA,IAAMA,CAAAA,CAAa,IAAM,CACvB,IAAMC,CAAAA,CAASC,SAAAA,EAAU,CACnB,CAAE,EAAAC,CAAE,CAAA,CAAIC,CAAAA,EAAe,CACvB,CAAE,IAAA,CAAAC,EAAM,SAAA,CAAAC,CAAAA,CAAW,OAAA,CAAAC,CAAQ,CAAA,CAAIC,CAAAA,CAAQP,EAAO,IAAc,CAAA,CAE5D,CAAE,IAAA,CAAAQ,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAA,CAAIC,GAAAA,CAAa,CACnC,IAAA,CAAM,QAAA,CACN,SAAA,EAAY,CACVJ,CAAAA,GACF,CACF,CAAC,CAAA,CAEKK,GAAAA,CAAuB,SAAY,CACvCH,CAAAA,CAAK,CACH,aAAA,CAAe,CACb,WAAA,CAAaJ,GAAM,WAAA,CACnB,IAAA,CAAMA,CAAAA,EAAM,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAU,EAAE,CACvC,CAAA,CACA,WAAA,CAAa,CACX,EAAA,CAAIA,CAAAA,CAAM,EACZ,CACF,CAAC,EACH,CAAA,CAEA,OACEQ,IAAAA,CAAAC,SAAA,CACE,QAAA,CAAA,CAAAC,GAAAA,CAACC,UAAAA,CAAA,CACC,SAAA,CAAU,MAAA,CACV,KAAA,CAAO,CACL,CACE,GAAA,CAAK,GAAA,CACL,KAAA,CACED,GAAAA,CAACE,KAAA,CAAK,EAAA,CAAG,IAAA,CAAK,QAAA,CAAS,MAAA,CACpB,QAAA,CAAAd,EAAE,aAAa,CAAA,CAClB,CAEJ,CAAA,CACA,CACE,GAAA,CAAK,IACL,KAAA,CAAOA,CAAAA,CAAE,kBAAkB,CAC7B,CACF,CAAA,CACF,EACAY,GAAAA,CAACG,IAAAA,CAAA,CACC,KAAA,CAAOf,CAAAA,CAAE,kBAAkB,EAC3B,KAAA,CACEY,GAAAA,CAACI,GAAAA,CAAA,CAAW,IAAA,CAAK,QAAA,CAAS,QAASP,GAAAA,CAChC,QAAA,CAAAT,CAAAA,CAAE,eAAe,CAAA,CACpB,CAAA,CAGF,SAAAU,IAAAA,CAACO,QAAAA,CAAA,CAAS,OAAA,CAASd,CAAAA,CACjB,QAAA,CAAA,CAAAO,IAAAA,CAACQ,YAAAA,CAAA,CAAa,MAAA,CAAQ,CAAA,CAAG,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,OACnD,QAAA,CAAA,CAAAN,GAAAA,CAACM,YAAAA,CAAa,IAAA,CAAb,CAAkB,KAAA,CAAOlB,EAAE,aAAa,CAAA,CAAI,QAAA,CAAAE,CAAAA,EAAM,IAAA,CAAK,CAAA,CACxDU,IAACM,YAAAA,CAAa,IAAA,CAAb,CAAkB,KAAA,CAAM,IAAA,CAAM,QAAA,CAAAhB,GAAM,EAAA,CAAG,CAAA,CACxCU,GAAAA,CAACM,YAAAA,CAAa,IAAA,CAAb,CAAkB,MAAOlB,CAAAA,CAAE,qBAAqB,CAAA,CAAI,QAAA,CAAAE,CAAAA,EAAM,KAAA,CAAM,GACnE,CAAA,CACAU,GAAAA,CAACO,OAAAA,CAAA,EAAQ,CAAA,CACTP,GAAAA,CAACQ,IAAA,CAAe,QAAA,CAAQ,IAAA,CAAC,KAAA,CAAOlB,CAAAA,EAAM,WAAA,CAAa,CAAA,CAAA,CACrD,CAAA,CACF,CAAA,CACCK,CAAAA,CAAAA,CACH,CAEJ,CAAA,CAEOc,CAAAA,CAAQxB","file":"roleDetail-
|
|
1
|
+
{"version":3,"sources":["../src/modules/permission/pages/roleDetail/index.tsx"],"names":["RoleDetail","params","useParams","t","useTranslation","data","isLoading","refetch","useRole","show","modal","useRoleModal","handleUpdateBtnClick","jsxs","Fragment","jsx","Breadcrumb","Link","Card","AuthButton_default","Skeleton","Descriptions","Divider","permissionList_default","roleDetail_default"],"mappings":"gYAUA,IAAMA,CAAAA,CAAa,IAAM,CACvB,IAAMC,CAAAA,CAASC,SAAAA,EAAU,CACnB,CAAE,EAAAC,CAAE,CAAA,CAAIC,CAAAA,EAAe,CACvB,CAAE,IAAA,CAAAC,EAAM,SAAA,CAAAC,CAAAA,CAAW,OAAA,CAAAC,CAAQ,CAAA,CAAIC,CAAAA,CAAQP,EAAO,IAAc,CAAA,CAE5D,CAAE,IAAA,CAAAQ,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAA,CAAIC,GAAAA,CAAa,CACnC,IAAA,CAAM,QAAA,CACN,SAAA,EAAY,CACVJ,CAAAA,GACF,CACF,CAAC,CAAA,CAEKK,GAAAA,CAAuB,SAAY,CACvCH,CAAAA,CAAK,CACH,aAAA,CAAe,CACb,WAAA,CAAaJ,GAAM,WAAA,CACnB,IAAA,CAAMA,CAAAA,EAAM,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAU,EAAE,CACvC,CAAA,CACA,WAAA,CAAa,CACX,EAAA,CAAIA,CAAAA,CAAM,EACZ,CACF,CAAC,EACH,CAAA,CAEA,OACEQ,IAAAA,CAAAC,SAAA,CACE,QAAA,CAAA,CAAAC,GAAAA,CAACC,UAAAA,CAAA,CACC,SAAA,CAAU,MAAA,CACV,KAAA,CAAO,CACL,CACE,GAAA,CAAK,GAAA,CACL,KAAA,CACED,GAAAA,CAACE,KAAA,CAAK,EAAA,CAAG,IAAA,CAAK,QAAA,CAAS,MAAA,CACpB,QAAA,CAAAd,EAAE,aAAa,CAAA,CAClB,CAEJ,CAAA,CACA,CACE,GAAA,CAAK,IACL,KAAA,CAAOA,CAAAA,CAAE,kBAAkB,CAC7B,CACF,CAAA,CACF,EACAY,GAAAA,CAACG,IAAAA,CAAA,CACC,KAAA,CAAOf,CAAAA,CAAE,kBAAkB,EAC3B,KAAA,CACEY,GAAAA,CAACI,GAAAA,CAAA,CAAW,IAAA,CAAK,QAAA,CAAS,QAASP,GAAAA,CAChC,QAAA,CAAAT,CAAAA,CAAE,eAAe,CAAA,CACpB,CAAA,CAGF,SAAAU,IAAAA,CAACO,QAAAA,CAAA,CAAS,OAAA,CAASd,CAAAA,CACjB,QAAA,CAAA,CAAAO,IAAAA,CAACQ,YAAAA,CAAA,CAAa,MAAA,CAAQ,CAAA,CAAG,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,OACnD,QAAA,CAAA,CAAAN,GAAAA,CAACM,YAAAA,CAAa,IAAA,CAAb,CAAkB,KAAA,CAAOlB,EAAE,aAAa,CAAA,CAAI,QAAA,CAAAE,CAAAA,EAAM,IAAA,CAAK,CAAA,CACxDU,IAACM,YAAAA,CAAa,IAAA,CAAb,CAAkB,KAAA,CAAM,IAAA,CAAM,QAAA,CAAAhB,GAAM,EAAA,CAAG,CAAA,CACxCU,GAAAA,CAACM,YAAAA,CAAa,IAAA,CAAb,CAAkB,MAAOlB,CAAAA,CAAE,qBAAqB,CAAA,CAAI,QAAA,CAAAE,CAAAA,EAAM,KAAA,CAAM,GACnE,CAAA,CACAU,GAAAA,CAACO,OAAAA,CAAA,EAAQ,CAAA,CACTP,GAAAA,CAACQ,IAAA,CAAe,QAAA,CAAQ,IAAA,CAAC,KAAA,CAAOlB,CAAAA,EAAM,WAAA,CAAa,CAAA,CAAA,CACrD,CAAA,CACF,CAAA,CACCK,CAAAA,CAAAA,CACH,CAEJ,CAAA,CAEOc,CAAAA,CAAQxB","file":"roleDetail-ODJVDVB4.js","sourcesContent":["import { Breadcrumb, Card, Descriptions, Divider, Skeleton } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\n\nimport { AuthButton } from '@/components'\nimport { useTranslation } from '@/locale'\n\nimport { PermissionList } from '../../components'\nimport { useRoleModal } from '../../hooks'\nimport { useRole } from '../../services'\n\nconst RoleDetail = () => {\n const params = useParams()\n const { t } = useTranslation()\n const { data, isLoading, refetch } = useRole(params.name as string)\n\n const { show, modal } = useRoleModal({\n mode: 'update',\n onSuccess() {\n refetch()\n },\n })\n\n const handleUpdateBtnClick = async () => {\n show({\n initialValues: {\n permissions: data?.permissions,\n name: data?.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: data!.id,\n },\n })\n }\n\n return (\n <>\n <Breadcrumb\n className=\"mb-6\"\n items={[\n {\n key: '1',\n title: (\n <Link to=\"..\" relative=\"path\">\n {t('global.role')}\n </Link>\n ),\n },\n {\n key: '2',\n title: t('RoleDetail.title'),\n },\n ]}\n />\n <Card\n title={t('RoleDetail.title')}\n extra={\n <AuthButton code=\"200003\" onClick={handleUpdateBtnClick}>\n {t('global.update')}\n </AuthButton>\n }\n >\n <Skeleton loading={isLoading}>\n <Descriptions column={2} layout=\"vertical\" className=\"mb-6\">\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.creationTime')}>{data?.ctime}</Descriptions.Item>\n </Descriptions>\n <Divider />\n <PermissionList readonly value={data?.permissions} />\n </Skeleton>\n </Card>\n {modal}\n </>\n )\n}\n\nexport default RoleDetail\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c,b as b$1,e as e$1}from'./chunk-P5T74EXP.js';import {b}from'./chunk-MVG7YFPB.js';import {e}from'./chunk-KZHYK554.js';import {a as a$2}from'./chunk-5QAEUAZE.js';import {a as a$1}from'./chunk-D5YXBSTI.js';import {a}from'./chunk-JDCSIJL7.js';import {k,i}from'./chunk-F2GDEOP4.js';import {UsergroupAddOutlined}from'@ant-design/icons';import {App,Space,Card}from'antd';import {Link}from'react-router-dom';import {jsxs,jsx,Fragment}from'react/jsx-runtime';var O=()=>{let{modal:R,message:g}=App.useApp(),{data:k$1}=a("200005"),{t:e$2}=a$1(),{refetch:s}=c(),L=k(),{context:{permissionMode:T}}=i(),{show:A,modal:C}=b({mode:"create",onSuccess(){s("role-list",{page:1});}}),{show:b$2,modal:w}=b({mode:"update",onSuccess(){s("role-list");}}),I=e(),M=async t=>{let o=await L.get(`/api/usystem/role/${T==="game_scoped"?"info":"infoV2"}?name=${t.name}`);b$2({initialValues:{permissions:o.permissions,name:o.name.replace(/^role_/,"")},extraValues:{id:o?.id}});},S=[{title:e$2("global.name"),key:"name",render(t){return k$1?jsx(Link,{to:`${t.name}`,relative:"path",children:t.name}):jsx(Fragment,{children:t.name})}},{title:"ID",dataIndex:"id",key:"id"},{title:e$2("global.creationTime"),dataIndex:"ctime",key:"ctime"},{title:e$2("global.operation"),width:150,align:"center",render:(t,o)=>jsxs(Space,{size:"small",children:[jsx(a$2,{code:"200003",size:"small",type:"link",onClick:async()=>{M(o);},children:e$2("global.update")}),jsx(a$2,{danger:true,code:"200004",size:"small",type:"link",onClick:()=>{R.confirm({title:e$2("Role.deleteTitle"),content:jsx(b$1,{texts:[o.name],children:e$2("Role.deleteContent",{role:o.name})}),async onOk(){await I.mutateAsync({id:o.id,name:o.name}),s("role-list"),g.success(e$2("Role.deleteSuccessfully"));}});},children:e$2("global.delete")})]})}];return jsxs(Fragment,{children:[jsx(Card,{title:e$2("global.role"),extra:jsx(a$2,{type:"primary",code:"200002",icon:jsx(UsergroupAddOutlined,{}),onClick:()=>{A();},children:e$2("Role.createTitle")}),children:jsx(e$1,{identifier:"role-list",rowKey:"name",columns:S,code:"200001",request:{url:"/api/usystem/role/list",method:"GET"},dataAdapter:t=>({total:t?.Total,items:t?.List})})}),C,w]})},Q=O;export{Q as default};//# sourceMappingURL=roleList-ATJYWJ6Q.js.map
|
|
2
|
+
//# sourceMappingURL=roleList-ATJYWJ6Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/permission/pages/roleList/index.tsx"],"names":["RoleList","modal","message","App","viewable","useAuth","t","useTranslation","refetch","useQueryListStore","ky","useKy","permissionMode","useToolkitsStore","showCreateModal","createModal","useRoleModal","showUpdateModal","updateModal","remove","useRemoveRole","handleUpdateBtnClick","record","data","columns","value","jsx","Link","Fragment","_","jsxs","Space","AuthButton_default","Highlight_default","Card","UsergroupAddOutlined","QueryList_default","roleList_default"],"mappings":"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","file":"roleList-ATJYWJ6Q.js","sourcesContent":["import { UsergroupAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Space } from 'antd'\nimport { Link } from 'react-router-dom'\n\nimport { AuthButton, Highlight, QueryList, useQueryListStore, useToolkitsStore } from '@/components'\nimport { PermissionMode } from '@/constants'\nimport { useKy } from '@/libs'\nimport { useTranslation } from '@/locale'\nimport { useAuth } from '@/services'\n\nimport { useRoleModal } from '../../hooks'\nimport { useRemoveRole } from '../../services'\nimport type { RoleListItem, RoleV1, RoleV2 } from '../../types'\n\nconst RoleList = () => {\n const { modal, message } = App.useApp()\n const { data: viewable } = useAuth('200005')\n const { t } = useTranslation()\n const { refetch } = useQueryListStore()\n const ky = useKy()\n const {\n context: { permissionMode },\n } = useToolkitsStore()\n\n const { show: showCreateModal, modal: createModal } = useRoleModal({\n mode: 'create',\n onSuccess() {\n refetch('role-list', { page: 1 })\n },\n })\n const { show: showUpdateModal, modal: updateModal } = useRoleModal({\n mode: 'update',\n onSuccess() {\n refetch('role-list')\n },\n })\n\n const remove = useRemoveRole()\n\n const handleUpdateBtnClick = async (record: RoleListItem) => {\n const data = await ky.get<RoleV1 | RoleV2>(\n `/api/usystem/role/${permissionMode === PermissionMode.GAME_SCOPED ? 'info' : 'infoV2'}?name=${record.name}`,\n )\n\n showUpdateModal({\n initialValues: {\n permissions: data.permissions,\n name: data.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: data?.id,\n },\n })\n }\n\n const columns: TableColumnsType<RoleListItem> = [\n {\n title: t('global.name'),\n key: 'name',\n render(value: RoleListItem) {\n if (viewable) {\n return (\n <Link to={`${value.name}`} relative=\"path\">\n {value.name}\n </Link>\n )\n } else {\n return <>{value.name}</>\n }\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (_, record) => {\n return (\n <Space size=\"small\">\n <AuthButton\n code=\"200003\"\n size=\"small\"\n type=\"link\"\n onClick={async () => {\n handleUpdateBtnClick(record)\n }}\n >\n {t('global.update')}\n </AuthButton>\n <AuthButton\n danger\n code=\"200004\"\n size=\"small\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('Role.deleteTitle'),\n content: (\n <Highlight texts={[record.name]}>{t('Role.deleteContent', { role: record.name })}</Highlight>\n ),\n async onOk() {\n await remove.mutateAsync({\n id: record.id,\n name: record.name,\n })\n\n refetch('role-list')\n\n message.success(t('Role.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </AuthButton>\n </Space>\n )\n },\n },\n ]\n\n return (\n <>\n <Card\n title={t('global.role')}\n extra={\n <AuthButton\n type=\"primary\"\n code=\"200002\"\n icon={<UsergroupAddOutlined />}\n onClick={() => {\n showCreateModal()\n }}\n >\n {t('Role.createTitle')}\n </AuthButton>\n }\n >\n <QueryList<RoleListItem, undefined, { List: RoleListItem[]; Total: number }>\n identifier=\"role-list\"\n rowKey=\"name\"\n columns={columns}\n code=\"200001\"\n request={{\n url: '/api/usystem/role/list',\n method: 'GET',\n }}\n dataAdapter={data => ({\n total: data?.Total,\n items: data?.List,\n })}\n />\n </Card>\n {createModal}\n {updateModal}\n </>\n )\n}\n\nexport default RoleList\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=updateMenuItem-
|
|
1
|
+
import {b}from'./chunk-FIT6S4UM.js';import {b as b$1}from'./chunk-JDCSIJL7.js';import {k,l,f}from'./chunk-F2GDEOP4.js';import {Editor}from'@monaco-editor/react';import {useQuery}from'@tanstack/react-query';import {App,Form,Card,Input,Switch,InputNumber,Button}from'antd';import {useEffect}from'react';import {useNavigate,useParams}from'react-router-dom';import {jsx,jsxs}from'react/jsx-runtime';var w=()=>{let{message:g}=App.useApp(),[i]=Form.useForm(),l$1=useNavigate(),{mutateAsync:b$2}=b(),r=useParams(),{refetch:_}=b$1(),N=k(),{data:p,isLoading:v}=useQuery({queryKey:l.menus.detail(Number(r.id)),queryFn:()=>N.get(`/api/usystem/menu/info?id=${r.id}`),enabled:!!r.id}),x=async n=>{let{permissions:m,front_route:a,...u}=n;await b$2({...u,permissions:m?JSON.parse(m):void 0,front_route:f+a,id:+r.id}),_(),g.success("\u66F4\u65B0\u6210\u529F",.8,()=>l$1("../..",{relative:"route"}));};return useEffect(()=>{let{permissions:n,front_route:m,...a}=p??{},u=JSON.stringify(n||[],null,2),q=m?.replace(f,"");i.setFieldsValue({...a,permissions:u,front_route:q});},[p,i]),jsx(Card,{title:"\u66F4\u65B0\u83DC\u5355\u9879",loading:v,children:jsxs(Form,{scrollToFirstError:true,form:i,labelCol:{flex:"120px"},initialValues:{is_common:false,is_model:false,order:0},onFinish:x,children:[jsx(Form.Item,{label:"\u83DC\u5355\u9879\u540D\u79F0",name:"category",rules:[{required:true}],children:jsx(Input,{})}),jsx(Form.Item,{label:"\u524D\u7AEF\u8DEF\u7531",name:"front_route",rules:[{required:true}],children:jsx(Input,{prefix:f})}),jsx(Form.Item,{label:"\u6A21\u677F\u540D\u79F0",name:"model_name",rules:[{required:true}],children:jsx(Input,{})}),jsx(Form.Item,{label:"Is Common",name:"is_common",rules:[{required:true}],valuePropName:"checked",children:jsx(Switch,{})}),jsx(Form.Item,{label:"Order",name:"order",children:jsx(InputNumber,{className:"w-full"})}),jsx(Form.Item,{label:"\u63A5\u53E3\u89C4\u5219",name:"permissions",children:jsx(Editor,{theme:"vs-dark",height:"300px",language:"json",options:{minimap:{enabled:false}}})}),jsx(Form.Item,{label:"Schema",name:"scheme",rules:[{required:true}],children:jsx(Editor,{theme:"vs-dark",height:"600px",language:"json",options:{minimap:{enabled:false}}})}),jsx(Form.Item,{label:"Ext",name:"ext",children:jsx(Input.TextArea,{rows:5})}),jsx(Form.Item,{children:jsxs("div",{className:"flex justify-center gap-8",children:[jsx(Button,{type:"primary",htmlType:"submit",children:"\u63D0\u4EA4"}),jsx(Button,{onClick:()=>{l$1("../..",{relative:"path"});},children:"\u53D6\u6D88"})]})})]})})},Q=w;export{Q as default};//# sourceMappingURL=updateMenuItem-4HDRJAY7.js.map
|
|
2
|
+
//# sourceMappingURL=updateMenuItem-4HDRJAY7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/menu/pages/updateMenuItem/index.tsx"],"names":["EditMenuItem","message","App","form","Form","navigate","useNavigate","mutateAsync","useUpdateMenu","params","useParams","refetch","useMenuList","ky","useKy","data","isLoading","useQuery","queryKeys","onFinish","values","permissions","front_route","rest","FRONTEND_ROUTE_PREFIX","useEffect","permissionsString","frontRoute","jsx","Card","jsxs","Input","Switch","InputNumber","Editor","Button","updateMenuItem_default"],"mappings":"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","file":"updateMenuItem-
|
|
1
|
+
{"version":3,"sources":["../src/modules/menu/pages/updateMenuItem/index.tsx"],"names":["EditMenuItem","message","App","form","Form","navigate","useNavigate","mutateAsync","useUpdateMenu","params","useParams","refetch","useMenuList","ky","useKy","data","isLoading","useQuery","queryKeys","onFinish","values","permissions","front_route","rest","FRONTEND_ROUTE_PREFIX","useEffect","permissionsString","frontRoute","jsx","Card","jsxs","Input","Switch","InputNumber","Editor","Button","updateMenuItem_default"],"mappings":"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","file":"updateMenuItem-4HDRJAY7.js","sourcesContent":["import { Editor } from '@monaco-editor/react'\nimport { useQuery } from '@tanstack/react-query'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useEffect } from 'react'\nimport { useNavigate, useParams } from 'react-router-dom'\n\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\nimport { useUpdateMenu } from '../../services'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst EditMenuItem = () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { mutateAsync } = useUpdateMenu()\n const params = useParams<'id'>()\n const { refetch } = useMenuList()\n const ky = useKy()\n\n const { data, isLoading } = useQuery({\n queryKey: queryKeys.menus.detail(Number(params.id)),\n queryFn: () => ky.get<MenuListItem>(`/api/usystem/menu/info?id=${params.id}`),\n enabled: !!params.id,\n })\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n\n await mutateAsync({\n ...rest,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n id: +params.id!,\n })\n refetch()\n message.success('更新成功', 0.8, () => navigate('../..', { relative: 'route' }))\n }\n\n useEffect(() => {\n const { permissions, front_route, ...rest } = data ?? {}\n const permissionsString = JSON.stringify(permissions || [], null, 2)\n const frontRoute = front_route?.replace(FRONTEND_ROUTE_PREFIX, '')\n form.setFieldsValue({\n ...rest,\n permissions: permissionsString,\n front_route: frontRoute,\n })\n }, [data, form])\n\n return (\n <Card title=\"更新菜单项\" loading={isLoading}>\n <Form\n scrollToFirstError\n form={form}\n labelCol={{ flex: '120px' }}\n initialValues={{ is_common: false, is_model: false, order: 0 }}\n onFinish={onFinish}\n >\n <Form.Item label=\"菜单项名称\" name=\"category\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"前端路由\" name=\"front_route\" rules={[{ required: true }]}>\n <Input prefix={FRONTEND_ROUTE_PREFIX} />\n </Form.Item>\n <Form.Item label=\"模板名称\" name=\"model_name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"Is Common\" name=\"is_common\" rules={[{ required: true }]} valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Order\" name=\"order\">\n <InputNumber className=\"w-full\" />\n </Form.Item>\n <Form.Item label=\"接口规则\" name=\"permissions\">\n <Editor\n theme=\"vs-dark\"\n height=\"300px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Schema\" name=\"scheme\" rules={[{ required: true }]}>\n <Editor\n theme=\"vs-dark\"\n height=\"600px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Ext\" name=\"ext\">\n <Input.TextArea rows={5} />\n </Form.Item>\n <Form.Item>\n <div className=\"flex justify-center gap-8\">\n <Button type=\"primary\" htmlType=\"submit\">\n 提交\n </Button>\n <Button\n onClick={() => {\n navigate('../..', { relative: 'path' })\n }}\n >\n 取消\n </Button>\n </div>\n </Form.Item>\n </Form>\n </Card>\n )\n}\n\nexport default EditMenuItem\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$2}from'./chunk-24U2EF5M.js';import'./chunk-KZHYK554.js';import {a as a$3}from'./chunk-5QAEUAZE.js';import {a}from'./chunk-D5YXBSTI.js';import {c,a as a$1}from'./chunk-JDCSIJL7.js';import {i,k,l}from'./chunk-F2GDEOP4.js';import {useQuery}from'@tanstack/react-query';import {Tag,Breadcrumb,Card,Descriptions,Table}from'antd';import {useParams,Link}from'react-router-dom';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var P=()=>{let i$1=useParams(),{t:o}=a(),{context:{useGameApiV2:D,permissionMode:T}}=i(),h=T==="group_based",L=k(),{data:s,isLoading:x,refetch:A}=useQuery({queryKey:l.users.detail(i$1.id||""),queryFn:()=>L.get(`/api/usystem/user/info?id=${i$1.id}`),enabled:!!i$1.id}),{data:B}=c(),{data:C}=a$1("200005"),{show:G,modal:S}=a$2({mode:"update",onSuccess(){A();}}),U=[h&&{key:"group",title:o("global.projectGroup"),dataIndex:"game_group",render(r){return r.map(t=>jsx(Tag,{children:t==="*"?"\u901A\u7528":t},t))}},{key:"game",title:o("global.game"),dataIndex:"game_ids",render(r){return r.map(t=>{let K=B?.find(n=>String(D?n.game_id:n.id)===t);return jsx(Tag,{children:K?.name??(t==="*"?"\u901A\u7528":t)},t)})}},{key:"role",title:o("global.role"),dataIndex:"role",render(r){return C?jsx(Link,{to:`../../role/${r}`,relative:"path",children:r}):r}}].filter(Boolean);return jsxs(Fragment,{children:[jsx(Breadcrumb,{className:"mb-6",items:[{key:"1",title:jsx(Link,{to:"..",relative:"path",children:o("global.user")})},{key:"2",title:"\u7528\u6237\u8BE6\u60C5"}]}),jsx(Card,{title:"\u7528\u6237\u8BE6\u60C5",loading:x,extra:jsx(a$3,{code:"100003",onClick:()=>{G({initialValues:{name:s?.name,permissions:s?.permissions},extraValues:{id:s.id}});},children:o("global.update")}),children:jsxs(Descriptions,{bordered:true,column:1,children:[jsx(Descriptions.Item,{label:o("global.name"),children:s?.name}),jsx(Descriptions.Item,{label:"ID",children:s?.id}),jsx(Descriptions.Item,{label:o("global.role"),children:jsx(Table,{rowKey:"role",columns:U,dataSource:s?.permissions,pagination:false})})]})}),S]})},z=P;export{z as default};//# sourceMappingURL=userDetail-B5H4A4X2.js.map
|
|
2
|
+
//# sourceMappingURL=userDetail-B5H4A4X2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/permission/pages/userDetail/index.tsx"],"names":["UserDetail","params","useParams","t","useTranslation","useGameApiV2","permissionMode","useToolkitsStore","isGroupBased","ky","useKy","data","isLoading","refetch","useQuery","queryKeys","games","useGames","roleViewable","useAuth","show","modal","useUserModal","columns","value","item","jsx","Tag","matchedGame","game","Link","jsxs","Fragment","Breadcrumb","Card","AuthButton_default","Descriptions","Table","userDetail_default"],"mappings":"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","file":"userDetail-B5H4A4X2.js","sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport type { TableColumnsType } from 'antd'\nimport { Breadcrumb, Card, Descriptions, Table, Tag } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\n\nimport { AuthButton, useToolkitsStore } from '@/components'\nimport { PermissionMode, WILDCARD } from '@/constants'\nimport { useKy } from '@/libs'\nimport { useTranslation } from '@/locale'\nimport { queryKeys } from '@/queryKeys'\nimport { useAuth, useGames } from '@/services'\n\nimport { useUserModal } from '../../hooks'\nimport type { UserListItem } from '../../types'\n\nconst UserDetail = () => {\n const params = useParams<'id'>()\n const { t } = useTranslation()\n const {\n context: { useGameApiV2, permissionMode },\n } = useToolkitsStore()\n const isGroupBased = permissionMode === PermissionMode.GROUP_BASED\n const ky = useKy()\n\n const { data, isLoading, refetch } = useQuery({\n queryKey: queryKeys.users.detail(params.id || ''),\n queryFn: () => ky.get<UserListItem>(`/api/usystem/user/info?id=${params.id}`),\n enabled: !!params.id,\n })\n const { data: games } = useGames()\n const { data: roleViewable } = useAuth('200005')\n\n const { show, modal } = useUserModal({\n mode: 'update',\n onSuccess() {\n refetch()\n },\n })\n\n const columns = [\n isGroupBased && {\n key: 'group',\n title: t('global.projectGroup'),\n dataIndex: 'game_group',\n render(value: string[]) {\n return value.map(item => {\n return <Tag key={item}>{item === WILDCARD ? '通用' : item}</Tag>\n })\n },\n },\n {\n key: 'game',\n title: t('global.game'),\n dataIndex: 'game_ids',\n render(value: string[]) {\n return value.map(item => {\n const matchedGame = games?.find(game => String(useGameApiV2 ? game.game_id : game.id) === item)\n return <Tag key={item}>{matchedGame?.name ?? (item === WILDCARD ? '通用' : item)}</Tag>\n })\n },\n },\n {\n key: 'role',\n title: t('global.role'),\n dataIndex: 'role',\n render(value: string) {\n return roleViewable ? (\n <Link to={`../../role/${value}`} relative=\"path\">\n {value}\n </Link>\n ) : (\n value\n )\n },\n },\n ].filter(Boolean) as TableColumnsType\n\n return (\n <>\n <Breadcrumb\n className=\"mb-6\"\n items={[\n {\n key: '1',\n title: (\n <Link to=\"..\" relative=\"path\">\n {t('global.user')}\n </Link>\n ),\n },\n {\n key: '2',\n title: '用户详情',\n },\n ]}\n />\n <Card\n title=\"用户详情\"\n loading={isLoading}\n extra={\n <AuthButton\n code=\"100003\"\n onClick={() => {\n show({\n initialValues: {\n name: data?.name,\n permissions: data?.permissions,\n },\n extraValues: {\n id: data!.id,\n },\n })\n }}\n >\n {t('global.update')}\n </AuthButton>\n }\n >\n <Descriptions bordered column={1}>\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.role')}>\n <Table rowKey=\"role\" columns={columns} dataSource={data?.permissions} pagination={false} />\n </Descriptions.Item>\n </Descriptions>\n </Card>\n {modal}\n </>\n )\n}\n\nexport default UserDetail\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-24U2EF5M.js';import {c,b,e}from'./chunk-P5T74EXP.js';import {h}from'./chunk-KZHYK554.js';import {a as a$2}from'./chunk-5QAEUAZE.js';import {a}from'./chunk-D5YXBSTI.js';import'./chunk-JDCSIJL7.js';import {i}from'./chunk-F2GDEOP4.js';import {UserAddOutlined}from'@ant-design/icons';import {App,Row,Col,Tag,Space,Card,Form,Input}from'antd';import {Link}from'react-router-dom';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var z=()=>{let{modal:I,message:A}=App.useApp(),{t}=a(),L=h(),{refetch:l}=c(),{context:{permissionMode:a$3}}=i(),m=a$3==="group_based",d=a$3==="direct_game",{show:b$1,modal:w}=a$1({mode:"create",onSuccess(){l("user-list",{page:1});}}),{show:M,modal:S}=a$1({mode:"update",onSuccess(){l("user-list");}}),x=[{title:t("global.name"),dataIndex:"name",key:"name",render(o,r){return m||d?jsx(Link,{to:`./${r.id}`,children:o}):o}},{title:"ID",dataIndex:"id",key:"id"},{title:t("global.role"),dataIndex:"roles",key:"roles",width:"40%",render(o){return jsx(Row,{gutter:[4,4],children:(o||[]).map(r=>jsx(Col,{children:r==="root"?jsx(Tag,{color:"#f50",children:r}):jsx(Tag,{color:"#ff5a00",children:jsx(Link,{to:`../role/${r}`,children:r})})},r))})}},{title:t("global.creationTime"),dataIndex:"Ctime",key:"ctime"},{title:t("global.operation"),width:150,align:"center",render:(o,r)=>{let{name:s,permissions:B,roles:E,id:u}=r;return jsxs(Space,{children:[jsx(a$2,{size:"small",type:"link",code:"100003",onClick:()=>{M({initialValues:{name:s,...m||d?{permissions:B}:{roles:E}},extraValues:{id:u}});},children:t("global.update")}),jsx(a$2,{danger:true,size:"small",code:"100004",type:"link",onClick:()=>{I.confirm({title:t("User.deleteTitle"),content:jsx(b,{texts:[s],children:t("User.deleteContent",{user:s})}),async onOk(){await L.mutateAsync({id:u,name:s}),l("user-list"),A.success(t("User.deleteSuccessfully"));}});},children:t("global.delete")})]})}}].filter(Boolean);return jsxs(Fragment,{children:[jsx(Card,{title:t("global.user"),extra:jsx(a$2,{type:"primary",icon:jsx(UserAddOutlined,{}),code:"100002",onClick:()=>{b$1();},children:t("User.createTitle")}),children:jsx(e,{identifier:"user-list",code:"100001",request:{url:"/api/usystem/user/list",method:"GET"},rowKey:"id",columns:x,dataAdapter:o=>({total:o?.Total,items:o?.List}),renderForm:o=>jsx(Form,{form:o,children:jsx(Form.Item,{label:"\u540D\u79F0",name:"name",children:jsx(Input,{})})})})}),w,S]})},N=z;export{N as default};//# sourceMappingURL=userList-7CQLR3HK.js.map
|
|
2
|
+
//# sourceMappingURL=userList-7CQLR3HK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/permission/pages/userList/index.tsx"],"names":["UserList","modal","message","App","useTranslation","remove","useRemoveUser","refetch","useQueryListStore","permissionMode","useToolkitsStore","isGroupBased","isDirectGame","showCreateModal","createModal","useUserModal","showUpdateModal","updateModal","columns","value","record","jsx","Link","Row","item","Col","Tag","_","name","permissions","roles","id","jsxs","Space","AuthButton_default","Highlight_default","Fragment","Card","UserAddOutlined","QueryList_default","data","form","Form","Input","userList_default"],"mappings":"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","file":"userList-7CQLR3HK.js","sourcesContent":["import { UserAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Col, Form, Input, Row, Space, Tag } from 'antd'\nimport { type FC } from 'react'\nimport { Link } from 'react-router-dom'\n\nimport { AuthButton, Highlight, QueryList, useQueryListStore, useToolkitsStore } from '@/components'\nimport { PermissionMode } from '@/constants'\nimport { useTranslation } from '@/locale'\n\nimport { useUserModal } from '../../hooks'\nimport { useRemoveUser } from '../../services'\nimport type { UserListItem } from '../../types'\n\nconst UserList: FC = () => {\n const { modal, message } = App.useApp()\n const { t } = useTranslation()\n const remove = useRemoveUser()\n const { refetch } = useQueryListStore()\n const {\n context: { permissionMode },\n } = useToolkitsStore()\n const isGroupBased = permissionMode === PermissionMode.GROUP_BASED\n const isDirectGame = permissionMode === PermissionMode.DIRECT_GAME\n\n const { show: showCreateModal, modal: createModal } = useUserModal({\n mode: 'create',\n onSuccess() {\n refetch('user-list', { page: 1 })\n },\n })\n\n const { show: showUpdateModal, modal: updateModal } = useUserModal({\n mode: 'update',\n onSuccess() {\n refetch('user-list')\n },\n })\n\n const columns = (\n [\n {\n title: t('global.name'),\n dataIndex: 'name',\n key: 'name',\n render(value: string, record) {\n if (isGroupBased || isDirectGame) {\n return <Link to={`./${record.id}`}>{value}</Link>\n }\n return value\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n PermissionMode.GAME_SCOPED && {\n title: t('global.role'),\n dataIndex: 'roles',\n key: 'roles',\n width: '40%',\n render(value: string[]) {\n return (\n <Row gutter={[4, 4]}>\n {(value || []).map((item: string) => (\n <Col key={item}>\n {item === 'root' ? (\n <Tag color=\"#f50\">{item}</Tag>\n ) : (\n <Tag color=\"#ff5a00\">\n <Link to={`../role/${item}`}>{item}</Link>\n </Tag>\n )}\n </Col>\n ))}\n </Row>\n )\n },\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'Ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (_, record) => {\n const { name, permissions, roles, id } = record\n return (\n <Space>\n <AuthButton\n size=\"small\"\n type=\"link\"\n code=\"100003\"\n onClick={() => {\n showUpdateModal({\n initialValues: {\n name,\n ...(isGroupBased || isDirectGame ? { permissions } : { roles }),\n },\n extraValues: {\n id,\n },\n })\n }}\n >\n {t('global.update')}\n </AuthButton>\n <AuthButton\n danger\n size=\"small\"\n code=\"100004\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('User.deleteTitle'),\n content: <Highlight texts={[name]}>{t('User.deleteContent', { user: name })}</Highlight>,\n async onOk() {\n await remove.mutateAsync({\n id,\n name,\n })\n refetch('user-list')\n message.success(t('User.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </AuthButton>\n </Space>\n )\n },\n },\n ] as TableColumnsType<UserListItem>\n ).filter(Boolean)\n\n return (\n <>\n <Card\n title={t('global.user')}\n extra={\n <AuthButton\n type=\"primary\"\n icon={<UserAddOutlined />}\n code=\"100002\"\n onClick={() => {\n showCreateModal()\n }}\n >\n {t('User.createTitle')}\n </AuthButton>\n }\n >\n <QueryList<UserListItem, { name?: string }, { List: UserListItem[]; Total: number }>\n identifier=\"user-list\"\n code=\"100001\"\n request={{\n url: '/api/usystem/user/list',\n method: 'GET',\n }}\n rowKey=\"id\"\n columns={columns}\n dataAdapter={data => ({\n total: data?.Total,\n items: data?.List,\n })}\n renderForm={form => (\n <Form form={form}>\n <Form.Item label=\"名称\" name=\"name\">\n <Input />\n </Form.Item>\n </Form>\n )}\n />\n </Card>\n {createModal}\n {updateModal}\n </>\n )\n}\n\nexport default UserList\n"]}
|
package/locale/hooks.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {template,has,get}from'lodash-es';import {useMemo}from'react';import {useToolkitsStore}from'@/components/toolkitsProvider';function
|
|
1
|
+
import {template,has,get}from'lodash-es';import {useMemo}from'react';import {useToolkitsStore}from'@/components/toolkitsProvider';function d(){const{context:{locale:e}}=useToolkitsStore();return {t:useMemo(()=>(t,n)=>has(e,t)?template(get(e,t))(n):t,[e])}}export{d as useTranslation};//# sourceMappingURL=hooks.js.map
|
|
2
2
|
//# sourceMappingURL=hooks.js.map
|
package/locale/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/locale/hooks.ts"],"names":["useTranslation","locale","useToolkitsStore","
|
|
1
|
+
{"version":3,"sources":["../src/locale/hooks.ts"],"names":["useTranslation","locale","useToolkitsStore","useMemo","key","data","has","template","get"],"mappings":"kIAmBO,SAASA,CAAAA,EAAiB,CAC/B,KAAM,CACJ,OAAA,CAAS,CAAE,MAAA,CAAAC,CAAO,CACpB,CAAA,CAAIC,kBAAiB,CAQrB,OAAO,CAAE,CAAA,CANCC,OAAAA,CACR,IAAM,CAACC,CAAAA,CAAoBC,CAAAA,GACzBC,GAAAA,CAAIL,CAAAA,CAAQG,CAAG,CAAA,CAAIG,SAASC,GAAAA,CAAIP,CAAAA,CAAQG,CAAa,CAAC,CAAA,CAAEC,CAAI,CAAA,CAAID,CAAAA,CAClE,CAACH,CAAM,CACT,CAEW,CACb","file":"hooks.js","sourcesContent":["import { get, has, template } from 'lodash-es'\nimport { useMemo } from 'react'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport type { Locale } from './index'\n\ntype Join<K, P> = K extends string | number\n ? P extends string | number\n ? `${K}${'' extends P ? '' : '.'}${P}`\n : never\n : never\n\ntype Paths<T, D extends number = 10> = [D] extends [never]\n ? never\n : T extends object\n ? {\n [K in keyof T]-?: K extends string | number ? `${K}` | Join<K, Paths<T[K]>> : never\n }[keyof T]\n : ''\n\nexport function useTranslation() {\n const {\n context: { locale },\n } = useToolkitsStore()\n\n const t = useMemo(\n () => (key: Paths<Locale>, data?: Record<string, unknown>) =>\n has(locale, key) ? template(get(locale, key as string))(data) : key,\n [locale],\n )\n\n return { t }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-toolkits",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.26.1",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css"
|
|
7
7
|
],
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
"@fullhuman/postcss-purgecss": "^7.0.2",
|
|
50
50
|
"@types/lodash-es": "^4.17.12",
|
|
51
51
|
"@types/node": "^22.9.0",
|
|
52
|
-
"@types/react": "^19.
|
|
53
|
-
"@types/react-dom": "^19.
|
|
54
|
-
"antd": "^
|
|
52
|
+
"@types/react": "^19.2.6",
|
|
53
|
+
"@types/react-dom": "^19.2.3",
|
|
54
|
+
"antd": "^6.0.0",
|
|
55
55
|
"autoprefixer": "^10.4.20",
|
|
56
56
|
"concurrently": "^9.2.1",
|
|
57
57
|
"cssnano": "^7.1.1",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"postcss": "^8.4.49",
|
|
61
61
|
"prettier": "^3.3.3",
|
|
62
62
|
"purgecss": "^7.0.2",
|
|
63
|
-
"react": "^19.
|
|
64
|
-
"react-dom": "^19.
|
|
63
|
+
"react": "^19.2.0",
|
|
64
|
+
"react-dom": "^19.2.0",
|
|
65
65
|
"react-router-dom": "^6.28.0",
|
|
66
66
|
"rimraf": "^6.0.1",
|
|
67
67
|
"tailwindcss": "^4.1.11",
|
|
@@ -69,18 +69,18 @@
|
|
|
69
69
|
"tsup": "^8.3.5",
|
|
70
70
|
"typescript": "^5.6.3",
|
|
71
71
|
"@flow97/eslint-config-react": "1.1.2",
|
|
72
|
-
"
|
|
73
|
-
"
|
|
72
|
+
"tailwind-config": "0.1.3",
|
|
73
|
+
"tsconfig": "0.0.6"
|
|
74
74
|
},
|
|
75
75
|
"peerDependencies": {
|
|
76
76
|
"antd": "^5.12.2",
|
|
77
|
-
"react": "^19.
|
|
78
|
-
"react-dom": "^19.
|
|
77
|
+
"react": "^19.2.0",
|
|
78
|
+
"react-dom": "^19.2.0",
|
|
79
79
|
"react-router-dom": "^6.14.2"
|
|
80
80
|
},
|
|
81
81
|
"scripts": {
|
|
82
|
-
"dev": "concurrently \"tsup --watch\" \"node build-css.
|
|
83
|
-
"build": "rimraf lib locale && concurrently \"tsup\" \"node build-css.
|
|
82
|
+
"dev": "concurrently \"tsup --watch\" \"node build-css.mjs --watch\" --names \"tsup,css\"",
|
|
83
|
+
"build": "rimraf lib locale && concurrently \"tsup\" \"node build-css.mjs\" --names \"tsup,css\"",
|
|
84
84
|
"lint": "eslint --fix ."
|
|
85
85
|
}
|
|
86
86
|
}
|
package/lib/chunk-EESZYCYA.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {k,i,l,e}from'./chunk-W3E3WPLB.js';import {useQuery}from'@tanstack/react-query';function K(e,s){let t=k(),{permissionVersion:n}=i(),r=typeof e<"u"?typeof e=="string"?[e]:e:[],y=n!=="v1"?"v2":"v1",{data:o,...c}=useQuery({queryKey:l.permissions.check(r,y),queryFn:()=>t.post(n!=="v1"?"/api/usystem/user/checkV2":"/api/usystem/user/check",{permissions:r},s),enabled:r.length>0,retry:false}),u=true;return typeof e=="string"?u=o?.has_all?true:o?.[e]??false:Array.isArray(e)&&e.length>0&&(u=r.reduce((f,g)=>(f[g]=o?.has_all?true:o?.[g]??false,f),{})),{...c,data:u}}function A(){let{loginPath:e$1,appId:s}=i(),t=k();return useQuery({queryKey:l.menus.navbar(s?String(s):void 0),queryFn:()=>t.get("/api/usystem/menu/navbar",{headers:{[e]:s?encodeURIComponent(String(s)):"global"}}),enabled:window.location.pathname!==e$1})}var v=()=>{let{useGameApiV2:e$1,permissionVersion:s}=i(),t=k();return useQuery({queryKey:l.games.all,queryFn:async()=>{let n={headers:{[e]:"global"}};return e$1?(await t.get("/api/game/list",n))?.list??[]:await t.get("/api/usystem/game/all",n)??[]},enabled:s!=="v1",retry:false})};export{K as a,A as b,v as c};//# sourceMappingURL=chunk-EESZYCYA.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-EESZYCYA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/services/index.ts"],"names":["useAuth","code","config","ky","useKy","permissionVersion","useToolkitsStore","permissionCodes","version","data","rest","useQuery","queryKeys","newData","acc","curr","useMenuList","loginPath","appId","APP_ID_HEADER","useGames","useGameApiV2","requestConfig"],"mappings":"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","file":"chunk-EESZYCYA.js","sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport type { Options as KyOptions } from 'ky'\n\nimport type { Game } from '@/components/layout/types'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport type { MenuListItem } from '@/types'\n\nexport function useAuth(code?: string | string[], config?: KyOptions) {\n const ky = useKy()\n const { permissionVersion } = useToolkitsStore()\n const permissionCodes: string[] = typeof code !== 'undefined' ? (typeof code === 'string' ? [code] : code) : []\n const version = permissionVersion !== PermissionVersion.V1 ? 'v2' : 'v1'\n\n const { data, ...rest } = useQuery({\n queryKey: queryKeys.permissions.check(permissionCodes, version),\n queryFn: () =>\n ky.post<Record<string, boolean> & { has_all?: boolean }>(\n permissionVersion !== PermissionVersion.V1 ? '/api/usystem/user/checkV2' : '/api/usystem/user/check',\n {\n permissions: permissionCodes,\n },\n config,\n ),\n enabled: permissionCodes.length > 0,\n retry: false,\n })\n\n let newData: boolean | Record<string, boolean> = true\n\n if (typeof code === 'string') {\n newData = data?.has_all ? true : (data?.[code] ?? false)\n } else if (Array.isArray(code) && code.length > 0) {\n newData = permissionCodes.reduce<Record<string, boolean>>((acc, curr) => {\n acc[curr] = data?.has_all ? true : (data?.[curr] ?? false)\n return acc\n }, {})\n }\n\n return {\n ...rest,\n data: newData,\n }\n}\n\nexport function useMenuList() {\n const { loginPath, appId } = useToolkitsStore()\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.menus.navbar(appId ? String(appId) : undefined),\n queryFn: () =>\n ky.get<MenuListItem[]>('/api/usystem/menu/navbar', {\n headers: { [APP_ID_HEADER]: appId ? encodeURIComponent(String(appId)) : 'global' },\n }),\n enabled: window.location.pathname !== loginPath,\n })\n}\n\nexport const useGames = () => {\n const { useGameApiV2, permissionVersion } = useToolkitsStore()\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.games.all,\n queryFn: async () => {\n const requestConfig = {\n headers: {\n [APP_ID_HEADER]: 'global',\n },\n }\n\n if (useGameApiV2) {\n const response = await ky.get<{ list: Game[] }>('/api/game/list', requestConfig)\n return response?.list ?? []\n }\n\n const response = await ky.get<Game[]>('/api/usystem/game/all', requestConfig)\n return response ?? []\n },\n enabled: permissionVersion !== PermissionVersion.V1,\n retry: false,\n })\n}\n"]}
|
package/lib/chunk-K43HSNXS.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {c,d,j,i as i$1}from'./chunk-LEVOCZUQ.js';import {d as d$1}from'./chunk-GI5OS4VD.js';import {a}from'./chunk-VFRB44XY.js';import {c as c$1}from'./chunk-EESZYCYA.js';import {i}from'./chunk-W3E3WPLB.js';import {Typography,Select,App,Form,Input,Divider,Skeleton,Card,Empty,Button,Space,Checkbox,Row,Col,Collapse}from'antd';import {useState,useEffect,useTransition,useCallback}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var oe=m=>{let{permissions:i,readonly:n,expand:r,value:l,onChange:f}=m,[c,g]=useState([]),[y,R]=useState({}),[a$1,d]=useState(l??[]),{t:P}=a(),[,v]=useTransition(),V=useCallback(e=>{g(e);},[]),p=(e,s)=>{let o=[];return e?o=[...new Set(a$1.concat(s))]:(o=a$1.slice(),s.forEach(u=>{let b=o.findIndex(X=>X===u);b>-1&&o.splice(b,1);})),o},L=(e,s)=>{let o=p(e.target.checked,s);d(o),f?.(o);};useEffect(()=>{d(l??[]);},[l]),useEffect(()=>{r&&v(()=>{g((i??[]).map(({category:e})=>e));});},[r,i]),useEffect(()=>{let e=(i??[]).reduce((s,o)=>(s[o.category]=o.permissions.every(u=>a$1?.includes(u.value)),s),{});R(e);},[a$1,i]);let I=(i??[]).map(e=>({key:e.category,label:e.category,extra:!n&&jsx(Checkbox,{checked:y[e.category],onChange:s=>{L(s,e.permissions?.map(o=>o.value));},children:P("global.selectAll")}),children:jsx(Checkbox.Group,{className:"w-full",value:a$1,disabled:n,children:jsx(Row,{gutter:[10,10],className:"w-full",children:e.permissions?.map(s=>jsx(Col,{span:6,children:jsx(Checkbox,{value:s.value,onChange:o=>{L(o,[s.value]);},children:s.label})},s.value))})})}));return jsx(Collapse,{className:"w-full",collapsible:"header",activeKey:c,items:I,onChange:V})},k=oe;var{Text:w}=Typography,{Option:le}=Select,pe=m=>{let{expand:i=true,value:n,readonly:r,onChange:l}=m,{data:f,isLoading:c,error:g}=j(),{data:y,isLoading:R}=c$1(),[a$1,d]=useState([]),P=f?.filter(e=>e.is_common),v=f?.filter(e=>!e.is_common),V=c||R,{t:p}=a();if(useEffect(()=>{let e=[];Object.keys(n??{}).forEach(s=>{s!=="global"&&e.push({gameId:s,permissions:n?.[s]??[]});}),d(e);},[n]),g)return jsx("div",{className:"flex justify-center",children:jsx(w,{type:"danger",children:p("PermissionList.failedDescription")})});let L=()=>{d(e=>[...e,{gameId:"",permissions:[]}]);},I=e=>{d(s=>s.filter((o,u)=>u!==e));};return jsxs("div",{className:"flex flex-col w-full",children:[jsx("div",{className:"mb-12",children:jsx(Divider,{dashed:true,children:p("PermissionList.baseSectionTitle")})}),jsx(Skeleton,{active:true,loading:V,children:jsx(k,{value:n?.global,readonly:r,permissions:P,expand:i,onChange:e=>{l?.({...n,global:e});}})}),jsx("div",{className:"my-12",children:jsx(Divider,{dashed:true,children:p("PermissionList.gameSectionTitle")})}),a$1.map((e,s)=>jsx(Card,{title:jsxs(Space,{children:[jsx(w,{children:p("global.game")}),r?jsx(w,{children:y?.find(o=>String(o.id)===e.gameId)?.name}):jsx(Select,{disabled:r,value:a$1[s].gameId||void 0,className:"w-40",placeholder:p("PermissionList.gameSelectPlaceholder"),onChange:o=>{d(u=>{let b=u.slice();return b[s].gameId=o,b});},children:y?.map(o=>jsx(le,{value:o.id,disabled:a$1.some(({gameId:u})=>u===String(o.id)),children:o.name},o.id))})]}),className:"mb-6",extra:!r&&jsx(Button,{type:"link",onClick:()=>{I(s);},children:p("PermissionList.removeText")}),children:a$1[s].gameId?jsx(Skeleton,{active:true,loading:V,children:jsx(k,{value:n?.[a$1[s].gameId],readonly:r,expand:i,permissions:v,onChange:o=>{l?.({...n,[a$1[s].gameId]:o});}})}):jsx(Empty,{description:p("PermissionList.gameSectionDescription")})},s)),!r&&jsx(Button,{block:true,type:"dashed",onClick:L,children:p("PermissionList.addText")})]})},U=pe;var{Text:ue}=Typography,fe=m=>{let{expand:i=true,value:n,readonly:r,onChange:l}=m,{data:f,isLoading:c,error:g}=i$1(),{t:y}=a();return g?jsx("div",{className:"flex justify-center",children:jsx(ue,{type:"danger",children:y("PermissionList.failedDescription")})}):jsx(Skeleton,{active:true,loading:c,children:jsx(k,{value:n,permissions:f,readonly:r,expand:i,onChange:l})})},$=fe;var ge=m=>{let{value:i$1}=m;console.log("value",typeof i$1,i$1===null,JSON.stringify(i$1));let{permissionVersion:n}=i();return n==="v2"?jsx(U,{...m,value:i$1}):jsx($,{...m,value:i$1})},H=ge;var Qe=({mode:m,onSuccess:i})=>{let{message:n}=App.useApp(),{t:r}=a(),l=c(),f=d(),c$1=m==="create",g=r(c$1?"Role.createTitle":"Role.updateTitle"),y=jsxs(Fragment,{children:[jsx(Form.Item,{label:r("global.name"),name:"name",rules:[{required:true}],children:jsx(Input,{disabled:!c$1})}),jsx(Form.Item,{name:"permissions",children:jsx(H,{})})]});return d$1({title:g,width:"1000px",formProps:{layout:"vertical"},content:y,onConfirm:async(a,d)=>{let P=`role_${a.name}`,v=a.permissions;c$1?(await l.mutateAsync({name:P,permissions:v}),n.success(r("Role.createSuccessfully"))):(await f.mutateAsync({id:d?.id,name:P,permissions:v}),n.success(r("Role.updateSuccessfully"))),i?.();}})};export{H as a,Qe as b};//# sourceMappingURL=chunk-K43HSNXS.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-K43HSNXS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/permission/components/permissionCollapse/index.tsx","../src/modules/permission/components/permissionList/PermissionWithGame.tsx","../src/modules/permission/components/permissionList/PermissionWithoutGame.tsx","../src/modules/permission/components/permissionList/index.tsx","../src/modules/permission/hooks/role-hooks.tsx"],"names":["PermissionCollapse","props","permissions","readonly","expand","value","onChange","activeKey","setActiveKey","useState","checkedMap","setCheckedMap","internalValue","setInternalValue","t","useTranslation","startTransition","useTransition","onCollapseChange","useCallback","key","getCheckedValue","checkedValue","codes","tempValue","code","index","item","onCheckChange","useEffect","category","acc","curr","items","jsx","Checkbox","e","permission","Row","Col","Collapse","permissionCollapse_default","Text","Typography","Option","Select","PermissionWithGame","isPermissionLoading","error","useAllPermissionsV2","games","isGamesLoading","useGames","gameList","setGameList","globalPermissions","gamePermissions","isLoading","list","addGame","prev","removeGame","_","i","jsxs","Divider","Skeleton","newValue","Card","Space","game","selectedValue","pev","temp","gameId","Button","Empty","PermissionWithGame_default","PermissionWithoutGame","useAllPermissions","PermissionWithoutGame_default","PermissionList","permissionVersion","useToolkitsStore","permissionList_default","useRoleModal","mode","onSuccess","message","App","create","useCreateRole","update","useUpdateRole","isCreateMode","title","content","Fragment","Form","Input","useFormModal","values","extraValues","name"],"mappings":"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","file":"chunk-K43HSNXS.js","sourcesContent":["import { Checkbox, Col, Collapse, Row } from 'antd'\nimport type { CheckboxChangeEvent } from 'antd/es/checkbox'\nimport type { FC } from 'react'\nimport { useCallback, useEffect, useState, useTransition } from 'react'\n\nimport { useTranslation } from '@/locale'\n\nimport type { PermissionEnumItem } from '../../types'\n\ninterface PermissionCollapseProps {\n expand?: boolean\n permissions?: PermissionEnumItem[]\n readonly?: boolean\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst PermissionCollapse: FC<PermissionCollapseProps> = props => {\n const { permissions, readonly, expand, value, onChange } = props\n const [activeKey, setActiveKey] = useState<string[]>([])\n const [checkedMap, setCheckedMap] = useState<Record<string, boolean>>({})\n const [internalValue, setInternalValue] = useState<string[]>(value ?? [])\n const { t } = useTranslation()\n const [, startTransition] = useTransition()\n\n const onCollapseChange = useCallback((key: string | string[]) => {\n setActiveKey(key as string[])\n }, [])\n\n const getCheckedValue = (checkedValue: boolean, codes: string[]) => {\n let tempValue: string[] = []\n\n if (checkedValue) {\n tempValue = [...new Set(internalValue.concat(codes))]\n } else {\n tempValue = internalValue.slice()\n\n codes.forEach(code => {\n const index = tempValue.findIndex(item => item === code)\n if (index > -1) {\n tempValue.splice(index, 1)\n }\n })\n }\n\n return tempValue\n }\n\n const onCheckChange = (e: CheckboxChangeEvent, codes: string[]) => {\n const checkedValue = getCheckedValue(e.target.checked, codes)\n setInternalValue(checkedValue)\n onChange?.(checkedValue)\n }\n\n useEffect(() => {\n setInternalValue(value ?? [])\n }, [value])\n\n useEffect(() => {\n if (expand) {\n startTransition(() => {\n // 改变展开状态\n setActiveKey((permissions ?? []).map(({ category }) => category))\n })\n }\n }, [expand, permissions])\n\n useEffect(() => {\n const checkedValue = (permissions ?? []).reduce(\n (acc, curr) => {\n acc[curr.category] = curr.permissions.every(item => internalValue?.includes(item.value))\n return acc\n },\n {} as Record<string, boolean>,\n )\n\n setCheckedMap(checkedValue)\n }, [internalValue, permissions])\n\n const items = (permissions ?? []).map(item => ({\n key: item.category,\n label: item.category,\n extra: !readonly && (\n <Checkbox\n checked={checkedMap[item.category]}\n onChange={e => {\n onCheckChange(\n e,\n item.permissions?.map(permission => permission.value),\n )\n }}\n >\n {t('global.selectAll')}\n </Checkbox>\n ),\n children: (\n <Checkbox.Group className=\"w-full\" value={internalValue} disabled={readonly}>\n <Row gutter={[10, 10]} className=\"w-full\">\n {item.permissions?.map(permission => (\n <Col key={permission.value} span={6}>\n <Checkbox\n value={permission.value}\n onChange={e => {\n onCheckChange(e, [permission.value])\n }}\n >\n {permission.label}\n </Checkbox>\n </Col>\n ))}\n </Row>\n </Checkbox.Group>\n ),\n }))\n\n return (\n <Collapse className=\"w-full\" collapsible=\"header\" activeKey={activeKey} items={items} onChange={onCollapseChange} />\n )\n}\n\nexport default PermissionCollapse\n","import { Button, Card, Divider, Empty, Select, Skeleton, Space, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useEffect, useState } from 'react'\n\nimport { useTranslation } from '@/locale'\nimport { useGames } from '@/services'\n\nimport { useAllPermissionsV2 } from '../../services'\nimport type { RoleV2 } from '../../types'\nimport PermissionCollapse from '../permissionCollapse'\nimport type { PermissionListPropsBase } from './types'\n\nconst { Text } = Typography\nconst { Option } = Select\n\ninterface PermissionWithGameProps extends PermissionListPropsBase {\n value?: RoleV2['permissions']\n onChange?: (checkedValue: RoleV2['permissions']) => void\n}\n\nconst PermissionWithGame: FC<PermissionWithGameProps> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: permission, isLoading: isPermissionLoading, error } = useAllPermissionsV2()\n const { data: games, isLoading: isGamesLoading } = useGames()\n const [gameList, setGameList] = useState<{ gameId: string; permissions: string[] }[]>([])\n const globalPermissions = permission?.filter(item => item.is_common)\n const gamePermissions = permission?.filter(item => !item.is_common)\n const isLoading = isPermissionLoading || isGamesLoading\n const { t } = useTranslation()\n\n useEffect(() => {\n const list: { gameId: string; permissions: string[] }[] = []\n\n Object.keys(value ?? {}).forEach(key => {\n if (key !== 'global') {\n list.push({ gameId: key, permissions: value?.[key] ?? [] })\n }\n })\n\n setGameList(list)\n }, [value])\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n const addGame = () => {\n setGameList(prev => [...prev, { gameId: '', permissions: [] }])\n }\n\n const removeGame = (index: number) => {\n setGameList(prev => prev.filter((_, i) => i !== index))\n }\n\n return (\n <div className=\"flex flex-col w-full\">\n <div className=\"mb-12\">\n <Divider dashed>{t('PermissionList.baseSectionTitle')}</Divider>\n </div>\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.global}\n readonly={readonly}\n permissions={globalPermissions}\n expand={expand}\n onChange={newValue => {\n onChange?.({\n ...value,\n global: newValue,\n })\n }}\n />\n </Skeleton>\n <div className=\"my-12\">\n <Divider dashed>{t('PermissionList.gameSectionTitle')}</Divider>\n </div>\n {gameList.map((item, index) => (\n <Card\n title={\n <Space>\n <Text>{t('global.game')}</Text>\n {readonly ? (\n <Text>{games?.find(game => String(game.id) === item.gameId)?.name}</Text>\n ) : (\n <Select\n disabled={readonly}\n value={gameList[index].gameId || undefined}\n className=\"w-40\"\n placeholder={t('PermissionList.gameSelectPlaceholder')}\n onChange={selectedValue => {\n setGameList(pev => {\n const temp = pev.slice()\n temp[index].gameId = selectedValue\n return temp\n })\n }}\n >\n {games?.map(game => (\n <Option\n key={game.id}\n value={game.id}\n disabled={gameList.some(({ gameId }) => gameId === String(game.id))}\n >\n {game.name}\n </Option>\n ))}\n </Select>\n )}\n </Space>\n }\n key={index}\n className=\"mb-6\"\n extra={\n !readonly && (\n <Button\n type=\"link\"\n onClick={() => {\n removeGame(index)\n }}\n >\n {t('PermissionList.removeText')}\n </Button>\n )\n }\n >\n {gameList[index].gameId ? (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.[gameList[index].gameId]}\n readonly={readonly}\n expand={expand}\n permissions={gamePermissions}\n onChange={newValue => {\n onChange?.({\n ...value,\n [gameList[index].gameId]: newValue,\n })\n }}\n />\n </Skeleton>\n ) : (\n <Empty description={t('PermissionList.gameSectionDescription')} />\n )}\n </Card>\n ))}\n {!readonly && (\n <Button block type=\"dashed\" onClick={addGame}>\n {t('PermissionList.addText')}\n </Button>\n )}\n </div>\n )\n}\n\nexport default PermissionWithGame\n","import { Skeleton, Typography } from 'antd'\nimport type { FC } from 'react'\n\nimport { useTranslation } from '@/locale'\n\nimport { useAllPermissions } from '../../services'\nimport type { RoleV1 } from '../../types'\nimport PermissionCollapse from '../permissionCollapse'\nimport type { PermissionListPropsBase } from './types'\n\nconst { Text } = Typography\n\ninterface PermissionWithoutGameProps extends PermissionListPropsBase {\n value?: RoleV1['permissions']\n onChange?: (checkedValue: RoleV1['permissions']) => void\n}\n\nconst PermissionWithoutGame: FC<PermissionWithoutGameProps> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: permissions, isLoading, error } = useAllPermissions()\n const { t } = useTranslation()\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n return (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value}\n permissions={permissions}\n readonly={readonly}\n expand={expand}\n onChange={onChange}\n />\n </Skeleton>\n )\n}\n\nexport default PermissionWithoutGame\n","import type { FC } from 'react'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\n\nimport type { RoleV1, RoleV2 } from '../../types'\nimport PermissionWithGame from './PermissionWithGame'\nimport PermissionWithoutGame from './PermissionWithoutGame'\nimport type { PermissionListPropsBase } from './types'\n\ninterface PermissionListProps extends PermissionListPropsBase {\n value?: RoleV1['permissions'] | RoleV2['permissions']\n onChange?: (checkedValue: RoleV1['permissions'] | RoleV2['permissions']) => void\n}\n\nconst PermissionList: FC<PermissionListProps> = (props: PermissionListProps) => {\n const { value } = props\n console.log('value', typeof value, value === null, JSON.stringify(value))\n const { permissionVersion } = useToolkitsStore()\n\n if (permissionVersion === PermissionVersion.V2) {\n return <PermissionWithGame {...props} value={value as RoleV2['permissions']} />\n }\n\n return <PermissionWithoutGame {...props} value={value as RoleV1['permissions']} />\n}\n\nexport default PermissionList\n","import { App, Form, Input } from 'antd'\n\nimport { useFormModal } from '@/hooks/modal'\nimport { useTranslation } from '@/locale'\n\nimport PermissionList from '../components/permissionList'\nimport { useCreateRole, useUpdateRole } from '../services'\nimport type { RoleListItem, RoleV1, RoleV2 } from '../types'\n\nexport const useRoleModal = ({ mode, onSuccess }: { mode: 'create' | 'update'; onSuccess?: () => void }) => {\n const { message } = App.useApp()\n const { t } = useTranslation()\n const create = useCreateRole()\n const update = useUpdateRole()\n\n const isCreateMode = mode === 'create'\n\n const title = isCreateMode ? t('Role.createTitle') : t('Role.updateTitle')\n\n const content = (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled={!isCreateMode} />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </>\n )\n\n const onConfirm = async (\n values: { name: string; permissions: RoleListItem['permissions'] },\n extraValues: { id: number },\n ) => {\n const name = `role_${values.name}`\n const permissions = values.permissions\n\n if (isCreateMode) {\n await create.mutateAsync({ name, permissions })\n message.success(t('Role.createSuccessfully'))\n } else {\n await update.mutateAsync({ id: extraValues?.id, name, permissions })\n message.success(t('Role.updateSuccessfully'))\n }\n onSuccess?.()\n }\n\n return useFormModal<\n {\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n },\n { id: number }\n >({\n title,\n width: '1000px',\n formProps: {\n layout: 'vertical',\n },\n content,\n onConfirm,\n })\n}\n"]}
|
package/lib/chunk-LEVOCZUQ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {k as k$1,l,i}from'./chunk-W3E3WPLB.js';import {useQuery,useQueryClient,useMutation}from'@tanstack/react-query';function f(){let s=k$1();return useQuery({queryKey:l.roles.all,queryFn:()=>s.get("/api/usystem/role/all")})}function R(s){let i$1=i(o=>o.permissionVersion),t=k$1(),e=i$1==="v2"?"v2":"v1";return useQuery({queryKey:l.roles.detail(s,e),queryFn:()=>t.get(`/api/usystem/role/${e==="v2"?"infoV2":"info"}?name=${s}`)})}function q(){let{permissionVersion:s}=i(o=>o),i$1=k$1(),t=useQueryClient(),e=s==="v2"?"v2":"v1";return useMutation({mutationKey:l.roles.create(e),mutationFn:({name:o,permissions:u})=>i$1.post(e==="v2"?"/api/usystem/role/createV2":"/api/usystem/role/create",{name:o,permissions:u}),onSuccess:()=>{t.invalidateQueries({queryKey:l.roles.all});}})}function v(){let{permissionVersion:s}=i(o=>o),i$1=k$1(),t=useQueryClient(),e=s==="v2"?"v2":"v1";return useMutation({mutationKey:l.roles.update(e),mutationFn:({id:o,name:u,permissions:m})=>i$1.post(e==="v2"?"/api/usystem/role/updateV2":"/api/usystem/role/update",{id:o,name:u,permissions:m}),onSuccess:()=>{t.invalidateQueries({queryKey:l.roles.all});}})}function C(){let s=k$1(),i=useQueryClient();return useMutation({mutationKey:l.roles.delete,mutationFn:({id:t,name:e})=>s.post("/api/usystem/role/delete",{id:t,name:e}),onSuccess:()=>{i.invalidateQueries({queryKey:l.roles.all});}})}function K(){let s=k$1(),i$1=useQueryClient(),{permissionVersion:t}=i();return useMutation({mutationKey:l.users.create,mutationFn:e=>{let o=m=>"permissions"in m,u=e;if(o(e)&&t==="v4"){let m=e.permissions.map(y=>({game_group:["*"],game_ids:y.game_ids,role:y.role}));u={...e,permissions:m};}return s.post("/api/usystem/user/create",u)},onSuccess:()=>{i$1.invalidateQueries({queryKey:l.users.all});}})}function h(){let s=k$1(),i$1=useQueryClient(),{permissionVersion:t}=i();return useMutation({mutationKey:l.users.update,mutationFn:e=>{let o=m=>"permissions"in m,u=e;if(o(e)&&t==="v4"){let m=e.permissions.map(y=>({game_group:["*"],game_ids:y.game_ids,role:y.role}));u={...e,permissions:m};}return s.post("/api/usystem/user/update",u)},onSuccess:()=>{i$1.invalidateQueries({queryKey:l.users.all});}})}function W(){let s=k$1(),i=useQueryClient();return useMutation({mutationKey:l.users.delete,mutationFn:({id:t,name:e})=>s.post("/api/usystem/user/delete",{id:t,name:e}),onSuccess:()=>{i.invalidateQueries({queryKey:l.users.all});}})}function k(){let s=k$1();return useQuery({queryKey:l.permissions.allPermissions,queryFn:()=>s.get("/api/usystem/user/allPermssions")})}function x(){let s=k$1();return useQuery({queryKey:l.permissions.allPermissionsV2,queryFn:()=>s.get("/api/usystem/user/allPermssionsV2")})}export{f as a,R as b,q as c,v as d,C as e,K as f,h as g,W as h,k as i,x as j};//# sourceMappingURL=chunk-LEVOCZUQ.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-LEVOCZUQ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/permission/services/index.ts"],"names":["useAllRoles","ky","useKy","useQuery","queryKeys","useRole","name","permissionVersion","useToolkitsStore","state","version","useCreateRole","s","queryClient","useQueryClient","useMutation","permissions","useUpdateRole","id","useRemoveRole","useCreateUser","arg","hasPermissions","obj","requestData","transformedPermissions","item","useUpdateUser","useRemoveUser","useAllPermissions","useAllPermissionsV2"],"mappings":"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","file":"chunk-LEVOCZUQ.js","sourcesContent":["import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { PermissionVersion, WILDCARD } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\n\nimport type { PermissionEnumItem, RoleEnumItem, RoleV1, RoleV2 } from '../types'\n\nexport function useAllRoles() {\n const ky = useKy()\n return useQuery({\n queryKey: queryKeys.roles.all,\n queryFn: () => ky.get<RoleEnumItem[]>('/api/usystem/role/all'),\n })\n}\n\nexport function useRole(name: string) {\n const permissionVersion = useToolkitsStore(state => state.permissionVersion)\n const ky = useKy()\n const version = permissionVersion === PermissionVersion.V2 ? 'v2' : 'v1'\n\n return useQuery({\n queryKey: queryKeys.roles.detail(name, version),\n queryFn: () => ky.get<RoleV1 | RoleV2>(`/api/usystem/role/${version === 'v2' ? 'infoV2' : 'info'}?name=${name}`),\n })\n}\n\nexport function useCreateRole() {\n const { permissionVersion } = useToolkitsStore(s => s)\n const ky = useKy()\n const queryClient = useQueryClient()\n const version = permissionVersion === PermissionVersion.V2 ? 'v2' : 'v1'\n\n return useMutation({\n mutationKey: queryKeys.roles.create(version),\n mutationFn: ({ name, permissions }: { name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }) =>\n ky.post(version === 'v2' ? '/api/usystem/role/createV2' : '/api/usystem/role/create', { name, permissions }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.roles.all })\n },\n })\n}\n\nexport function useUpdateRole() {\n const { permissionVersion } = useToolkitsStore(s => s)\n const ky = useKy()\n const queryClient = useQueryClient()\n const version = permissionVersion === PermissionVersion.V2 ? 'v2' : 'v1'\n\n return useMutation({\n mutationKey: queryKeys.roles.update(version),\n mutationFn: ({\n id,\n name,\n permissions,\n }: {\n id: number\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n }) =>\n ky.post(version === 'v2' ? '/api/usystem/role/updateV2' : '/api/usystem/role/update', { id, name, permissions }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.roles.all })\n },\n })\n}\n\nexport function useRemoveRole() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.roles.delete,\n mutationFn: ({ id, name }: { id: number; name: string }) => ky.post('/api/usystem/role/delete', { id, name }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.roles.all })\n },\n })\n}\n\ntype CreateUserWithRoles = { name: string; roles: string[] }\n\ntype CreateUserPermission = {\n game_group?: string[]\n game_ids: string[]\n role: string\n}\n\ntype CreateUserWithPermissions = {\n name: string\n permissions: CreateUserPermission[]\n}\n\nexport function useCreateUser() {\n const ky = useKy()\n const queryClient = useQueryClient()\n const { permissionVersion } = useToolkitsStore()\n\n return useMutation({\n mutationKey: queryKeys.users.create,\n mutationFn: (arg: CreateUserWithRoles | CreateUserWithPermissions) => {\n // 使用类型守卫判断是否包含 permissions\n const hasPermissions = (obj: typeof arg): obj is CreateUserWithPermissions => 'permissions' in obj\n\n let requestData: CreateUserWithRoles | CreateUserWithPermissions = arg\n\n if (hasPermissions(arg) && permissionVersion === PermissionVersion.V4) {\n const transformedPermissions = arg.permissions.map(item => ({\n game_group: [WILDCARD],\n game_ids: item.game_ids,\n role: item.role,\n }))\n requestData = { ...arg, permissions: transformedPermissions }\n }\n\n return ky.post('/api/usystem/user/create', requestData)\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.users.all })\n },\n })\n}\n\ntype UpdateUserWithRoles = { id: string; name: string; roles: string[] }\n\ntype UpdateUserPermission = {\n game_group?: string[]\n game_ids: string[]\n role: string\n}\n\ntype UpdateUserWithPermissions = {\n id: string\n name: string\n permissions: UpdateUserPermission[]\n}\n\nexport function useUpdateUser() {\n const ky = useKy()\n const queryClient = useQueryClient()\n const { permissionVersion } = useToolkitsStore()\n\n return useMutation({\n mutationKey: queryKeys.users.update,\n mutationFn: (arg: UpdateUserWithRoles | UpdateUserWithPermissions) => {\n // 使用类型守卫判断是否包含 permissions\n const hasPermissions = (obj: typeof arg): obj is UpdateUserWithPermissions => 'permissions' in obj\n\n let requestData: UpdateUserWithRoles | UpdateUserWithPermissions = arg\n\n if (hasPermissions(arg) && permissionVersion === PermissionVersion.V4) {\n const transformedPermissions = arg.permissions.map(item => ({\n game_group: [WILDCARD],\n game_ids: item.game_ids,\n role: item.role,\n }))\n requestData = { ...arg, permissions: transformedPermissions }\n }\n\n return ky.post('/api/usystem/user/update', requestData)\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.users.all })\n },\n })\n}\n\nexport function useRemoveUser() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.users.delete,\n mutationFn: ({ id, name }: { id: string; name: string }) => ky.post('/api/usystem/user/delete', { id, name }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.users.all })\n },\n })\n}\n\nexport function useAllPermissions() {\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.permissions.allPermissions,\n queryFn: () => ky.get<PermissionEnumItem[]>('/api/usystem/user/allPermssions'),\n })\n}\n\nexport function useAllPermissionsV2() {\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.permissions.allPermissionsV2,\n queryFn: () => ky.get<PermissionEnumItem[]>('/api/usystem/user/allPermssionsV2'),\n })\n}\n"]}
|
package/lib/chunk-PLJPZJ7T.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a}from'./chunk-VFRB44XY.js';import {a as a$1}from'./chunk-EESZYCYA.js';import {k}from'./chunk-W3E3WPLB.js';import {Form,Spin,Table,Result,theme,Space,Button}from'antd';import {forwardRef,useMemo,useRef,useState,useEffect,useCallback,cloneElement,useImperativeHandle,Fragment}from'react';import {jsx,jsxs,Fragment as Fragment$1}from'react/jsx-runtime';import {flushSync}from'react-dom';import {createRoot}from'react-dom/client';import {isEqual}from'lodash-es';import {create}from'zustand';import {devtools,subscribeWithSelector}from'zustand/middleware';import {useQuery}from'@tanstack/react-query';var Oe=d=>{let{extras:i,isConfirming:e,onConfirm:s,onReset:t,children:o,buttonsAlign:r="left",showReset:l}=d,{t:u}=a(),{token:{colorFillAlter:I,lineWidth:x,lineType:y,colorBorder:T,borderRadiusLG:V}}=theme.useToken();return jsx("div",{className:"max-w-none p-6 mb-6 border",style:{background:I,borderWidth:x,borderStyle:y,borderColor:T,borderRadius:V},children:jsxs("div",{className:`flex ${r==="bottom"?"flex-col":"flex-row"}`,children:[jsx("div",{className:`${r==="left"?"grow-0":"flex-1"}`,children:o}),jsx("div",{className:`${r==="bottom"?"text-end":"text-start"} ml-4`,children:jsxs(Space,{children:[jsx(Button,{type:"primary",disabled:e,onClick:s,children:u("FilterFormWrapper.confirmText")}),i?.map(A=>jsx(Fragment,{children:A.children},A.key)),l&&jsx(Button,{onClick:t,children:u("FilterFormWrapper.resetText")})]})})]})})},N=Oe;var qe=d=>{let i=/(<[^>]*>)/;return d.split(i).filter(e=>e!=="")};function Me(d){let i=document.createElement("div"),e=createRoot(i);return new Promise(s=>{setTimeout(()=>{flushSync(()=>{e.render(d);}),s(i.innerHTML);});})}var We=d=>{let{texts:i,children:e}=d,[s,t]=useState("");return useEffect(()=>{Me(e).then(o=>{let r=qe(o);for(let l of i)for(let u=0;u<r.length;u++)r[u]=r[u].replace(String(l),`<span style='color: #DC143C;'>${l}</span>`);t(r.join(""));});},[e,i]),jsx("div",{dangerouslySetInnerHTML:{__html:s}})},je=We;var ue=Object.freeze({page:1,size:10,filters:Object.freeze({})}),Ke=()=>create()(devtools(subscribeWithSelector((d,i)=>({instances:new Map,registerInstance(e,s,t,o){d(r=>{let l=r.instances.get(e);if(l){if(l.refetch!==o){let x={...l,refetch:o},y=new Map(r.instances);return y.set(e,x),{instances:y}}return r}let u={id:e,url:s,queryKey:t,payload:ue,refetch:o},I=new Map(r.instances);return I.set(e,u),{instances:I}});},unregisterInstance(e){d(s=>{let t=new Map(s.instances);return t.delete(e)?{instances:t}:s});},updatePayload(e,s){d(t=>{let o=t.instances.get(e);if(!o)return t;let r={...o.payload,...s};if(!isEqual(o.payload,r)){let l={...o,payload:r},u=new Map(t.instances);return u.set(e,l),{instances:u}}return t});},getPayload(e){return i().instances.get(e)?.payload??ue},async refetch(e,s){let t=i().instances.get(e);if(!t){console.warn(`QueryList instance with id "${e}" not found`);return}let o=false;if(s){let r=t.payload,l={...r,...s};isEqual(r,l)||(i().updatePayload(e,s),o=true);}if(!o)try{await t.refetch();}catch(r){throw console.error(`Failed to refetch QueryList instance "${e}":`,r),r}},getInstance(e){return i().instances.get(e)},getAllInstances(){return Array.from(i().instances.values())}})),{name:"query-list-store"})),Ue=Ke(),m=Ue;var me=(t=>(t[t.Confirm=0]="Confirm",t[t.Reset=1]="Reset",t[t.Jump=2]="Jump",t[t.Init=3]="Init",t))(me||{}),rt=300*1e3,nt=30*1e3,pe=["GET","HEAD","OPTIONS"],at=["POST","PUT","PATCH","DELETE"],st=0,ot=()=>`queryList_${Date.now()}_${++st}`,it=(d,i)=>{let{t:e}=a(),{form:s,identifier:t,code:o,onePage:r,buttonsAlign:l,showReset:u,defaultSize:I=10,refreshInterval:x=0,tableExtra:y,renderForm:T,afterSuccess:V,afterError:A,footer:K,pageSizeOptions:U,request:H,dataAdapter:B,...ye}=d,[a$2]=Form.useForm(s),f=useMemo(()=>t||ot(),[t]),R=useRef(3),{data:E,isLoading:ge}=a$1(o),[he,L]=useState(false),q=useRef(false),M=useRef(false),be=m(n=>n.getPayload(f)),Ie=k(),{page:Q,size:S=I,filters:h}=be,Le=typeof H=="function"?H({page:Q,size:S,filters:h}):H,{url:v,method:$="GET",body:G,searchParams:W,headers:Pe,cacheTime:Fe=rt,staleTime:xe=nt}=Le,D=$.toUpperCase();[...pe,...at].includes(D)||console.warn(`QueryList: \u4E0D\u652F\u6301\u7684 HTTP \u8BF7\u6C42\u65B9\u6CD5 "${$}"\uFF0C\u5C06\u4F7F\u7528 GET \u65B9\u6CD5`);let J=pe.includes(D),Y={...h,...!r&&{page:Q,size:S}},p,P;G!==void 0?(p=G,P=W):W!==void 0?(P=W,p=void 0):J?(P=Y,p=void 0):(p=Y,P=void 0);let X=Pe,Z=useRef(false),ee=["queryList",v,f,D,Q,S,h,p,P,X],{data:g,isLoading:te,refetch:j}=useQuery({queryKey:ee,queryFn:async()=>{try{let n={method:D,searchParams:P,headers:X};p&&!J&&(p instanceof FormData||typeof p=="string"?n.body=p:n.json=p);let c=await Ie.request({url:v,...n});return Z.current=!0,V?.(R.current,a$2,c),c}catch(n){let c=n instanceof Error?n:new Error(String(n));throw A?.(c,R.current,a$2),c}},retry:(n,c)=>!(n>=3||c?.message?.includes("401")),retryDelay:n=>Math.min(1e3*2**n,3e4),refetchOnWindowFocus:false,refetchInterval:Z.current?x:0,gcTime:Fe,staleTime:xe,enabled:E&&he}),re=useMemo(()=>{let n=B,c={total:g?.total,items:g?.list};return typeof n=="function"?{...c,...n(g)}:{...c,...n}},[B,g]);useEffect(()=>(m.getState().registerInstance(f,v,ee,j),()=>{m.getState().unregisterInstance(f);}),[f,v]);let k$1=re.items,ne=re.total,Re=useMemo(()=>r?false:{pageSizeOptions:U,showSizeChanger:true,showQuickJumper:true,current:Q,pageSize:S,total:ne,onChange:async(n,c)=>{R.current=2,m.getState().refetch(f,{page:n,size:c});}},[r,U,Q,S,ne,f]),ae=useCallback(async()=>{R.current=0;try{await a$2.validateFields(),L(!0),m.getState().refetch(f,{page:1,filters:a$2.getFieldsValue()});}catch{L(false);}},[a$2,f]),Qe=useCallback(async()=>{R.current=1,a$2.resetFields();try{await a$2.validateFields({validateOnly:!0}),L(!0),m.getState().refetch(f,{page:1,filters:a$2.getFieldsValue()});}catch{L(false);}},[a$2,f]),Se=typeof T=="function"?jsx(N,{showReset:u,buttonsAlign:l,isConfirming:te,onReset:Qe,onConfirm:ae,children:cloneElement(T(a$2),{onKeyUp:n=>{n.key==="Enter"&&ae();}})}):jsx(Form,{form:a$2}),Te=typeof y=="function"?y(a$2,g):y,Ae=K?()=>jsx(Fragment$1,{children:K(g)}):void 0;return useEffect(()=>{if(!q.current||M.current)return;let n=a$2.getFieldsValue();h&&!isEqual(n,h)&&(M.current=true,a$2.setFieldsValue(h),setTimeout(()=>{M.current=false;},0));},[h,a$2]),useEffect(()=>{if(!E||q.current)return;let n=async()=>{console.log("QueryList init starting");try{a$2.resetFields();let O=await a$2.validateFields({validateOnly:!0});console.log("QueryList init validation success:",O),m.getState().updatePayload(f,{page:1,filters:O}),L(!0),console.log("QueryList init completed, isValid set to true");}catch(O){console.log("QueryList init validation failed:",O),L(false);}finally{q.current=true;}},c=requestAnimationFrame(()=>{Promise.resolve().then(n);});return ()=>{c&&cancelAnimationFrame(c);}},[E,f,a$2]),useImperativeHandle(i,()=>({data:g,dataSource:k$1,form:a$2,refetch:j}),[g,k$1,a$2,j]),ge?jsx("div",{className:"flex justify-center items-center h-[300px]",children:jsx(Spin,{})}):E?jsxs("div",{children:[Se,Te,jsx(Table,{...ye,dataSource:k$1,loading:te,pagination:Re,footer:Ae})]}):jsx(Result,{status:403,subTitle:e("global.noEntitlement")})},ct=forwardRef(it),lt=ct;export{N as a,je as b,m as c,me as d,lt as e};//# sourceMappingURL=chunk-PLJPZJ7T.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-PLJPZJ7T.js.map
|
package/lib/chunk-V3YBDED3.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a as a$1,f,g}from'./chunk-LEVOCZUQ.js';import {d}from'./chunk-GI5OS4VD.js';import {a}from'./chunk-VFRB44XY.js';import {i,k as k$1,l}from'./chunk-W3E3WPLB.js';import {MinusCircleOutlined}from'@ant-design/icons';import {useQuery}from'@tanstack/react-query';import {Typography,App,Form,Input,Select,Row,Col,Empty,Button}from'antd';import {last,first}from'lodash-es';import {Fragment as Fragment$1}from'react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var {Text:A}=Typography,K=(r,t)=>{last(r)==="*"?t?.(["*"]):first(r)==="*"?t?.(r.slice(1)):t?.(r);},Y=r=>{let{onChange:t,...l$1}=r,s=k$1(),{data:g,isLoading:p}=useQuery({queryKey:l.enums.gameGroups,queryFn:()=>s.get("/api/enum/get?enum=game_group&type=all")}),d=[{label:"\u901A\u7528",value:"*"}].concat(g?.map(a=>({label:a,value:a}))??[]);return jsx(Select,{...l$1,allowClear:true,showSearch:true,mode:"tags",optionFilterProp:"label",loading:p,options:d,onChange:a=>K(a,t)})},k=r=>{let{groups:t,onChange:l$1,...s}=r,g=k$1(),{permissionVersion:p}=i(),d=p==="v3",a=p==="v4",{data:c,isLoading:h}=useQuery({queryKey:l.enums.gameIds(a?[]:t??[]),queryFn:()=>g.get(`/api/enum/game_group/get_game_ids${a?"":`?game_groups=${t?.join(",")}`}`).then(o=>o?.list),enabled:a||d&&!!t?.length}),y=c?.map(o=>({label:o.name,value:o.id}));return jsx(Select,{...s,allowClear:true,showSearch:true,optionFilterProp:"label",mode:"tags",loading:h,options:y,onChange:o=>K(o,l$1)})},ue=({mode:r,onSuccess:t})=>{let{message:l}=App.useApp(),{t:s}=a(),{data:g$1,isLoading:p}=a$1(),d$1=f(),a$2=g(),c=r==="create",h=s(c?"User.createTitle":"User.updateTitle"),y=jsxs(Fragment,{children:[jsx(Form.Item,{label:s("global.name"),name:"name",rules:[{required:true}],children:jsx(Input,{disabled:!c})}),jsx(Form.Item,{label:s("global.role"),name:"roles",children:jsx(Select,{allowClear:true,showSearch:true,mode:"multiple",loading:p,optionFilterProp:"label",options:g$1?.map(C=>({label:C.name,value:C.name}))})})]});return d({title:h,width:"600px",formProps:{autoComplete:"off",labelCol:{flex:"80px"}},content:y,onConfirm:async(C,L)=>{c?(await d$1.mutateAsync(C),l.success(s("User.createSuccessfully"))):(await a$2.mutateAsync({...C,id:L?.id}),l.success(s("User.updateSuccessfully"))),t?.();}})},ge=({mode:r,onSuccess:t})=>{let{message:l}=App.useApp(),{t:s}=a(),{data:g$1,isLoading:p}=a$1(),d$1=f(),a$2=g(),c=r==="create",h=s(c?"User.createTitle":"User.updateTitle"),{permissionVersion:y}=i(),o=y==="v3",C=jsxs(Fragment,{children:[jsx(Form.Item,{label:s("global.name"),name:"name",rules:[{required:true}],children:jsx(Input,{disabled:!c})}),jsx(Form.List,{name:"permissions",children:(F,{add:U,remove:B})=>jsxs(Row,{gutter:8,children:[o&&jsx(Col,{span:8,className:"text-center mb-4",children:jsx(A,{strong:true,children:s("global.projectGroup")})}),jsx(Col,{span:o?10:14,className:"text-center mb-4",children:jsx(A,{strong:true,children:s("global.game")})}),jsx(Col,{span:o?6:10,className:"text-center mb-4",children:jsx(A,{strong:true,children:s("global.role")})}),F.map(n=>jsxs(Fragment$1,{children:[o&&jsx(Col,{span:8,children:jsx(Form.Item,{noStyle:true,shouldUpdate:true,children:({setFieldValue:i})=>jsx(Form.Item,{name:[n.name,"game_group"],children:jsx(Y,{onChange:()=>{i(["permissions",n.name,"game_ids"],[]);}})})})}),jsx(Col,{span:o?10:14,children:o?jsx(Form.Item,{noStyle:true,shouldUpdate:(i,f)=>i.permissions[n.name]?.game_group!==f.permissions[n.name]?.game_group,children:({getFieldValue:i})=>{let f=i(["permissions",n.name,"game_group"]);return jsx(Form.Item,{name:[n.name,"game_ids"],dependencies:[["permissions",n.name,"game_group"]],rules:[{required:!!f?.length,message:"\u8BF7\u9009\u62E9\u6E38\u620F"}],children:jsx(k,{groups:f})})}}):jsx(Form.Item,{name:[n.name,"game_ids"],rules:[{required:true,message:"\u8BF7\u9009\u62E9\u6E38\u620F"}],children:jsx(k,{})})}),jsx(Col,{span:o?6:10,children:jsxs("div",{className:"flex",children:[jsx("div",{className:"flex-1",children:jsx(Form.Item,{name:[n.name,"role"],rules:[{required:true,message:"\u8BF7\u9009\u62E9\u89D2\u8272"},({getFieldValue:i})=>({validator(f,D){return i("permissions").filter((v,E)=>!!v&&E!==n.name).some(v=>v.role===D)?Promise.reject(new Error("\u8BF7\u52FF\u91CD\u590D\u9009\u62E9\u89D2\u8272")):Promise.resolve()}})],children:jsx(Select,{allowClear:true,showSearch:true,optionFilterProp:"label",loading:p,options:g$1?.map(i=>({label:i.name,value:i.name}))})})}),jsx("div",{className:"w-8 text-center",children:jsx(Form.Item,{children:jsx(MinusCircleOutlined,{onClick:()=>{B(n.name);}})})})]})})]},n.key)),F.length===0&&jsx(Col,{span:24,children:jsx(Empty,{className:"mb-6"})}),jsx(Col,{span:24,children:jsx(Button,{block:true,type:"dashed",onClick:()=>U(),children:s("global.add")})})]})})]});return d({title:h,width:"1000px",formProps:{autoComplete:"off",labelCol:{flex:"80px"}},content:C,onConfirm:async(F,U)=>{c?(await d$1.mutateAsync(F),l.success(s("User.createSuccessfully"))):(await a$2.mutateAsync({...F,id:U?.id}),l.success(s("User.updateSuccessfully"))),t?.();}})};export{ue as a,ge as b};//# sourceMappingURL=chunk-V3YBDED3.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-V3YBDED3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/permission/hooks/user-hooks.tsx"],"names":["Text","Typography","handleWildcardSelection","value","onChange","last","first","GroupSelect","props","rest","ky","useKy","data","isLoading","useQuery","queryKeys","options","group","jsx","Select","GameSelect","groups","permissionVersion","useToolkitsStore","isV3","isV4","response","useUserModal","mode","onSuccess","message","App","t","useTranslation","roles","isRolesLoading","useAllRoles","create","useCreateUser","update","useUpdateUser","isCreateMode","title","content","jsxs","Fragment","Form","Input","role","useFormModal","values","extraValues","useUserModalV2","fields","add","remove","Row","Col","field","setFieldValue","prevValues","nextValues","getFieldValue","_groups","_rule","item","index","MinusCircleOutlined","Empty","Button"],"mappings":"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","file":"chunk-V3YBDED3.js","sourcesContent":["import { MinusCircleOutlined } from '@ant-design/icons'\nimport { useQuery } from '@tanstack/react-query'\nimport { App, Button, Col, Empty, Form, Input, Row, Select, Typography } from 'antd'\nimport { first, last } from 'lodash-es'\nimport { Fragment } from 'react'\nimport { type FC } from 'react'\n\nimport { useToolkitsStore } from '@/components'\nimport { PermissionVersion, WILDCARD } from '@/constants'\nimport { useFormModal } from '@/hooks/modal'\nimport { useKy } from '@/libs'\nimport { useTranslation } from '@/locale'\nimport { queryKeys } from '@/queryKeys'\n\nimport { useAllRoles, useCreateUser, useUpdateUser } from '../services'\n\nconst { Text } = Typography\n\n/**\n * 处理通配符选择逻辑\n * - 如果最后选择的是通配符,则只保留通配符\n * - 如果第一个是通配符但又选择了其他项,则移除通配符\n */\nconst handleWildcardSelection = (value: string[], onChange?: (value: string[]) => void) => {\n if (last(value) === WILDCARD) {\n onChange?.([WILDCARD])\n } else if (first(value) === WILDCARD) {\n onChange?.(value.slice(1))\n } else {\n onChange?.(value)\n }\n}\n\ninterface GroupSelectProps {\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst GroupSelect: FC<GroupSelectProps> = props => {\n const { onChange, ...rest } = props\n const ky = useKy()\n\n const { data, isLoading } = useQuery({\n queryKey: queryKeys.enums.gameGroups,\n queryFn: () => ky.get<string[]>('/api/enum/get?enum=game_group&type=all'),\n })\n\n const options = [{ label: '通用', value: WILDCARD }].concat(\n data?.map(group => ({ label: group, value: group })) ?? [],\n )\n\n return (\n <Select\n {...rest}\n allowClear\n showSearch\n mode=\"tags\"\n optionFilterProp=\"label\"\n loading={isLoading}\n options={options}\n onChange={value => handleWildcardSelection(value, onChange)}\n />\n )\n}\n\ninterface GameSelectProps {\n groups?: string[]\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\n/**\n * 游戏选择组件\n * - V3: 依赖 groups 参数,需要先选择项目组才能加载游戏列表\n * - V4: 不依赖 groups,直接加载所有游戏列表\n */\nconst GameSelect: FC<GameSelectProps> = props => {\n const { groups, onChange, ...rest } = props\n const ky = useKy()\n const { permissionVersion } = useToolkitsStore()\n const isV3 = permissionVersion === PermissionVersion.V3\n const isV4 = permissionVersion === PermissionVersion.V4\n\n const { data, isLoading } = useQuery({\n queryKey: queryKeys.enums.gameIds(isV4 ? [] : (groups ?? [])),\n queryFn: () =>\n ky\n .get<{\n list: {\n id: string\n name: string\n }[]\n }>(`/api/enum/game_group/get_game_ids${isV4 ? '' : `?game_groups=${groups?.join(',')}`}`)\n .then(response => response?.list),\n enabled: isV4 || (isV3 && !!groups?.length),\n })\n\n const options = data?.map((group: { id: string; name: string }) => ({ label: group.name, value: group.id }))\n\n return (\n <Select\n {...rest}\n allowClear\n showSearch\n optionFilterProp=\"label\"\n mode=\"tags\"\n loading={isLoading}\n options={options}\n onChange={value => handleWildcardSelection(value, onChange)}\n />\n )\n}\n\ninterface UserModalFormSchema {\n name: string\n roles: string[]\n}\n\nexport const useUserModal = ({ mode, onSuccess }: { mode: 'create' | 'update'; onSuccess?: () => void }) => {\n const { message } = App.useApp()\n const { t } = useTranslation()\n const { data: roles, isLoading: isRolesLoading } = useAllRoles()\n const create = useCreateUser()\n const update = useUpdateUser()\n\n const isCreateMode = mode === 'create'\n\n const title = isCreateMode ? t('User.createTitle') : t('User.updateTitle')\n\n const content = (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled={!isCreateMode} />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select\n allowClear\n showSearch\n mode=\"multiple\"\n loading={isRolesLoading}\n optionFilterProp=\"label\"\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </>\n )\n\n const onConfirm = async (values: UserModalFormSchema, extraValues: { id: string }) => {\n if (isCreateMode) {\n await create.mutateAsync(values)\n message.success(t('User.createSuccessfully'))\n } else {\n await update.mutateAsync({ ...values, id: extraValues?.id })\n message.success(t('User.updateSuccessfully'))\n }\n onSuccess?.()\n }\n\n return useFormModal<UserModalFormSchema, { id: string }>({\n title,\n width: '600px',\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content,\n onConfirm,\n })\n}\n\ninterface UserModalV2FormSchema {\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n}\n\n/**\n * 用户弹窗 V2 版本(用于 V3 和 V4 权限系统)\n * - V3: 显示项目组选择,游戏列表依赖项目组\n * - V4: 隐藏项目组选择,游戏列表独立加载\n */\nexport const useUserModalV2 = ({ mode, onSuccess }: { mode: 'create' | 'update'; onSuccess?: () => void }) => {\n const { message } = App.useApp()\n const { t } = useTranslation()\n const { data: roles, isLoading: isRolesLoading } = useAllRoles()\n const create = useCreateUser()\n const update = useUpdateUser()\n const isCreateMode = mode === 'create'\n const title = isCreateMode ? t('User.createTitle') : t('User.updateTitle')\n const { permissionVersion } = useToolkitsStore()\n const isV3 = permissionVersion === PermissionVersion.V3\n\n const content = (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled={!isCreateMode} />\n </Form.Item>\n <Form.List name=\"permissions\">\n {(fields, { add, remove }) => (\n <Row gutter={8}>\n {isV3 && (\n <Col span={8} className=\"text-center mb-4\">\n <Text strong>{t('global.projectGroup')}</Text>\n </Col>\n )}\n <Col span={isV3 ? 10 : 14} className=\"text-center mb-4\">\n <Text strong>{t('global.game')}</Text>\n </Col>\n <Col span={isV3 ? 6 : 10} className=\"text-center mb-4\">\n <Text strong>{t('global.role')}</Text>\n </Col>\n {fields.map(field => (\n <Fragment key={field.key}>\n {isV3 && (\n <Col span={8}>\n <Form.Item noStyle shouldUpdate>\n {({ setFieldValue }) => (\n <Form.Item name={[field.name, 'game_group']}>\n <GroupSelect\n onChange={() => {\n setFieldValue(['permissions', field.name, 'game_ids'], [])\n }}\n />\n </Form.Item>\n )}\n </Form.Item>\n </Col>\n )}\n <Col span={isV3 ? 10 : 14}>\n {isV3 ? (\n <Form.Item\n noStyle\n shouldUpdate={(prevValues, nextValues) =>\n prevValues.permissions[field.name]?.game_group !==\n nextValues.permissions[field.name]?.game_group\n }\n >\n {({ getFieldValue }) => {\n const _groups = getFieldValue(['permissions', field.name, 'game_group'])\n\n return (\n <Form.Item\n name={[field.name, 'game_ids']}\n dependencies={[['permissions', field.name, 'game_group']]}\n rules={[{ required: !!_groups?.length, message: '请选择游戏' }]}\n >\n <GameSelect groups={_groups} />\n </Form.Item>\n )\n }}\n </Form.Item>\n ) : (\n <Form.Item name={[field.name, 'game_ids']} rules={[{ required: true, message: '请选择游戏' }]}>\n <GameSelect />\n </Form.Item>\n )}\n </Col>\n <Col span={isV3 ? 6 : 10}>\n <div className=\"flex\">\n <div className=\"flex-1\">\n <Form.Item\n name={[field.name, 'role']}\n rules={[\n { required: true, message: '请选择角色' },\n ({ getFieldValue }) => ({\n validator(_rule, value) {\n const items = getFieldValue('permissions') as UserModalV2FormSchema['permissions']\n const otherItems = items.filter((item, index) => !!item && index !== field.name)\n if (otherItems.some(item => item.role === value)) {\n return Promise.reject(new Error('请勿重复选择角色'))\n }\n return Promise.resolve()\n },\n }),\n ]}\n >\n <Select\n allowClear\n showSearch\n optionFilterProp=\"label\"\n loading={isRolesLoading}\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </div>\n <div className=\"w-8 text-center\">\n <Form.Item>\n <MinusCircleOutlined\n onClick={() => {\n remove(field.name)\n }}\n />\n </Form.Item>\n </div>\n </div>\n </Col>\n </Fragment>\n ))}\n {fields.length === 0 && (\n <Col span={24}>\n <Empty className=\"mb-6\" />\n </Col>\n )}\n <Col span={24}>\n <Button block type=\"dashed\" onClick={() => add()}>\n {t('global.add')}\n </Button>\n </Col>\n </Row>\n )}\n </Form.List>\n </>\n )\n\n const onConfirm = async (values: UserModalV2FormSchema, extraValues: { id: string }) => {\n if (isCreateMode) {\n await create.mutateAsync(values)\n message.success(t('User.createSuccessfully'))\n } else {\n await update.mutateAsync({ ...values, id: extraValues?.id })\n message.success(t('User.updateSuccessfully'))\n }\n onSuccess?.()\n }\n\n return useFormModal<UserModalV2FormSchema, { id: string }>({\n title,\n width: '1000px',\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content,\n onConfirm,\n })\n}\n"]}
|
package/lib/chunk-VFRB44XY.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {i}from'./chunk-W3E3WPLB.js';import {template,has,get}from'lodash-es';import {useMemo}from'react';function l(){let t=i(e=>e.locale);return {t:useMemo(()=>(e,r)=>has(t,e)?template(get(t,e))(r):e,[t])}}export{l as a};//# sourceMappingURL=chunk-VFRB44XY.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-VFRB44XY.js.map
|