in src/views/agile-board/agile-board.tsx [609:670]
renderBoard() {
const {sprint, isLoadingMore, error, agile} = this.props;
const {zoomedIn} = this.state;
const renderAgileSelector = () => (
<View style={styles.agileNoSprint}>{this.renderAgileSelector()}</View>
);
if (agile?.status?.errors?.length || error) {
return renderAgileSelector();
}
if (!sprint) {
if (error && error.noAgiles) {
return null;
}
return (
<View>
{renderAgileSelector()}
<SkeletonAgile />
</View>
);
}
return (
<DragContainer onDragStart={this.onDragStart} onDragEnd={this.onDragEnd}>
<BoardScroller
columns={sprint?.board?.columns}
snap={zoomedIn}
refreshControl={this._renderRefreshControl()}
horizontalScrollProps={{
contentContainerStyle: {
display: 'flex',
flexDirection: 'column',
width: zoomedIn ? this._getScrollableWidth() : '100%',
},
onScroll: this.syncHeaderPosition,
}}
verticalScrollProps={{
onScroll: this.onVerticalScroll,
onContentSizeChange: this.onContentSizeChange,
contentContainerStyle: {
minHeight: '100%',
},
}}
agileSelector={this.renderAgileSelector()}
sprintSelector={this.renderSprintSelector()}
boardHeader={this.renderBoardHeader()}
boardSearch={this.renderSearchPanelPreview()}
>
{this.renderSprint()}
{isLoadingMore && (
<ActivityIndicator
color={styles.link.color}
style={styles.loadingMoreIndicator}
/>
)}
</BoardScroller>
</DragContainer>
);
}