@ant-design/icons APIs
- PlusOutlined
- UserOutlined
- SettingOutlined
- EditOutlined
- DeleteOutlined
- DownOutlined
- LoadingOutlined
- SearchOutlined
- LockOutlined
- CheckOutlined
- CloseOutlined
- UploadOutlined
- LogoutOutlined
- QuestionCircleOutlined
- InfoCircleOutlined
- SyncOutlined
- GithubOutlined
- DownloadOutlined
- CloseCircleOutlined
- CheckCircleOutlined
- LeftOutlined
- ExclamationCircleOutlined
- EyeOutlined
- LinkOutlined
- MenuFoldOutlined
- MenuUnfoldOutlined
- BellOutlined
- TeamOutlined
- AppstoreOutlined
- FileOutlined
- DesktopOutlined
- SendOutlined
- HomeOutlined
- StarOutlined
- ArrowDownOutlined
- ReloadOutlined
- NotificationOutlined
- RightOutlined
- MailOutlined
- EyeInvisibleOutlined
- SmileOutlined
- ArrowUpOutlined
- EllipsisOutlined
- createFromIconfontCN
- CheckCircleTwoTone
- CaretDownOutlined
- SmileTwoTone
- RedoOutlined
- PlusCircleOutlined
- WalletOutlined
- ExportOutlined
- LikeOutlined
- InboxOutlined
- CopyOutlined
- FullscreenExitOutlined
- FullscreenOutlined
- FacebookOutlined
- UserAddOutlined
- SolutionOutlined
- KeyOutlined
- PieChartOutlined
- PictureOutlined
- QrcodeOutlined
- PoweroffOutlined
- DashboardOutlined
- GlobalOutlined
- ClockCircleOutlined
- ShareAltOutlined
- UndoOutlined
- MenuOutlined
- HeartTwoTone
- BarsOutlined
- MinusCircleOutlined
- WarningOutlined
- FrownOutlined
- HeartOutlined
- RetweetOutlined
- FilePdfOutlined
- MinusOutlined
- UpOutlined
- ImportOutlined
- LineChartOutlined
- StopOutlined
- CreditCardOutlined
- ToolOutlined
- MessageOutlined
- DisconnectOutlined
- GoogleOutlined
- InfoCircleTwoTone
- BankOutlined
- EditTwoTone
- HomeTwoTone
- PlusSquareTwoTone
- SlidersOutlined
- UnorderedListOutlined
- FormOutlined
- CameraOutlined
- ArrowRightOutlined
- CloseCircleTwoTone
- VideoCameraOutlined
- MoreOutlined
- BarChartOutlined
- BugOutlined
- TwitterOutlined
- SettingFilled
- HighlightOutlined
- DeleteTwoTone
- EyeTwoTone
- HistoryOutlined
- CaretRightOutlined
- ApiOutlined
- AuditOutlined
- BlockOutlined
- CodeOutlined
- CloudUploadOutlined
- FileTextOutlined
- PlayCircleOutlined
- LikeFilled
- CaretUpOutlined
- ArrowLeftOutlined
- LaptopOutlined
- LockTwoTone
- MailTwoTone
- FlagOutlined
- CodeTwoTone
- LeftCircleOutlined
- RightCircleOutlined
- UsergroupAddOutlined
- IdcardOutlined
- DollarCircleOutlined
- AimOutlined
- SettingTwoTone
- SwapOutlined
- PhoneOutlined
- FileExcelOutlined
- FileMarkdownOutlined
- MinusCircleTwoTone
- FileAddOutlined
- DatabaseOutlined
- CloudServerOutlined
- HddOutlined
- FileDoneOutlined
- RocketOutlined
- FolderAddOutlined
- VerticalAlignTopOutlined
- ControlOutlined
- LoginOutlined
- SafetyCertificateOutlined
- ExpandOutlined
- WindowsOutlined
- TagsOutlined
- FireOutlined
- FileImageOutlined
- PauseCircleOutlined
- DislikeFilled
- BuildOutlined
- CopyrightOutlined
- setTwoToneColor
- ThunderboltOutlined
- CompressOutlined
- SoundOutlined
- CommentOutlined
- CustomerServiceOutlined
- FileSyncOutlined
- ContainerOutlined
- PauseOutlined
- AudioOutlined
- YoutubeOutlined
- HourglassOutlined
- ColumnHeightOutlined
- PlusCircleTwoTone
- PaperClipOutlined
- SmileFilled
- MessageFilled
- QuestionOutlined
- PushpinOutlined
- AppstoreAddOutlined
- SwapRightOutlined
- NodeCollapseOutlined
- PieChartFilled
- HeartFilled
- CloseCircleFilled
- FileUnknownTwoTone
- ApartmentOutlined
- ProfileOutlined
- FlagTwoTone
- ClusterOutlined
- FundTwoTone
- UnlockOutlined
- NotificationTwoTone
- FileUnknownOutlined
- ScheduleOutlined
- SaveOutlined
- InsertRowAboveOutlined
- PushpinFilled
- PushpinTwoTone
- BorderOuterOutlined
- DownSquareOutlined
- GatewayOutlined
- InteractionOutlined
- NodeIndexOutlined
- LikeTwoTone
- Html5Outlined
- OrderedListOutlined
- InstagramOutlined
- WhatsAppOutlined
- IdcardTwoTone
- FileTextTwoTone
- TableOutlined
- DeleteFilled
- EditFilled
- FileAddFilled
- RightCircleTwoTone
- DownCircleTwoTone
- FolderOutlined
- InsuranceOutlined
- UserSwitchOutlined
- OneToOneOutlined
- FileWordOutlined
- FileZipOutlined
- FolderTwoTone
- ClearOutlined
- FileProtectOutlined
- getTwoToneColor
- DownCircleOutlined
- UpCircleOutlined
- BookOutlined
- GithubFilled
- StarFilled
- EnterOutlined
- ZoomInOutlined
- ZoomOutOutlined
- PictureFilled
- FolderOpenOutlined
- FundViewOutlined
- MergeCellsOutlined
- SplitCellsOutlined
- FormatPainterOutlined
- CarOutlined
- ReadOutlined
- AudioMutedOutlined
- RotateRightOutlined
- BorderOutlined
- BorderVerticleOutlined
- BorderHorizontalOutlined
- DragOutlined
- FilterOutlined
- BulbOutlined
- BgColorsOutlined
- ChromeOutlined
- FireFilled
- FilterTwoTone
- BellFilled
- FolderAddTwoTone
- ApiTwoTone
- CopyTwoTone
- WarningTwoTone
- DeploymentUnitOutlined
- ExperimentOutlined
- LineOutlined
- StepForwardOutlined
- EnvironmentOutlined
- AreaChartOutlined
- VerifiedOutlined
- CodeFilled
- BugFilled
- SnippetsOutlined
- VerticalAlignMiddleOutlined
- InfoCircleFilled
- CaretUpFilled
- FundProjectionScreenOutlined
- PartitionOutlined
- DislikeOutlined
- CloudOutlined
- ShopOutlined
- CalendarOutlined
- RadiusUpleftOutlined
- RadiusUprightOutlined
- RadiusBottomleftOutlined
- RadiusBottomrightOutlined
- MehOutlined
- AppleOutlined
- AndroidOutlined
- LinkedinOutlined
- FrownFilled
- CarryOutOutlined
- StarTwoTone
- DingdingOutlined
- AlipayCircleOutlined
- TaobaoCircleOutlined
- WeiboCircleOutlined
- TagFilled
OtherRelated APIs
@ant-design/icons#SplitCellsOutlined JavaScript Examples
The following examples show how to use
@ant-design/icons#SplitCellsOutlined.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CellSetsTool.jsx From ui with MIT License | 4 votes |
CellSetsTool = (props) => {
const { experimentId, width, height } = props;
const dispatch = useDispatch();
const cellSets = useSelector(getCellSets());
const {
loading, error, hierarchy, properties, hidden, selected: allSelected,
} = cellSets;
const genes = useSelector(
(state) => state.genes,
);
const filteredCells = useRef(new Set());
const [activeTab, setActiveTab] = useState('cellSets');
useEffect(() => {
filteredCells.current = generateFilteredCellIndices(genes.expression.data);
}, [genes.expression.data]);
useEffect(() => {
// load the expression data for an arbitrary gene so that we can determine
// which cells are filtered
const [gene] = Object.keys(genes.properties.data);
if (Object.is(gene, undefined)) return;
dispatch(loadGeneExpression(experimentId, [gene], 'CellSetsTool'));
}, [genes.properties.data]);
const FOCUS_TYPE = 'cellSets';
useEffect(() => {
dispatch(loadCellSets(experimentId));
}, []);
const [cellSetTreeData, setCellSetTreeData] = useState(null);
const [metadataTreeData, setMetadataTreeData] = useState(null);
useEffect(() => {
setCellSetTreeData(composeTree(hierarchy, properties, 'cellSets'));
setMetadataTreeData(composeTree(hierarchy, properties, 'metadataCategorical'));
}, [hierarchy, properties]);
const [numSelected, setNumSelected] = useState(0);
useEffect(() => {
const selected = allSelected[activeTab];
const selectedCells = union(selected, properties);
const numSelectedUnfiltered = new Set([...selectedCells]
.filter((cellIndex) => !filteredCells.current.has(cellIndex)));
setNumSelected(numSelectedUnfiltered.size);
}, [activeTab, allSelected, properties]);
const onNodeUpdate = useCallback((key, data) => {
dispatch(updateCellSetProperty(experimentId, key, data));
}, [experimentId]);
const onNodeDelete = useCallback((key) => {
dispatch(deleteCellSet(experimentId, key));
}, [experimentId]);
const onCellSetReorder = useCallback((cellSetKey, newPosition) => {
dispatch(reorderCellSet(experimentId, cellSetKey, newPosition));
}, [experimentId]);
const onCheck = useCallback((keys) => {
dispatch(updateCellSetSelected(keys, activeTab));
}, [experimentId, activeTab]);
/**
* Renders the content inside the tool. Can be a skeleton during loading
* or a hierarchical tree listing all cell sets.
*/
const renderContent = () => {
let operations = null;
const selected = allSelected[activeTab];
if (numSelected) {
operations = (
<Space>
<CellSetOperation
icon={<MergeCellsOutlined />}
onCreate={(name, color) => {
dispatch(createCellSet(experimentId, name, color, union(selected, properties)));
}}
ariaLabel='Union of selected'
helpTitle='Create new cell set by combining selected sets in the current tab.'
/>
<CellSetOperation
icon={<BlockOutlined />}
onCreate={(name, color) => {
dispatch(
createCellSet(experimentId, name, color, intersection(selected, properties)),
);
}}
ariaLabel='Intersection of selected'
helpTitle='Create new cell set from intersection of selected sets in the current tab.'
/>
<CellSetOperation
icon={<SplitCellsOutlined />}
onCreate={(name, color) => {
dispatch(createCellSet(experimentId, name, color, complement(selected, properties)));
}}
ariaLabel='Complement of selected'
helpTitle='Create new cell set from the complement of the selected sets in the current tab.'
/>
<Text type='primary' id='selectedCellSets'>
{`${numSelected} cell${numSelected === 1 ? '' : 's'} selected`}
{activeTab === 'metadataCategorical'}
</Text>
</Space>
);
}
return (
<>
<Tabs
size='small'
activeKey={activeTab}
onChange={(key) => setActiveTab(key)}
tabBarExtraContent={operations}
>
<TabPane tab='Cell sets' key='cellSets'>
<HierarchicalTree
experimentId={experimentId}
treeData={cellSetTreeData}
store={FOCUS_TYPE}
onCheck={onCheck}
onNodeUpdate={onNodeUpdate}
onNodeDelete={onNodeDelete}
onCellSetReorder={onCellSetReorder}
showHideButton
checkedKeys={selected}
/>
</TabPane>
<TabPane tab='Metadata' key='metadataCategorical'>
{metadataTreeData?.length > 0 ? (
<HierarchicalTree
experimentId={experimentId}
treeData={metadataTreeData}
store={FOCUS_TYPE}
onCheck={onCheck}
onNodeUpdate={onNodeUpdate}
onNodeDelete={onNodeDelete}
onCellSetReorder={onCellSetReorder}
showHideButton
checkedKeys={selected}
/>
)
: (
<Empty description={(
<>
<Text type='primary'>You don't have any metadata added yet.</Text>
<Text type='secondary'>Metadata is an experimental feature for certain pre-processed or multi-sample data sets.</Text>
</>
)}
/>
)}
</TabPane>
</Tabs>
</>
);
};
if (loading) return <Skeleton active={false} title={false} />;
if (!cellSetTreeData || !metadataTreeData) return <Skeleton active title={false} avatar />;
if (error) {
return (
<PlatformError
error={error}
onClick={() => dispatch(loadCellSets(experimentId))}
/>
);
}
return (
<Element
className='element'
id='cell-set-tool-container'
style={{
position: 'relative',
height: `${height - 40}px`,
width: `${width - 8}px`,
overflow: 'auto',
paddingLeft: '5px',
paddingRight: '5px',
}}
>
<Space direction='vertical'>
{hidden.size > 0 ? (
<Alert
message={`${hidden.size} cell set${hidden.size > 1 ? 's are' : ' is'} currently hidden.`}
type='warning'
action={<Button type='link' size='small' onClick={() => dispatch(unhideAllCellSets(experimentId))}>Unhide all</Button>}
/>
) : (<></>)}
{renderContent()}
</Space>
</Element>
);
}