@knockout-js/org
Version:
Knockout组织相关组件
261 lines (260 loc) • 11 kB
JavaScript
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