public render()

in fronts-client/src/components/Clipboard.tsx [141:249]


	public render() {
		const {
			isClipboardOpen,
			clipboardHasOpenForms,
			clipboardHasContent,
			selectCard,
			removeCard,
			removeSupportingCard,
			updateCardMeta,
			addImageToCard,
		} = this.props;
		return (
			<React.Fragment>
				{isClipboardOpen && (
					<ClipboardWrapper
						tabIndex={0}
						onFocus={this.handleFocus}
						onBlur={this.handleBlur}
						ref={this.clipboardWrapper as Ref}
						clipboardHasOpenForms={clipboardHasOpenForms}
					>
						<StyledDragIntentContainer
							active={!isClipboardOpen}
							delay={300}
							onDragIntentStart={() => this.setState({ preActive: true })}
							onDragIntentEnd={() => this.setState({ preActive: false })}
						>
							<ClipboardBody>
								<ClipboardHeader>
									<ClearClipboardButton
										disabled={!clipboardHasContent}
										onClick={this.props.clearClipboard}
									>
										<ButtonLabel>Clear clipboard</ButtonLabel>
									</ClearClipboardButton>
								</ClipboardHeader>
								<DragAndDropRoot
									id="clipboard"
									data-testid="clipboard"
									style={{ display: 'flex', flex: 1 }}
								>
									<ClipboardLevel
										onMove={this.handleMove}
										onDrop={this.handleInsert}
									>
										{(card, getAfProps) => (
											<>
												<FocusWrapper
													tabIndex={0}
													onFocus={(e: React.FocusEvent<HTMLDivElement>) =>
														this.handleArticleFocus(e, card)
													}
													area="clipboard"
													onBlur={this.handleBlur}
													uuid={card.uuid}
												>
													<Card
														uuid={card.uuid}
														parentId={clipboardId}
														frontId={clipboardId}
														getNodeProps={getAfProps}
														showMeta={false}
														canDragImage={false}
														canShowPageViewData={false}
														textSize="small"
														onSelect={selectCard}
														onDelete={() => removeCard(card.uuid)}
														updateCardMeta={updateCardMeta}
														addImageToCard={addImageToCard}
													>
														<CardLevel
															cardId={card.uuid}
															onMove={this.handleMove}
															onDrop={this.handleInsert}
														>
															{(supporting, getSProps, i, arr) => (
																<Card
																	uuid={supporting.uuid}
																	frontId={clipboardId}
																	parentId={card.uuid}
																	canShowPageViewData={false}
																	getNodeProps={getSProps}
																	size="small"
																	showMeta={false}
																	onSelect={(id) => selectCard(id, true)}
																	onDelete={() =>
																		removeSupportingCard(
																			card.uuid,
																			supporting.uuid,
																		)
																	}
																	updateCardMeta={updateCardMeta}
																	addImageToCard={addImageToCard}
																/>
															)}
														</CardLevel>
													</Card>
												</FocusWrapper>
											</>
										)}
									</ClipboardLevel>
								</DragAndDropRoot>
							</ClipboardBody>
						</StyledDragIntentContainer>
					</ClipboardWrapper>
				)}
			</React.Fragment>
		);
	}