UNPKG

@knockout-js/org

Version:
189 lines (188 loc) 8.01 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 { useState } from 'react'; import { ProTable } from '@ant-design/pro-components'; import { gid, instanceName } from "@knockout-js/api"; import { OrderDirection, OrgKind as UcenterOrgKind, OrgOrderField } from "@knockout-js/api/ucenter"; import { useLocale } from '../locale'; import { gql, paging } from '@knockout-js/ice-urql/request'; import { Modal } from '@knockout-js/layout'; var // fix publish error: Property 'kind' of exported interface has or is using private name 'OrgKind'. OrgKind; (function(OrgKind) { OrgKind[OrgKind["Org"] = UcenterOrgKind.Org] = "Org"; OrgKind[OrgKind["Root"] = UcenterOrgKind.Root] = "Root"; })(OrgKind || (OrgKind = {})); const appOrgListQuery = gql(/* GraphQL */ `query appOrgList($gid: GID!,$first: Int,$orderBy:OrgOrder,$where:OrgWhereInput){ node(id:$gid){ ... on App{ id, orgs(first:$first,orderBy: $orderBy,where: $where){ totalCount,pageInfo{ hasNextPage,hasPreviousPage,startCursor,endCursor } edges{ cursor,node{ id,ownerID,parentID,kind,profile, domain,code,name,countryCode,timezone, owner { id,displayName } } } } } } }`); const orgListQuery = gql(/* GraphQL */ `query orgList($first: Int,$orderBy:OrgOrder,$where:OrgWhereInput){ organizations(first:$first,orderBy: $orderBy,where: $where){ totalCount,pageInfo{ hasNextPage,hasPreviousPage,startCursor,endCursor } edges{ cursor,node{ id,ownerID,parentID,kind,profile, domain,code,name,countryCode,timezone, owner { id,displayName } } } } }`); export default ((props)=>{ const locale = useLocale('OrgModal'), glocale = useLocale('global'), [dataSource, setDataSource] = useState([]), [selectedRowKeys, setSelectedRowKeys] = useState([]), columns = [ { title: locale.name, dataIndex: 'name' }, { title: locale.domain, dataIndex: 'domain' }, { title: locale.owner, dataIndex: 'owner', search: false, render: (text, record)=>{ var _record_owner, _record; return /*#__PURE__*/ _jsx("div", { children: ((_record = record) === null || _record === void 0 ? void 0 : (_record_owner = _record.owner) === null || _record_owner === void 0 ? void 0 : _record_owner.displayName) || '-' }); } }, { title: locale.desc, dataIndex: 'profile', search: false } ]; 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)=>{ const table = { data: [], success: true, total: 0 }, where = {}, orderBy = { direction: OrderDirection.Asc, field: OrgOrderField.DisplaySort }; where.kind = props.kind; where.nameContains = params.name; where.domain = params.domain; where.pathHasPrefix = props.orgId ? `${props.orgId}/` : undefined; if (props.appId) { var _result_data_node, _result_data; const result = await paging(appOrgListQuery, { gid: gid('App', props.appId), first: params.pageSize, where, orderBy }, params.current || 1, { instanceName: instanceName.UCENTER }); if (((_result_data = result.data) === null || _result_data === void 0 ? void 0 : (_result_data_node = _result_data.node) === null || _result_data_node === void 0 ? void 0 : _result_data_node.__typename) === 'App') { var _result_data_node_orgs_edges; (_result_data_node_orgs_edges = result.data.node.orgs.edges) === null || _result_data_node_orgs_edges === void 0 ? void 0 : _result_data_node_orgs_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.orgs.totalCount; } } else { var _result_data1; const result = await paging(orgListQuery, { first: params.pageSize, where, orderBy }, params.current || 1, { instanceName: instanceName.UCENTER }); if ((_result_data1 = result.data) === null || _result_data1 === void 0 ? void 0 : _result_data1.organizations.totalCount) { var _result_data_organizations_edges; (_result_data_organizations_edges = result.data.organizations.edges) === null || _result_data_organizations_edges === void 0 ? void 0 : _result_data_organizations_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.organizations.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