react-toolkits 2.24.20 → 2.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -5
- package/README.md +5 -19
- package/lib/chunk-24U2EF5M.js +2 -0
- package/lib/chunk-24U2EF5M.js.map +1 -0
- package/lib/chunk-5QAEUAZE.js +2 -0
- package/lib/chunk-5QAEUAZE.js.map +1 -0
- 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-FIT6S4UM.js +2 -0
- package/lib/{chunk-F3OT6ENF.js.map → chunk-FIT6S4UM.js.map} +1 -1
- package/lib/chunk-IKGXKB6T.js +2 -0
- package/lib/chunk-IKGXKB6T.js.map +1 -0
- 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/createMenuItem-Q5TJGFKZ.js +2 -0
- package/lib/createMenuItem-Q5TJGFKZ.js.map +1 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +88 -60
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/menuItemList-2QZXJVWZ.js +2 -0
- package/lib/menuItemList-2QZXJVWZ.js.map +1 -0
- package/lib/roleDetail-ODJVDVB4.js +2 -0
- package/lib/roleDetail-ODJVDVB4.js.map +1 -0
- package/lib/roleList-MQOFJ3LH.js +2 -0
- package/lib/roleList-MQOFJ3LH.js.map +1 -0
- package/lib/updateMenuItem-4HDRJAY7.js +2 -0
- package/lib/updateMenuItem-4HDRJAY7.js.map +1 -0
- package/lib/userDetail-B5H4A4X2.js +2 -0
- package/lib/userDetail-B5H4A4X2.js.map +1 -0
- package/lib/userList-QHQHRPSV.js +2 -0
- package/lib/userList-QHQHRPSV.js.map +1 -0
- package/locale/hooks.js +1 -1
- package/locale/hooks.js.map +1 -1
- package/package.json +9 -9
- package/lib/chunk-3VI7KSDA.js +0 -2
- package/lib/chunk-3VI7KSDA.js.map +0 -1
- package/lib/chunk-3ZT3BOPJ.js +0 -3
- package/lib/chunk-3ZT3BOPJ.js.map +0 -1
- package/lib/chunk-D5OM3OZU.js +0 -2
- package/lib/chunk-D5OM3OZU.js.map +0 -1
- package/lib/chunk-F3OT6ENF.js +0 -2
- package/lib/chunk-FD52RBG7.js +0 -2
- package/lib/chunk-FD52RBG7.js.map +0 -1
- package/lib/chunk-IWPBGSXS.js +0 -2
- package/lib/chunk-IWPBGSXS.js.map +0 -1
- package/lib/chunk-S4LUEDFA.js +0 -2
- package/lib/chunk-S4LUEDFA.js.map +0 -1
- package/lib/chunk-SMBHLRAO.js +0 -2
- package/lib/chunk-SMBHLRAO.js.map +0 -1
- package/lib/chunk-XX2BCZJU.js +0 -2
- package/lib/chunk-XX2BCZJU.js.map +0 -1
- package/lib/createMenuItem-5DDIEELO.js +0 -2
- package/lib/createMenuItem-5DDIEELO.js.map +0 -1
- package/lib/menuItemList-4ZLZ7HSG.js +0 -2
- package/lib/menuItemList-4ZLZ7HSG.js.map +0 -1
- package/lib/roleDetail-42BOHDFS.js +0 -2
- package/lib/roleDetail-42BOHDFS.js.map +0 -1
- package/lib/roleList-KWWO3IFL.js +0 -2
- package/lib/roleList-KWWO3IFL.js.map +0 -1
- package/lib/updateMenuItem-E5QMBR2S.js +0 -2
- package/lib/updateMenuItem-E5QMBR2S.js.map +0 -1
- package/lib/userDetail-L7Q3C67K.js +0 -2
- package/lib/userDetail-L7Q3C67K.js.map +0 -1
- package/lib/userList-IU4L5YRJ.js +0 -2
- package/lib/userList-IU4L5YRJ.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/filterFormWrapper/FilterFormWrapper.tsx","../src/components/highlight/Highlight.tsx","../src/components/queryList/stores.ts","../src/components/queryList/QueryList.tsx"],"names":["FilterFormWrapper","props","extras","isConfirming","onConfirm","onReset","children","buttonsAlign","showReset","t","useTranslation","colorFillAlter","lineWidth","lineType","colorBorder","borderRadiusLG","theme","jsx","jsxs","Space","Button","item","Fragment","FilterFormWrapper_default","splitByTags","str","regex","part","renderToString","node","container","root","createRoot","resolve","flushSync","Highlight","texts","htmlString","setHtmlString","useState","useEffect","result","text","index","Highlight_default","DEFAULT_PAYLOAD","createStore","create","devtools","subscribeWithSelector","set","get","id","url","queryKey","refetch","state","existingInstance","updatedInstance","newInstances","instance","payload","newPayload","isEqual","payloadChanged","currentPayload","error","store","useQueryListStore","QueryListAction","DEFAULT_CACHE_TIME","DEFAULT_STALE_TIME","BODYLESS_METHODS","BODY_SUPPORTED_METHODS","SPIN_STYLE","identifierCounter","generateUniqueIdentifier","InternalQueryList","ref","form","identifier","code","onePage","defaultSize","refreshInterval","tableExtra","renderForm","afterSuccess","afterError","footer","pageSizeOptions","request","dataAdapter","tableProps","formInstance","Form","finalIdentifier","useMemo","action","useRef","accessible","isChecking","useAuth","isValid","setIsValid","isInitialized","isUpdatingFromPayload","subscribedPayload","s","ky","useKy","page","size","filters","resolvedRequest","method","body","searchParams","headers","cacheTime","staleTime","normalizedMethod","isBodylessMethod","defaultRequestData","requestBody","requestSearchParams","requestHeaders","shouldPoll","data","isLoading","useQuery","kyOptions","response","err","errorObj","failureCount","retryError","attemptIndex","resolvedDataAdapter","adapter","defaultAdapter","dataSource","total","pagination","currentPage","currentSize","useCallback","formRenderer","cloneElement","e","tableExtraRenderer","renderFooter","currentFormValues","init","value","rafId","useImperativeHandle","Spin","Table","Result","QueryList","forwardRef","QueryList_default"],"mappings":"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","file":"chunk-IWPBGSXS.js","sourcesContent":["import { Button, Space, theme } from 'antd'\nimport type { Key, PropsWithChildren, ReactNode } from 'react'\nimport { Fragment } from 'react'\n\nimport { useTranslation } from '@/locale'\n\nexport interface FilterFormWrapperProps extends PropsWithChildren {\n onConfirm?: () => void | Promise<void>\n onReset?: () => void\n extras?: { key: Key; children: ReactNode }[]\n isConfirming?: boolean\n buttonsAlign?: 'left' | 'right' | 'bottom'\n showReset?: boolean\n}\n\nconst FilterFormWrapper = (props: FilterFormWrapperProps) => {\n const { extras, isConfirming, onConfirm, onReset, children, buttonsAlign = 'left', showReset } = props\n const { t } = useTranslation()\n const {\n token: { colorFillAlter, lineWidth, lineType, colorBorder, borderRadiusLG },\n } = theme.useToken()\n\n const style = {\n maxWidth: 'none',\n background: colorFillAlter,\n borderWidth: lineWidth,\n borderStyle: lineType,\n borderColor: colorBorder,\n borderRadius: borderRadiusLG,\n padding: 24,\n marginBottom: 24,\n }\n\n return (\n <div style={style}>\n <div className={`flex ${buttonsAlign === 'bottom' ? 'flex-col' : 'flex-row'}`}>\n <div className={`${buttonsAlign === 'left' ? 'flex-grow-0' : 'flex-1'}`}>{children}</div>\n <div className={`${buttonsAlign === 'bottom' ? 'text-end' : 'text-start'} ml-4`}>\n <Space>\n <Button type=\"primary\" disabled={isConfirming} onClick={onConfirm}>\n {t('FilterFormWrapper.confirmText')}\n </Button>\n {extras?.map(item => <Fragment key={item.key}>{item.children}</Fragment>)}\n {showReset && <Button onClick={onReset}>{t('FilterFormWrapper.resetText')}</Button>}\n </Space>\n </div>\n </div>\n </div>\n )\n}\n\nexport default FilterFormWrapper\n","import type { PropsWithChildren, ReactNode } from 'react'\nimport { useEffect, useState } from 'react'\nimport { flushSync } from 'react-dom'\nimport { createRoot } from 'react-dom/client'\n\nconst splitByTags = (str: string) => {\n const regex = /(<[^>]*>)/\n return str.split(regex).filter(part => part !== '')\n}\n\nfunction renderToString(node: ReactNode): Promise<string> {\n const container = document.createElement('div')\n const root = createRoot(container)\n\n return new Promise(resolve => {\n setTimeout(() => {\n flushSync(() => {\n root.render(node)\n })\n resolve(container.innerHTML)\n })\n })\n}\n\nexport interface HighlightProps extends PropsWithChildren {\n texts: Array<string | number>\n}\n\nconst Highlight = (props: HighlightProps) => {\n const { texts, children } = props\n const [htmlString, setHtmlString] = useState<string>('')\n\n useEffect(() => {\n renderToString(children).then(str => {\n const result = splitByTags(str)\n\n for (const text of texts) {\n for (let index = 0; index < result.length; index++) {\n // TODO: 忽略 HTML tag\n result[index] = result[index].replace(String(text), `<span style='color: #DC143C;'>${text}</span>`)\n }\n }\n\n setHtmlString(result.join(''))\n })\n }, [children, texts])\n\n return <div dangerouslySetInnerHTML={{ __html: htmlString }}></div>\n}\n\nexport default Highlight\n","import { isEqual } from 'lodash-es'\nimport { create } from 'zustand'\nimport { devtools, subscribeWithSelector } from 'zustand/middleware'\n\nimport type { QueryListPayload } from './QueryList'\n\n// Query 更新函数类型\ntype QueryRefetchFunction = () => void | Promise<unknown>\n\n// QueryList 实例信息\ninterface QueryListInstance {\n id: string\n url: string\n queryKey: readonly unknown[]\n payload: QueryListPayload\n refetch: QueryRefetchFunction\n}\n\n// 简化的状态接口\ninterface QueryListState {\n // 实例管理\n instances: Map<string, QueryListInstance>\n\n // 核心方法\n registerInstance(id: string, url: string, queryKey: readonly unknown[], refetch: QueryRefetchFunction): void\n unregisterInstance(id: string): void\n updatePayload(id: string, payload: QueryListPayload): void\n getPayload(id: string): QueryListPayload\n refetch(id: string, payload?: QueryListPayload): Promise<void>\n\n // 工具方法\n getInstance(id: string): QueryListInstance | undefined\n getAllInstances(): QueryListInstance[]\n}\n\n// 稳定的默认 payload 引用,避免未注册时每次返回新对象导致 getSnapshot 无限循环\nconst DEFAULT_PAYLOAD: QueryListPayload = Object.freeze({\n page: 1,\n size: 10,\n filters: Object.freeze({}),\n})\n\n// 创建简化的 store\nconst createStore = () =>\n create<QueryListState>()(\n devtools(\n subscribeWithSelector((set, get) => ({\n instances: new Map(),\n\n registerInstance(id, url, queryKey, refetch) {\n set(state => {\n const existingInstance = state.instances.get(id)\n\n // 如果实例已存在,只更新refetch函数\n if (existingInstance) {\n // 仅当 refetch 变更时才更新,避免无意义 setState\n if (existingInstance.refetch !== refetch) {\n const updatedInstance = {\n ...existingInstance,\n refetch,\n }\n const newInstances = new Map(state.instances)\n newInstances.set(id, updatedInstance)\n return { instances: newInstances }\n }\n return state\n }\n\n // 创建新实例\n const instance: QueryListInstance = {\n id,\n url,\n queryKey,\n payload: DEFAULT_PAYLOAD,\n refetch,\n }\n\n const newInstances = new Map(state.instances)\n newInstances.set(id, instance)\n\n return { instances: newInstances }\n })\n },\n unregisterInstance(id) {\n set(state => {\n const newInstances = new Map(state.instances)\n const existed = newInstances.delete(id)\n\n if (existed) {\n return { instances: newInstances }\n }\n return state\n })\n },\n updatePayload(id, payload) {\n set(state => {\n const instance = state.instances.get(id)\n if (!instance) return state\n\n const newPayload = { ...instance.payload, ...payload }\n\n // 只有当 payload 真正改变时才更新\n if (!isEqual(instance.payload, newPayload)) {\n const updatedInstance = {\n ...instance,\n payload: newPayload,\n }\n\n const newInstances = new Map(state.instances)\n newInstances.set(id, updatedInstance)\n\n return { instances: newInstances }\n }\n\n return state\n })\n },\n getPayload(id) {\n const instance = get().instances.get(id)\n return instance?.payload ?? DEFAULT_PAYLOAD\n },\n async refetch(id, payload) {\n const instance = get().instances.get(id)\n if (!instance) {\n console.warn(`QueryList instance with id \"${id}\" not found`)\n return\n }\n\n let payloadChanged = false\n\n // 更新 payload 如果提供且确实有变化\n if (payload) {\n const currentPayload = instance.payload\n const newPayload = { ...currentPayload, ...payload }\n\n if (!isEqual(currentPayload, newPayload)) {\n get().updatePayload(id, payload)\n payloadChanged = true\n }\n }\n\n // 若 payload 发生变化,queryKey 会变化,React Query 会自动触发请求,此处不再手动 refetch,避免重复请求\n if (payloadChanged) {\n return\n }\n\n // 否则手动触发一次请求\n try {\n await instance.refetch()\n } catch (error) {\n console.error(`Failed to refetch QueryList instance \"${id}\":`, error)\n throw error\n }\n },\n\n getInstance(id) {\n return get().instances.get(id)\n },\n\n getAllInstances() {\n return Array.from(get().instances.values())\n },\n })),\n {\n name: 'query-list-store',\n },\n ),\n )\n\n// 创建 store 实例\nconst store = createStore()\n\nexport const useQueryListStore = store\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useQuery } from '@tanstack/react-query'\nimport type { FormInstance } from 'antd'\nimport { Form, Result, Spin, Table } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { TableProps } from 'antd/es/table'\nimport type { Options as KyOptions } from 'ky'\nimport { isEqual } from 'lodash-es'\nimport type { ReactElement, ReactNode, Ref } from 'react'\nimport { cloneElement, forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'\n\nimport type { FilterFormWrapperProps } from '@/components/filterFormWrapper'\nimport { FilterFormWrapper } from '@/components/filterFormWrapper'\nimport { useKy } from '@/libs'\nimport { useTranslation } from '@/locale'\nimport { useAuth } from '@/services'\n\nimport { useQueryListStore } from './stores'\n\nexport interface ListResponse<T = any> {\n list: T[]\n total: number\n}\n\nexport interface QueryListPayload<Values = any> {\n page?: number\n size?: number\n filters?: Values\n}\n\n// 缓存配置\nexport interface CacheConfig {\n cacheTime?: number // 缓存时间(毫秒)\n staleTime?: number // 数据新鲜时间(毫秒)\n}\n\n// 支持的 HTTP 请求方法类型\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS'\n\n// 简化的请求配置\nexport interface QueryListRequestConfig extends CacheConfig {\n url: string\n method?: HttpMethod\n body?: FormData | Record<string | number, any>\n searchParams?: Record<string | number, any>\n headers?: Record<string, string>\n}\n\nexport type QueryListRequestConfigType<Values = any> =\n | QueryListRequestConfig\n | ((payload: QueryListPayload<Values>) => QueryListRequestConfig)\n\nexport enum QueryListAction {\n Confirm,\n Reset,\n Jump,\n Init,\n}\n\nexport interface QueryListDataType<Item> {\n dataSource: Item[]\n total: number\n}\n\nexport interface QueryListRef<Item extends AnyObject = AnyObject, Values = AnyObject, Data = any> {\n data: Data | undefined\n dataSource: Item[] | undefined\n form: FormInstance<Values>\n}\n\nexport interface QueryListDataAdapter<Item extends AnyObject = AnyObject> {\n total?: number\n items?: Item[]\n}\n\nexport type QueryListDataAdapterConfig<Item extends AnyObject = AnyObject, Data = any> =\n | QueryListDataAdapter<Item>\n | ((data: Data) => QueryListDataAdapter<Item>)\n\nexport interface QueryListProps<Item extends AnyObject = AnyObject, Values = AnyObject, Data = any>\n extends Omit<TableProps<Item>, 'pagination' | 'dataSource' | 'loading' | 'footer'>,\n Pick<FilterFormWrapperProps, 'buttonsAlign' | 'showReset'> {\n identifier?: string // 可选的标识符,用于标识和外部控制,未提供时自动生成\n code?: string\n form?: FormInstance<Values>\n refreshInterval?: number\n onePage?: boolean // 无分页\n defaultSize?: number\n pageSizeOptions?: number[]\n request: QueryListRequestConfigType<Values> // 必需的请求配置\n tableExtra?: ReactNode | ((form: FormInstance<Values>, data?: Data) => ReactNode)\n renderForm?: (form: FormInstance<Values>) => ReactElement\n afterSuccess?: (action: QueryListAction, form: FormInstance<Values>, data?: Data) => void\n afterError?: (error: Error, action: QueryListAction, form: FormInstance<Values>) => void\n dataAdapter?: QueryListDataAdapterConfig<Item, Data>\n footer?: (data: Data | undefined) => ReactNode\n}\n\n// 常量定义\nconst DEFAULT_CACHE_TIME = 5 * 60 * 1000 // 默认缓存5分钟\nconst DEFAULT_STALE_TIME = 30 * 1000 // 默认30秒内数据新鲜\n\n// 无请求体的 HTTP 方法\nconst BODYLESS_METHODS: HttpMethod[] = ['GET', 'HEAD', 'OPTIONS']\n\n// 支持请求体的 HTTP 方法\nconst BODY_SUPPORTED_METHODS: HttpMethod[] = ['POST', 'PUT', 'PATCH', 'DELETE']\n\nconst SPIN_STYLE: React.CSSProperties = {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: 300,\n}\n\n// 生成唯一 identifier 的计数器\nlet identifierCounter = 0\n\n// 生成唯一 identifier 的函数\nconst generateUniqueIdentifier = (): string => {\n return `queryList_${Date.now()}_${++identifierCounter}`\n}\n\nconst InternalQueryList = <Item extends AnyObject = AnyObject, Values extends AnyObject = any, Data = any>(\n props: QueryListProps<Item, Values, Data>,\n ref: Ref<QueryListRef<Item, Values, Data>>,\n) => {\n const { t } = useTranslation()\n\n const {\n form,\n identifier,\n code,\n onePage,\n buttonsAlign,\n showReset,\n defaultSize = 10,\n refreshInterval = 0,\n tableExtra,\n renderForm,\n afterSuccess,\n afterError,\n footer,\n pageSizeOptions,\n request,\n dataAdapter,\n ...tableProps\n } = props\n\n const [formInstance] = Form.useForm<Values>(form)\n\n // 生成或使用提供的 identifier\n const finalIdentifier = useMemo(() => {\n return identifier || generateUniqueIdentifier()\n }, [identifier])\n const action = useRef<QueryListAction>(QueryListAction.Init)\n const { data: accessible, isLoading: isChecking } = useAuth(code)\n const [isValid, setIsValid] = useState(false)\n const isInitialized = useRef(false)\n const isUpdatingFromPayload = useRef(false) // 防止循环更新的标志\n\n // 仅订阅当前 identifier 的 payload,避免因其它实例变化导致不必要重渲染\n const subscribedPayload = useQueryListStore(s => s.getPayload(finalIdentifier))\n const ky = useKy()\n\n const { page, size = defaultSize, filters } = subscribedPayload\n\n const payload = { page, size, filters }\n\n // 处理 request 配置(对象或函数)\n const resolvedRequest = typeof request === 'function' ? request(payload) : request\n\n const {\n url,\n method = 'GET',\n body,\n searchParams,\n headers,\n cacheTime = DEFAULT_CACHE_TIME,\n staleTime = DEFAULT_STALE_TIME,\n } = resolvedRequest\n\n // 验证请求方法\n const normalizedMethod = method.toUpperCase() as HttpMethod\n const allSupportedMethods: HttpMethod[] = [...BODYLESS_METHODS, ...BODY_SUPPORTED_METHODS]\n\n if (!allSupportedMethods.includes(normalizedMethod)) {\n console.warn(`QueryList: 不支持的 HTTP 请求方法 \"${method}\",将使用 GET 方法`)\n }\n\n // 根据请求方法决定参数传递方式\n const isBodylessMethod = BODYLESS_METHODS.includes(normalizedMethod)\n\n const defaultRequestData = { ...filters, ...(!onePage && { page, size }) }\n\n // 智能参数传递策略:\n // 1. 优先使用用户明确传入的 body 或 searchParams\n // 2. 若用户未指定,根据 HTTP 方法自动选择合适的传递方式\n // 3. 避免同时设置 body 和 searchParams(除非用户明确指定)\n let requestBody: any\n let requestSearchParams: any\n\n if (body !== undefined) {\n // 用户传入了 body,优先使用\n requestBody = body\n requestSearchParams = searchParams\n } else if (searchParams !== undefined) {\n // 用户只传入了 searchParams\n requestSearchParams = searchParams\n requestBody = undefined\n } else {\n // 都未传入,根据方法类型自动选择\n if (isBodylessMethod) {\n requestSearchParams = defaultRequestData\n requestBody = undefined\n } else {\n requestBody = defaultRequestData\n requestSearchParams = undefined\n }\n }\n\n const requestHeaders = headers\n\n const shouldPoll = useRef(false)\n\n // 构建更完整的 queryKey,包含所有影响请求结果的参数\n const queryKey = [\n 'queryList',\n url,\n finalIdentifier,\n normalizedMethod,\n page,\n size,\n filters,\n requestBody,\n requestSearchParams,\n requestHeaders,\n ] as const\n\n const { data, isLoading, refetch } = useQuery({\n queryKey,\n queryFn: async () => {\n try {\n const kyOptions: KyOptions = {\n method: normalizedMethod,\n searchParams: requestSearchParams,\n headers: requestHeaders,\n }\n\n // 只有非无请求体方法才允许有 body\n if (requestBody && !isBodylessMethod) {\n if (requestBody instanceof FormData) {\n // FormData 使用 body 方式传递\n kyOptions.body = requestBody\n } else if (typeof requestBody === 'string') {\n // 字符串直接作为 body\n kyOptions.body = requestBody\n } else {\n // 对象类型使用 .json 方式传递\n kyOptions.json = requestBody\n }\n }\n\n const response = await ky.request<Data>({ url, ...kyOptions })\n shouldPoll.current = true\n afterSuccess?.(action.current, formInstance, response)\n return response\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n afterError?.(errorObj, action.current, formInstance)\n throw errorObj\n }\n },\n retry: (failureCount, retryError) => {\n // 自定义重试逻辑\n if (failureCount >= 3) return false\n if (retryError?.message?.includes('401')) return false // 认证错误不重试\n return true\n },\n retryDelay: attemptIndex => Math.min(1000 * 2 ** attemptIndex, 30000), // 指数退避\n refetchOnWindowFocus: false,\n refetchInterval: shouldPoll.current ? refreshInterval : 0,\n // 缓存配置\n gcTime: cacheTime,\n staleTime,\n enabled: accessible && isValid,\n })\n\n // 处理 dataAdapter 配置\n const resolvedDataAdapter = useMemo(() => {\n const adapter = dataAdapter\n const defaultAdapter: QueryListDataAdapter<Item> = {\n total: (data as ListResponse<Item>)?.total,\n items: (data as ListResponse<Item>)?.list,\n }\n\n if (typeof adapter === 'function') {\n return {\n ...defaultAdapter,\n ...adapter(data as Data),\n }\n }\n return {\n ...defaultAdapter,\n ...adapter,\n }\n }, [dataAdapter, data])\n\n // 在组件挂载时注册实例,避免因 queryKey/refetch 身份变化反复注册\n useEffect(() => {\n useQueryListStore.getState().registerInstance(finalIdentifier, url, queryKey, refetch)\n return () => {\n useQueryListStore.getState().unregisterInstance(finalIdentifier)\n }\n }, [finalIdentifier, url])\n\n const dataSource = resolvedDataAdapter.items\n const total = resolvedDataAdapter.total\n\n const pagination = useMemo(() => {\n if (onePage) return false\n\n return {\n pageSizeOptions,\n showSizeChanger: true,\n showQuickJumper: true,\n current: page,\n pageSize: size,\n total,\n onChange: async (currentPage: number, currentSize: number) => {\n action.current = QueryListAction.Jump\n useQueryListStore.getState().refetch(finalIdentifier, {\n page: currentPage,\n size: currentSize,\n })\n },\n }\n }, [onePage, pageSizeOptions, page, size, total, finalIdentifier])\n\n const onConfirm = useCallback(async () => {\n action.current = QueryListAction.Confirm\n try {\n await formInstance.validateFields()\n setIsValid(true)\n useQueryListStore.getState().refetch(finalIdentifier, {\n page: 1,\n filters: formInstance.getFieldsValue(),\n })\n } catch {\n setIsValid(false)\n }\n }, [formInstance, finalIdentifier])\n\n const onReset = useCallback(async () => {\n action.current = QueryListAction.Reset\n formInstance.resetFields()\n\n try {\n await formInstance.validateFields({ validateOnly: true })\n setIsValid(true)\n useQueryListStore.getState().refetch(finalIdentifier, {\n page: 1,\n filters: formInstance.getFieldsValue(),\n })\n } catch {\n setIsValid(false)\n }\n }, [formInstance, finalIdentifier])\n\n const formRenderer =\n typeof renderForm === 'function' ? (\n <FilterFormWrapper\n showReset={showReset}\n buttonsAlign={buttonsAlign}\n isConfirming={isLoading}\n onReset={onReset}\n onConfirm={onConfirm}\n >\n {cloneElement(renderForm(formInstance) as ReactElement<{ onKeyUp?: React.KeyboardEventHandler }>, {\n onKeyUp: (e: React.KeyboardEvent) => {\n if (e.key === 'Enter') {\n onConfirm()\n }\n },\n })}\n </FilterFormWrapper>\n ) : (\n // 屏蔽 Form 组件的警告(Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?)\n <Form form={formInstance} />\n )\n\n const tableExtraRenderer = typeof tableExtra === 'function' ? tableExtra(formInstance, data) : tableExtra\n\n const renderFooter: TableProps<Item>['footer'] = footer ? () => <>{footer(data)}</> : undefined\n\n // 监听 payload.filters 变化并同步更新表单实例\n useEffect(() => {\n if (!isInitialized.current || isUpdatingFromPayload.current) {\n return\n }\n\n // 获取当前表单的值\n const currentFormValues = formInstance.getFieldsValue()\n\n // 如果 payload 中的 filters 与当前表单值不同,则更新表单\n if (filters && !isEqual(currentFormValues, filters)) {\n isUpdatingFromPayload.current = true\n formInstance.setFieldsValue(filters)\n // 使用 setTimeout 确保在下一个事件循环中重置标志\n setTimeout(() => {\n isUpdatingFromPayload.current = false\n }, 0)\n }\n }, [filters, formInstance])\n\n // 首次挂载时自动校验表单,校验通过则更新 payload 并允许请求\n useEffect(() => {\n if (!accessible || isInitialized.current) {\n return\n }\n\n const init = async () => {\n console.log('QueryList init starting')\n try {\n formInstance.resetFields()\n const value = await formInstance.validateFields({ validateOnly: true })\n console.log('QueryList init validation success:', value)\n useQueryListStore.getState().updatePayload(finalIdentifier, {\n page: 1,\n filters: value,\n })\n setIsValid(true)\n console.log('QueryList init completed, isValid set to true')\n } catch (error) {\n console.log('QueryList init validation failed:', error)\n setIsValid(false)\n } finally {\n isInitialized.current = true\n }\n }\n\n const rafId = requestAnimationFrame(() => {\n Promise.resolve().then(init)\n })\n\n return () => {\n if (rafId) {\n cancelAnimationFrame(rafId)\n }\n }\n }, [accessible, finalIdentifier, formInstance])\n\n useImperativeHandle(\n ref,\n () => ({\n data,\n dataSource,\n form: formInstance,\n refetch,\n }),\n [data, dataSource, formInstance, refetch],\n )\n\n if (isChecking) {\n return <Spin style={SPIN_STYLE} />\n }\n\n if (!accessible) {\n return <Result status={403} subTitle={t('global.noEntitlement')} />\n }\n\n return (\n <div>\n {formRenderer}\n {tableExtraRenderer}\n <Table\n {...tableProps}\n dataSource={dataSource}\n loading={isLoading}\n pagination={pagination}\n footer={renderFooter}\n />\n </div>\n )\n}\n\nconst QueryList = forwardRef(InternalQueryList) as <\n Item extends AnyObject = AnyObject,\n Values extends object | undefined = undefined,\n Data = any,\n>(\n props: QueryListProps<Item, Values, Data> & { ref?: Ref<QueryListRef<Item, Values, Data>> },\n) => ReactElement\n\nexport default QueryList\n"]}
|
package/lib/chunk-S4LUEDFA.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {l as l$1}from'./chunk-3ZT3BOPJ.js';import {template,has,get}from'lodash-es';import {useMemo}from'react';function l(){let t=l$1(e=>e.locale);return {t:useMemo(()=>(e,r)=>has(t,e)?template(get(t,e))(r):e,[t])}}export{l as a};//# sourceMappingURL=chunk-S4LUEDFA.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-S4LUEDFA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/locale/hooks.ts"],"names":["useTranslation","locale","useToolkitsStore","state","useMemo","key","data","has","template","get"],"mappings":"gHAmBO,SAASA,CAAAA,EAAiB,CAC/B,IAAMC,CAAAA,CAASC,IAAiBC,CAAAA,EAASA,CAAAA,CAAM,MAAM,CAAA,CAQrD,OAAO,CAAE,EANCC,OAAAA,CACR,IAAM,CAACC,CAAAA,CAAoBC,CAAAA,GACzBC,IAAIN,CAAAA,CAAQI,CAAG,EAAIG,QAAAA,CAASC,GAAAA,CAAIR,EAAQI,CAAa,CAAC,EAAEC,CAAI,CAAA,CAAID,EAClE,CAACJ,CAAM,CACT,CAEW,CACb","file":"chunk-S4LUEDFA.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 locale = useToolkitsStore(state => state.locale)\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/lib/chunk-SMBHLRAO.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {o,l,p,e}from'./chunk-3ZT3BOPJ.js';import {useQuery}from'@tanstack/react-query';function K(e,s){let r=o(),{permissionVersion:n}=l(),t=typeof e<"u"?typeof e=="string"?[e]:e:[],y=n!=="v1"?"v2":"v1",{data:o$1,...c}=useQuery({queryKey:p.permissions.check(t,y),queryFn:()=>r.post(n!=="v1"?"/api/usystem/user/checkV2":"/api/usystem/user/check",{permissions:t},s),enabled:t.length>0,retry:false}),m=true;return typeof e=="string"?m=o$1?.has_all?true:o$1?.[e]??false:Array.isArray(e)&&e.length>0&&(m=t.reduce((f,g)=>(f[g]=o$1?.has_all?true:o$1?.[g]??false,f),{})),{...c,data:m}}function A(){let{loginPath:e$1,appId:s}=l(),r=o();return useQuery({queryKey:p.menus.navbar(s?String(s):void 0),queryFn:()=>r.get("/api/usystem/menu/navbar",{headers:{[e]:s?encodeURIComponent(String(s)):"global"}}),enabled:window.location.pathname!==e$1})}var v=()=>{let{gameApiV2:e$1,permissionVersion:s,requireGame:r}=l(),n=o();return useQuery({queryKey:p.games.all,queryFn:async()=>{let t={headers:{[e]:"global"}};return e$1?(await n.get("/api/game/list",t))?.list??[]:await n.get("/api/usystem/game/all",t)??[]},enabled:r&&s!=="v1",retry:false})};export{K as a,A as b,v as c};//# sourceMappingURL=chunk-SMBHLRAO.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-SMBHLRAO.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","gameApiV2","requireGame","requestConfig"],"mappings":"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","file":"chunk-SMBHLRAO.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 { gameApiV2, permissionVersion, requireGame } = 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 (gameApiV2) {\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: requireGame && permissionVersion !== PermissionVersion.V1,\n retry: false,\n })\n}\n"]}
|
package/lib/chunk-XX2BCZJU.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {c,d,j,i}from'./chunk-3VI7KSDA.js';import {d as d$1}from'./chunk-D5OM3OZU.js';import {a}from'./chunk-S4LUEDFA.js';import {c as c$1}from'./chunk-SMBHLRAO.js';import {l}from'./chunk-3ZT3BOPJ.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:g}=m,[c,f]=useState([]),[y,R]=useState({}),[a$1,d]=useState(l??[]),{t:P}=a(),[,v]=useTransition(),V=useCallback(e=>{f(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},x=(e,s)=>{let o=p(e.target.checked,s);d(o),g?.(o);};useEffect(()=>{d(l??[]);},[l]),useEffect(()=>{r&&v(()=>{f((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=>{x(s,e.permissions?.map(o=>o.value));},children:P("global.selectAll")}),children:jsx(Checkbox.Group,{style:{width:"100%"},value:a$1,disabled:n,children:jsx(Row,{gutter:[10,10],style:{width:"100%"},children:e.permissions?.map(s=>jsx(Col,{span:6,children:jsx(Checkbox,{value:s.value,onChange:o=>{x(o,[s.value]);},children:s.label})},s.value))})})}));return jsx(Collapse,{style:{width:"100%"},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:g,isLoading:c,error:f}=j(),{data:y,isLoading:R}=c$1(),[a$1,d]=useState([]),P=g?.filter(e=>e.is_common),v=g?.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]),f)return jsx("div",{className:"flex justify-center",children:jsx(w,{type:"danger",children:p("PermissionList.failedDescription")})});let x=()=>{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,style:{width:"160px"},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:x,children:p("PermissionList.addText")})]})},U=pe;var{Text:ue}=Typography,ge=m=>{let{expand:i$1=true,value:n,readonly:r,onChange:l}=m,{data:g,isLoading:c,error:f}=i(),{t:y}=a();return f?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:g,readonly:r,expand:i$1,onChange:l})})},$=ge;var fe=m=>{let{value:i}=m;console.log("value",typeof i,i===null,JSON.stringify(i));let{permissionVersion:n}=l();return n==="v2"?jsx(U,{...m,value:i}):jsx($,{...m,value:i})},H=fe;var Qe=({mode:m,onSuccess:i})=>{let{message:n}=App.useApp(),{t:r}=a(),l=c(),g=d(),c$1=m==="create",f=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:f,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 g.mutateAsync({id:d?.id,name:P,permissions:v}),n.success(r("Role.updateSuccessfully"))),i?.();}})};export{H as a,Qe as b};//# sourceMappingURL=chunk-XX2BCZJU.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-XX2BCZJU.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-XX2BCZJU.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 style={{ width: '100%' }} value={internalValue} disabled={readonly}>\n <Row gutter={[10, 10]} style={{ width: '100%' }}>\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\n style={{ width: '100%' }}\n collapsible=\"header\"\n activeKey={activeKey}\n items={items}\n onChange={onCollapseChange}\n />\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 style={{ width: '160px' }}\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"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a}from'./chunk-F3OT6ENF.js';import {m,f}from'./chunk-3ZT3BOPJ.js';import {Editor}from'@monaco-editor/react';import {App,Form,Card,Input,Switch,InputNumber,Button}from'antd';import {useNavigate}from'react-router-dom';import {jsx,jsxs}from'react/jsx-runtime';var v=m(()=>{let{message:p}=App.useApp(),[c]=Form.useForm(),o=useNavigate(),{mutateAsync:I}=a();return jsx(Card,{title:"\u521B\u5EFA\u83DC\u5355\u9879",children:jsxs(Form,{scrollToFirstError:true,form:c,labelCol:{flex:"120px"},initialValues:{is_common:false,is_model:false,order:0},onFinish:async d=>{let{permissions:s,front_route:f$1,...F}=d;await I({...F,front_route:f+f$1,permissions:s?JSON.parse(s):void 0}),p.success("\u521B\u5EFA\u6210\u529F",.8,()=>o("..",{relative:"route"}));},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:()=>{o("..",{relative:"path"});},children:"\u53D6\u6D88"})]})})]})})},{isGlobal:true}),M=v;export{M as default};//# sourceMappingURL=createMenuItem-5DDIEELO.js.map
|
|
2
|
-
//# sourceMappingURL=createMenuItem-5DDIEELO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/menu/pages/createMenuItem/index.tsx"],"names":["CreateMenuItem","withContext","message","App","form","Form","navigate","useNavigate","createMenu","useCreateMenu","jsx","Card","jsxs","values","permissions","front_route","rest","FRONTEND_ROUTE_PREFIX","Input","Switch","InputNumber","Editor","Button","createMenuItem_default"],"mappings":"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","file":"createMenuItem-5DDIEELO.js","sourcesContent":["import { Editor } from '@monaco-editor/react'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { withContext } from '@/components/toolkitsProvider'\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport type { MenuListItem } from '@/types'\n\nimport { useCreateMenu } from '../../services'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst CreateMenuItem = withContext(\n () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { mutateAsync: createMenu } = useCreateMenu()\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n await createMenu({\n ...rest,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n })\n message.success('创建成功', 0.8, () => navigate('..', { relative: 'route' }))\n }\n\n return (\n <Card title=\"创建菜单项\">\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 { isGlobal: true },\n)\n\nexport default CreateMenuItem\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {c}from'./chunk-F3OT6ENF.js';import {c as c$1,e,b as b$1}from'./chunk-IWPBGSXS.js';import {a}from'./chunk-S4LUEDFA.js';import {b}from'./chunk-SMBHLRAO.js';import {m}from'./chunk-3ZT3BOPJ.js';import {App,Card,Space,Button,Popconfirm}from'antd';import {useNavigate}from'react-router-dom';import {jsx,Fragment,jsxs}from'react/jsx-runtime';var M=m(()=>{let{t:n}=a(),{message:y}=App.useApp(),f=c(),{refetch:g}=c$1(),{refetch:h}=b(),m=useNavigate();return jsx(Fragment,{children:jsx(Card,{title:"\u83DC\u5355\u7BA1\u7406",extra:jsx(Button,{type:"primary",onClick:()=>{m("./create");},children:"\u521B\u5EFA\u83DC\u5355\u9879"}),children:jsx(e,{identifier:"menu-item-list",onePage:true,code:"9900001",rowKey:"id",columns:[{title:"\u83DC\u5355\u540D\u79F0",dataIndex:"category",key:"category"},{title:"\u524D\u7AEF\u8DEF\u7531",dataIndex:"front_route"},{title:"Order",dataIndex:"order"},{title:"Is Common",dataIndex:"is_common",key:"is_common",render:o=>o?"\u662F":"\u5426"},{title:"\u6A21\u677F\u540D\u79F0",dataIndex:"model_name",key:"model_name"},{title:"\u64CD\u4F5C",key:"action",width:150,align:"center",render(o,t){return t.is_model?jsxs(Space,{size:"small",children:[jsx(Button,{type:"link",onClick:()=>{m(`./update/${t.id}`);},children:n("global.update")}),jsx(Popconfirm,{title:"\u5220\u9664\u83DC\u5355",placement:"topRight",description:jsxs(b$1,{texts:[t.category],children:["\u786E\u5B9A\u8981\u5220\u9664\u83DC\u5355 ",t.category," \u5417\uFF1F"]}),onConfirm:async()=>{await f.mutateAsync(t.id),g("menu-item-list"),h(),y.success("\u5220\u9664\u6210\u529F");},children:jsx(Button,{danger:true,type:"link",size:"small",children:n("global.delete")})})]}):null}}],request:{url:"/api/usystem/menu/list",method:"GET"},dataAdapter:o=>({items:o})})})})},{isGlobal:true}),G=M;export{G as default};//# sourceMappingURL=menuItemList-4ZLZ7HSG.js.map
|
|
2
|
-
//# sourceMappingURL=menuItemList-4ZLZ7HSG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/menu/pages/menuItemList/index.tsx"],"names":["MenuItemList","withContext","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-4ZLZ7HSG.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 { withContext } from '@/components/toolkitsProvider'\nimport { useTranslation } from '@/locale'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\nimport { useRemoveMenu } from '../../services'\n\nconst MenuItemList = withContext(\n () => {\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 { isGlobal: true },\n)\n\nexport default MenuItemList\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b as b$1,a as a$1}from'./chunk-XX2BCZJU.js';import {b}from'./chunk-3VI7KSDA.js';import {a as a$2}from'./chunk-D5OM3OZU.js';import {a}from'./chunk-S4LUEDFA.js';import'./chunk-SMBHLRAO.js';import {m}from'./chunk-3ZT3BOPJ.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 C=()=>{let p=useParams(),{t:o}=a(),{data:t,isLoading:d,refetch:u}=b(p.name),{show:f,modal:b$2}=b$1({mode:"update",onSuccess(){u();}}),D=async()=>{f({initialValues:{permissions:t?.permissions,name:t?.name.replace(/^role_/,"")},extraValues:{id:t.id}});};return jsxs(Fragment,{children:[jsx(Breadcrumb,{style:{marginBottom:"1.5rem"},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:D,children:o("global.update")}),children:jsxs(Skeleton,{loading:d,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})]})}),b$2]})},G=m(C,{isGlobal:true});export{G as default};//# sourceMappingURL=roleDetail-42BOHDFS.js.map
|
|
2
|
-
//# sourceMappingURL=roleDetail-42BOHDFS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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","withContext"],"mappings":"wYAUA,IAAMA,CAAAA,CAAa,IAAM,CACvB,IAAMC,CAAAA,CAASC,SAAAA,EAAU,CACnB,CAAE,CAAA,CAAAC,CAAE,CAAA,CAAIC,CAAAA,EAAe,CACvB,CAAE,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,EAAW,OAAA,CAAAC,CAAQ,CAAA,CAAIC,CAAAA,CAAQP,CAAAA,CAAO,IAAc,CAAA,CAE5D,CAAE,IAAA,CAAAQ,CAAAA,CAAM,KAAA,CAAAC,GAAM,CAAA,CAAIC,GAAAA,CAAa,CACnC,IAAA,CAAM,QAAA,CACN,SAAA,EAAY,CACVJ,CAAAA,GACF,CACF,CAAC,CAAA,CAEKK,CAAAA,CAAuB,SAAY,CACvCH,CAAAA,CAAK,CACH,aAAA,CAAe,CACb,WAAA,CAAaJ,CAAAA,EAAM,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,QAAAA,CAAA,CACE,QAAA,CAAA,CAAAC,GAAAA,CAACC,UAAAA,CAAA,CACC,KAAA,CAAO,CAAE,YAAA,CAAc,QAAS,CAAA,CAChC,KAAA,CAAO,CACL,CACE,GAAA,CAAK,GAAA,CACL,KAAA,CACED,GAAAA,CAACE,IAAAA,CAAA,CAAK,GAAG,IAAA,CAAK,QAAA,CAAS,MAAA,CACpB,QAAA,CAAAd,CAAAA,CAAE,aAAa,EAClB,CAEJ,CAAA,CACA,CACE,GAAA,CAAK,GAAA,CACL,KAAA,CAAOA,EAAE,kBAAkB,CAC7B,CACF,CAAA,CACF,CAAA,CACAY,GAAAA,CAACG,IAAAA,CAAA,CACC,KAAA,CAAOf,CAAAA,CAAE,kBAAkB,CAAA,CAC3B,KAAA,CACEY,GAAAA,CAACI,IAAA,CAAW,IAAA,CAAK,QAAA,CAAS,OAAA,CAASP,CAAAA,CAChC,QAAA,CAAAT,CAAAA,CAAE,eAAe,CAAA,CACpB,CAAA,CAGF,QAAA,CAAAU,IAAAA,CAACO,QAAAA,CAAA,CAAS,QAASd,CAAAA,CACjB,QAAA,CAAA,CAAAO,IAAAA,CAACQ,YAAAA,CAAA,CAAa,MAAA,CAAQ,CAAA,CAAG,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,MAAA,CACnD,QAAA,CAAA,CAAAN,GAAAA,CAACM,YAAAA,CAAa,KAAb,CAAkB,KAAA,CAAOlB,CAAAA,CAAE,aAAa,CAAA,CAAI,QAAA,CAAAE,GAAM,IAAA,CAAK,CAAA,CACxDU,GAAAA,CAACM,YAAAA,CAAa,IAAA,CAAb,CAAkB,MAAM,IAAA,CAAM,QAAA,CAAAhB,CAAAA,EAAM,EAAA,CAAG,CAAA,CACxCU,GAAAA,CAACM,YAAAA,CAAa,IAAA,CAAb,CAAkB,KAAA,CAAOlB,CAAAA,CAAE,qBAAqB,CAAA,CAAI,QAAA,CAAAE,GAAM,KAAA,CAAM,CAAA,CAAA,CACnE,CAAA,CACAU,GAAAA,CAACO,OAAAA,CAAA,EAAQ,CAAA,CACTP,GAAAA,CAACQ,GAAAA,CAAA,CAAe,QAAA,CAAQ,IAAA,CAAC,KAAA,CAAOlB,CAAAA,EAAM,YAAa,CAAA,CAAA,CACrD,CAAA,CACF,CAAA,CACCK,GAAAA,CAAAA,CACH,CAEJ,CAAA,CAEOc,CAAAA,CAAQC,CAAAA,CAAYzB,CAAAA,CAAY,CAAE,QAAA,CAAU,IAAK,CAAC","file":"roleDetail-42BOHDFS.js","sourcesContent":["import { Breadcrumb, Card, Descriptions, Divider, Skeleton } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\n\nimport { AuthButton, withContext } 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 style={{ marginBottom: '1.5rem' }}\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 withContext(RoleDetail, { isGlobal: true })\n"]}
|
package/lib/roleList-KWWO3IFL.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {c,b as b$1,e as e$1}from'./chunk-IWPBGSXS.js';import {b}from'./chunk-XX2BCZJU.js';import {e}from'./chunk-3VI7KSDA.js';import {a as a$2}from'./chunk-D5OM3OZU.js';import {a as a$1}from'./chunk-S4LUEDFA.js';import {a}from'./chunk-SMBHLRAO.js';import {m,l,o}from'./chunk-3ZT3BOPJ.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 v=()=>{let{modal:g,message:k}=App.useApp(),{data:L}=a("200005"),{t}=a$1(),{permissionVersion:T}=l(e=>e),{refetch:s}=c(),b$2=o(),{show:C,modal:w}=b({mode:"create",onSuccess(){s("role-list",{page:1});}}),{show:A,modal:V}=b({mode:"update",onSuccess(){s("role-list");}}),I=e(),S=async e=>{let o=await b$2.get(`/api/usystem/role/info${T==="v2"?"V2":""}?name=${e.name}`);A({initialValues:{permissions:o.permissions,name:o.name.replace(/^role_/,"")},extraValues:{id:o?.id}});},x=[{title:t("global.name"),key:"name",render(e){return L?jsx(Link,{to:`${e.name}`,relative:"path",children:e.name}):jsx(Fragment,{children:e.name})}},{title:"ID",dataIndex:"id",key:"id"},{title:t("global.creationTime"),dataIndex:"ctime",key:"ctime"},{title:t("global.operation"),width:150,align:"center",render:(e,o)=>jsxs(Space,{size:"small",children:[jsx(a$2,{code:"200003",size:"small",type:"link",onClick:async()=>{S(o);},children:t("global.update")}),jsx(a$2,{danger:true,code:"200004",size:"small",type:"link",onClick:()=>{g.confirm({title:t("Role.deleteTitle"),content:jsx(b$1,{texts:[o.name],children:t("Role.deleteContent",{role:o.name})}),async onOk(){await I.mutateAsync({id:o.id,name:o.name}),s("role-list"),k.success(t("Role.deleteSuccessfully"));}});},children:t("global.delete")})]})}];return jsxs(Fragment,{children:[jsx(Card,{title:t("global.role"),extra:jsx(a$2,{type:"primary",code:"200002",icon:jsx(UsergroupAddOutlined,{}),onClick:()=>{C();},children:t("Role.createTitle")}),children:jsx(e$1,{identifier:"role-list",rowKey:"name",columns:x,code:"200001",request:{url:"/api/usystem/role/list",method:"GET"},dataAdapter:e=>({total:e?.Total,items:e?.List})})}),w,V]})},P=m(v,{isGlobal:true});export{P as default};//# sourceMappingURL=roleList-KWWO3IFL.js.map
|
|
2
|
-
//# sourceMappingURL=roleList-KWWO3IFL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/permission/pages/roleList/index.tsx"],"names":["RoleList","modal","message","App","viewable","useAuth","useTranslation","permissionVersion","useToolkitsStore","s","refetch","useQueryListStore","ky","useKy","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","withContext"],"mappings":"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","file":"roleList-KWWO3IFL.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, withContext } from '@/components'\nimport { PermissionVersion } 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 { permissionVersion } = useToolkitsStore(s => s)\n const { refetch } = useQueryListStore()\n const ky = useKy()\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/info${permissionVersion === PermissionVersion.V2 ? 'V2' : ''}?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 withContext(RoleList, {\n isGlobal: true,\n})\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b}from'./chunk-F3OT6ENF.js';import {b as b$1}from'./chunk-SMBHLRAO.js';import {m,o,p,f}from'./chunk-3ZT3BOPJ.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 A=m(()=>{let{message:b$2}=App.useApp(),[i]=Form.useForm(),l=useNavigate(),{mutateAsync:_}=b(),r=useParams(),{refetch:x}=b$1(),N=o(),{data:p$1,isLoading:v}=useQuery({queryKey:p.menus.detail(Number(r.id)),queryFn:()=>N.get(`/api/usystem/menu/info?id=${r.id}`),enabled:!!r.id}),q=async n=>{let{permissions:m,front_route:a,...u}=n;await _({...u,permissions:m?JSON.parse(m):void 0,front_route:f+a,id:+r.id}),x(),b$2.success("\u66F4\u65B0\u6210\u529F",.8,()=>l("../..",{relative:"route"}));};return useEffect(()=>{let{permissions:n,front_route:m,...a}=p$1??{},u=JSON.stringify(n||[],null,2),E=m?.replace(f,"");i.setFieldsValue({...a,permissions:u,front_route:E});},[p$1,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:q,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("../..",{relative:"path"});},children:"\u53D6\u6D88"})]})})]})})},{isGlobal:true}),X=A;export{X as default};//# sourceMappingURL=updateMenuItem-E5QMBR2S.js.map
|
|
2
|
-
//# sourceMappingURL=updateMenuItem-E5QMBR2S.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/menu/pages/updateMenuItem/index.tsx"],"names":["EditMenuItem","withContext","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-E5QMBR2S.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 { withContext } from '@/components/toolkitsProvider'\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 = withContext(\n () => {\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 { isGlobal: true },\n)\n\nexport default EditMenuItem\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b}from'./chunk-FD52RBG7.js';import'./chunk-3VI7KSDA.js';import {a as a$2}from'./chunk-D5OM3OZU.js';import {a}from'./chunk-S4LUEDFA.js';import {c,a as a$1}from'./chunk-SMBHLRAO.js';import {l,o,p}from'./chunk-3ZT3BOPJ.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 $=()=>{let i=useParams(),{t:r}=a(),{gameApiV2:T,permissionVersion:D}=l(),V=D==="v3",h=o(),{data:s,isLoading:L,refetch:C}=useQuery({queryKey:p.users.detail(i.id||""),queryFn:()=>h.get(`/api/usystem/user/info?id=${i.id}`),enabled:!!i.id}),{data:x}=c(),{data:A}=a$1("200005"),{show:B,modal:K}=b({mode:"update",onSuccess(){C();}}),S=[V&&{key:"group",title:r("global.projectGroup"),dataIndex:"game_group",render(o){return o.map(t=>jsx(Tag,{children:t==="*"?"\u901A\u7528":t},t))}},{key:"game",title:r("global.game"),dataIndex:"game_ids",render(o){return o.map(t=>{let U=x?.find(n=>String(T?n.game_id:n.id)===t);return jsx(Tag,{children:U?.name??(t==="*"?"\u901A\u7528":t)},t)})}},{key:"role",title:r("global.role"),dataIndex:"role",render(o){return A?jsx(Link,{to:`../../role/${o}`,relative:"path",children:o}):o}}].filter(Boolean);return jsxs(Fragment,{children:[jsx(Breadcrumb,{style:{marginBottom:"1.5rem"},items:[{key:"1",title:jsx(Link,{to:"..",relative:"path",children:r("global.user")})},{key:"2",title:"\u7528\u6237\u8BE6\u60C5"}]}),jsx(Card,{title:"\u7528\u6237\u8BE6\u60C5",loading:L,extra:jsx(a$2,{code:"100003",onClick:()=>{B({initialValues:{name:s?.name,permissions:s?.permissions},extraValues:{id:s.id}});},children:r("global.update")}),children:jsxs(Descriptions,{bordered:true,column:1,children:[jsx(Descriptions.Item,{label:r("global.name"),children:s?.name}),jsx(Descriptions.Item,{label:"ID",children:s?.id}),jsx(Descriptions.Item,{label:r("global.role"),children:jsx(Table,{rowKey:"role",columns:S,dataSource:s?.permissions,pagination:false})})]})}),K]})},J=$;export{J as default};//# sourceMappingURL=userDetail-L7Q3C67K.js.map
|
|
2
|
-
//# sourceMappingURL=userDetail-L7Q3C67K.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/permission/pages/userDetail/index.tsx"],"names":["UserDetail","params","useParams","t","useTranslation","gameApiV2","permissionVersion","useToolkitsStore","isV3","ky","useKy","data","isLoading","refetch","useQuery","queryKeys","games","useGames","roleViewable","useAuth","show","modal","useUserModalV2","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-L7Q3C67K.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 { PermissionVersion, WILDCARD } from '@/constants'\nimport { useKy } from '@/libs'\nimport { useTranslation } from '@/locale'\nimport { queryKeys } from '@/queryKeys'\nimport { useGames, useAuth } from '@/services'\n\nimport { useUserModalV2 } from '../../hooks'\nimport type { UserListItem } from '../../types'\n\nconst UserDetail = () => {\n const params = useParams<'id'>()\n const { t } = useTranslation()\n const { gameApiV2, permissionVersion } = useToolkitsStore()\n const isV3 = permissionVersion === PermissionVersion.V3\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 } = useUserModalV2({\n mode: 'update',\n onSuccess() {\n refetch()\n },\n })\n\n const columns = [\n isV3 && {\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(gameApiV2 ? 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 style={{ marginBottom: '1.5rem' }}\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"]}
|
package/lib/userList-IU4L5YRJ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a as a$1,b}from'./chunk-FD52RBG7.js';import {c,b as b$1,e}from'./chunk-IWPBGSXS.js';import {h}from'./chunk-3VI7KSDA.js';import {a as a$2}from'./chunk-D5OM3OZU.js';import {a}from'./chunk-S4LUEDFA.js';import'./chunk-SMBHLRAO.js';import {m,l}from'./chunk-3ZT3BOPJ.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 _=()=>{let{modal:b$2,message:I}=App.useApp(),{t:o}=a(),L=h(),{refetch:r}=c(),{permissionVersion:n}=l(t=>t),M=n==="v1",i=n==="v3",m=n==="v4",{show:x,modal:A}=a$1({mode:"create",onSuccess(){r("user-list",{page:1});}}),{show:S,modal:F}=a$1({mode:"update",onSuccess(){r("user-list");}}),{show:B,modal:R}=b({mode:"create",onSuccess(){r("user-list",{page:1});}}),{show:z,modal:G}=b({mode:"update",onSuccess(){r("user-list");}}),H=[{title:o("global.name"),dataIndex:"name",key:"name",render(t,s){return i||m?jsx(Link,{to:`./${s.id}`,children:t}):t}},{title:"ID",dataIndex:"id",key:"id"},(M||i)&&{title:o("global.role"),dataIndex:"roles",key:"roles",width:"40%",render(t){return jsx(Row,{gutter:[4,4],children:(t||[]).map(s=>jsx(Col,{children:s==="root"?jsx(Tag,{color:"#f50",children:s}):jsx(Tag,{color:"#ff5a00",children:jsx(Link,{to:`../role/${s}`,children:s})})},s))})}},{title:o("global.creationTime"),dataIndex:"Ctime",key:"ctime"},{title:o("global.operation"),width:150,align:"center",render:(t,s)=>{let{name:l,permissions:O,roles:Q,id:d}=s;return jsxs(Space,{children:[jsx(a$2,{size:"small",type:"link",code:"100003",onClick:()=>{i||m?z({initialValues:{name:l,permissions:O},extraValues:{id:d}}):S({initialValues:{name:l,roles:Q},extraValues:{id:d}});},children:o("global.update")}),jsx(a$2,{danger:true,size:"small",code:"100004",type:"link",onClick:()=>{b$2.confirm({title:o("User.deleteTitle"),content:jsx(b$1,{texts:[l],children:o("User.deleteContent",{user:l})}),async onOk(){await L.mutateAsync({id:d,name:l}),r("user-list"),I.success(o("User.deleteSuccessfully"));}});},children:o("global.delete")})]})}}].filter(Boolean);return jsxs(Fragment,{children:[jsx(Card,{title:o("global.user"),extra:jsx(a$2,{type:"primary",icon:jsx(UserAddOutlined,{}),code:"100002",onClick:()=>{i||m?B():x();},children:o("User.createTitle")}),children:jsx(e,{identifier:"user-list",code:"100001",request:{url:"/api/usystem/user/list",method:"GET"},rowKey:"id",columns:H,dataAdapter:t=>({total:t?.Total,items:t?.List}),renderForm:t=>jsx(Form,{form:t,children:jsx(Form.Item,{label:"\u540D\u79F0",name:"name",children:jsx(Input,{})})})})}),A,F,R,G]})},te=m(_,{isGlobal:true});export{te as default};//# sourceMappingURL=userList-IU4L5YRJ.js.map
|
|
2
|
-
//# sourceMappingURL=userList-IU4L5YRJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/permission/pages/userList/index.tsx"],"names":["UserList","modal","message","App","t","useTranslation","remove","useRemoveUser","refetch","useQueryListStore","permissionVersion","useToolkitsStore","s","isV1","isV3","isV4","showCreateModal","createModal","useUserModal","showUpdateModal","updateModal","showCreateModalV2","createModalV2","useUserModalV2","showUpdateModalV2","updateModalV2","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","withContext"],"mappings":"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","file":"userList-IU4L5YRJ.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, withContext } from '@/components'\nimport { PermissionVersion } from '@/constants'\nimport { useTranslation } from '@/locale'\n\nimport { useUserModal, useUserModalV2 } 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 { permissionVersion } = useToolkitsStore(s => s)\n const isV1 = permissionVersion === PermissionVersion.V1\n const isV3 = permissionVersion === PermissionVersion.V3\n const isV4 = permissionVersion === PermissionVersion.V4\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 { show: showCreateModalV2, modal: createModalV2 } = useUserModalV2({\n mode: 'create',\n onSuccess() {\n refetch('user-list', { page: 1 })\n },\n })\n\n const { show: showUpdateModalV2, modal: updateModalV2 } = useUserModalV2({\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 (isV3 || isV4) {\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 (isV1 || isV3) && {\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 if (isV3 || isV4) {\n showUpdateModalV2({\n initialValues: {\n name,\n permissions,\n },\n extraValues: {\n id,\n },\n })\n } else {\n showUpdateModal({\n initialValues: {\n name,\n roles,\n },\n extraValues: {\n id,\n },\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 if (isV3 || isV4) {\n showCreateModalV2()\n } else {\n showCreateModal()\n }\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 {createModalV2}\n {updateModalV2}\n </>\n )\n}\n\nexport default withContext(UserList, { isGlobal: true })\n"]}
|