UNPKG

@knockout-js/org

Version:
261 lines (260 loc) 11 kB
import { _ as _object_spread } from "@swc/helpers/_/_object_spread"; import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props"; import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime"; import { UserUserType as UcenterUserUserType } from "@knockout-js/api/ucenter"; import { gid, instanceName } from "@knockout-js/api"; import { useLocale } from "../locale"; import { useState } from "react"; import { ProTable } from "@ant-design/pro-components"; import { gql, paging } from '@knockout-js/ice-urql/request'; import { Modal } from "@knockout-js/layout"; var // fix publish error: Property 'userType' of exported interface has or is using private name 'UserUserType' UserUserType; (function(UserUserType) { UserUserType[UserUserType["Account"] = UcenterUserUserType.Account] = "Account"; UserUserType[UserUserType["Member"] = UcenterUserUserType.Member] = "Member"; })(UserUserType || (UserUserType = {})); export const EnumUserStatus = { active: { text: 'active', status: 'success' }, inactive: { text: 'inactive', status: 'default' }, processing: { text: 'processing', status: 'warning' } }; const userListQuery = gql(/* GraphQL */ `query userList($first: Int,$orderBy:UserOrder,$where:UserWhereInput){ users(first:$first,orderBy: $orderBy,where: $where){ totalCount,pageInfo{ hasNextPage,hasPreviousPage,startCursor,endCursor } edges{ cursor,node{ id,createdBy,createdAt,updatedBy,updatedAt,principalName,displayName, userType,creationType,registerIP,status,comments,contact{email,mobile} } } } }`); const orgUserListQuery = gql(/* GraphQL */ `query orgUserList($gid: GID!,$first: Int,$orderBy:UserOrder,$where:UserWhereInput){ node(id:$gid){ ... on Org{ id, users(first:$first,orderBy: $orderBy,where: $where){ totalCount,pageInfo{ hasNextPage,hasPreviousPage,startCursor,endCursor } edges{ cursor,node{ id,createdBy,createdAt,updatedBy,updatedAt,principalName,displayName, userType,creationType,registerIP,status,comments,contact{email,mobile} } } } } } }`); const orgRoleUserListQuery = gql(/* GraphQL */ `query orgRoleUserList($roleId: ID!,$first: Int,$orderBy:UserOrder,$where:UserWhereInput){ orgRoleUsers(roleID:$roleId,first:$first,orderBy: $orderBy,where: $where){ totalCount,pageInfo{ hasNextPage,hasPreviousPage,startCursor,endCursor } edges{ cursor,node{ id,createdBy,createdAt,updatedBy,updatedAt,principalName,displayName, userType,creationType,registerIP,status,comments,contact{email,mobile} } } } }`); export default ((props)=>{ const locale = useLocale('UserModal'), glocale = useLocale('global'), [dataSource, setDataSource] = useState([]), [selectedRowKeys, setSelectedRowKeys] = useState([]), columns = [ { title: locale.principal_name, dataIndex: 'principalName', width: 90 }, { title: locale.display_name, dataIndex: 'displayName', width: 120 }, { title: locale.email, dataIndex: 'email', width: 120, renderText (_text, record) { var _record_contact; return /*#__PURE__*/ _jsx("div", { children: (_record_contact = record.contact) === null || _record_contact === void 0 ? void 0 : _record_contact.email }); } }, { title: locale.mobile, dataIndex: 'mobile', width: 160, renderText (_text, record) { var _record_contact; return /*#__PURE__*/ _jsx("div", { children: (_record_contact = record.contact) === null || _record_contact === void 0 ? void 0 : _record_contact.mobile }); } }, { title: locale.status, dataIndex: 'status', filters: true, search: false, width: 100, valueEnum: EnumUserStatus }, { title: locale.created_at, dataIndex: 'createdAt', width: 160, valueType: 'dateTime' } ]; return /*#__PURE__*/ _jsx(Modal, _object_spread_props(_object_spread({ width: 900, title: props.title }, props.modalProps), { open: props.open, onOk: ()=>{ props.onClose(dataSource.filter((item)=>selectedRowKeys.includes(item.id))); }, onCancel: ()=>{ props.onClose(); }, children: /*#__PURE__*/ _jsx(ProTable, _object_spread_props(_object_spread({ size: "small", scroll: { x: 'max-content', y: 300 } }, props.proTableProps), { rowKey: 'id', search: { searchText: glocale.query, resetText: glocale.reset, labelWidth: 'auto' }, options: false, columns: columns, request: async (params, sort, filter)=>{ const table = { data: [], success: true, total: 0 }, where = {}; where.userType = props.userType; where.principalNameContains = params.principalName; where.displayNameContains = params.displayName; if (params.email || params.mobile) { where.hasAddressesWith = []; if (params.email) { where.hasAddressesWith.push({ emailContains: params.email }); } if (params.mobile) { where.hasAddressesWith.push({ mobileContains: params.mobile }); } } where.statusIn = filter.status; if (props.orgRoleId) { var _result_data; const result = await paging(orgRoleUserListQuery, { roleId: props.orgRoleId, first: params.pageSize, where }, params.current || 1, { instanceName: instanceName.UCENTER }); if ((_result_data = result.data) === null || _result_data === void 0 ? void 0 : _result_data.orgRoleUsers.totalCount) { var _result_data_orgRoleUsers_edges; (_result_data_orgRoleUsers_edges = result.data.orgRoleUsers.edges) === null || _result_data_orgRoleUsers_edges === void 0 ? void 0 : _result_data_orgRoleUsers_edges.forEach((item)=>{ var _item; if ((_item = item) === null || _item === void 0 ? void 0 : _item.node) { table.data.push(item.node); } }); table.total = result.data.orgRoleUsers.totalCount; } } else if (props.orgId) { var _result_data_node, _result_data1; const result = await paging(orgUserListQuery, { gid: gid('Org', props.orgId), first: params.pageSize, where }, params.current || 1, { instanceName: instanceName.UCENTER }); if (((_result_data1 = result.data) === null || _result_data1 === void 0 ? void 0 : (_result_data_node = _result_data1.node) === null || _result_data_node === void 0 ? void 0 : _result_data_node.__typename) === 'Org') { var _result_data_node_users_edges; (_result_data_node_users_edges = result.data.node.users.edges) === null || _result_data_node_users_edges === void 0 ? void 0 : _result_data_node_users_edges.forEach((item)=>{ var _item; if ((_item = item) === null || _item === void 0 ? void 0 : _item.node) { table.data.push(item.node); } }); table.total = result.data.node.users.totalCount; } } else { var _result_data2; const result = await paging(userListQuery, { first: params.pageSize, where }, params.current || 1, { instanceName: instanceName.UCENTER }); if ((_result_data2 = result.data) === null || _result_data2 === void 0 ? void 0 : _result_data2.users.totalCount) { var _result_data_users_edges; (_result_data_users_edges = result.data.users.edges) === null || _result_data_users_edges === void 0 ? void 0 : _result_data_users_edges.forEach((item)=>{ var _item; if ((_item = item) === null || _item === void 0 ? void 0 : _item.node) { table.data.push(item.node); } }); table.total = result.data.users.totalCount; } } setDataSource(table.data); return table; }, pagination: { showSizeChanger: true }, rowSelection: { selectedRowKeys: selectedRowKeys, onChange: (selectedRowKeys)=>{ setSelectedRowKeys(selectedRowKeys); }, type: props.isMultiple ? 'checkbox' : 'radio' }, onRow: (record)=>{ return { onClick: ()=>{ if (props.isMultiple) { if (selectedRowKeys.includes(record.id)) { setSelectedRowKeys(selectedRowKeys.filter((id)=>id != record.id)); } else { selectedRowKeys.push(record.id); setSelectedRowKeys([ ...selectedRowKeys ]); } } else { setSelectedRowKeys([ record.id ]); } } }; } })) })); }); //# sourceMappingURL=index.js.map