sfm-uikit-react-native
Version:
It is a react native component for SmartFloMeet users.
75 lines (60 loc) • 2.2 kB
JavaScript
import React, { Component } from 'react';
import { Modal,Image, View,ScrollView, Text, FlatList, TouchableOpacity, StyleSheet } from 'react-native';
import PieChart from 'sfm-uikit-react-native/src/commonClass/EnxPieChart'; // Import the RadioButton component
import { styles } from "sfm-uikit-react-native/src/style/EnxPollResultStyle";
// Assuming the PieChart component is correctly imported
export default class EnxPollResultDialog extends Component {
constructor(props) {
super(props);
this.state = {
isModalVisible: false, // Controls modal visibility
};
}
componentDidMount() {
this.setState({ isModalVisible: true });
}
componentWillUnmount() {
// Clear the timer when component unmounts
}
// Show the modal
showModal = () => {
this.setState({ isModalVisible: true });
};
// Hide the modal
hideModal = () => {
this.setState({ isModalVisible: false });
};
render() {
const { isModalVisible } = this.state;
const {onCancel,pollResultData}= this.props;
console.log("Chart",pollResultData);
return (
<View style={styles.container}>
{/* Poll Modal Dialog */}
<Modal
visible={isModalVisible}
animationType="slide"
transparent={true}
onRequestClose={this.hideModal}
>
<View style={styles.modalBackground}>
<View style={styles.dialogContainer}>
{/* Header: Question and Cancel Button */}
<View style={styles.headerContainer}>
<TouchableOpacity onPress={() => { this.hideModal(); onCancel(); }}>
<Image source={require("../image_asset/close.png")} style={styles.closeButton} />
</TouchableOpacity>
</View>
<Text style={styles.titleText}> {"Poll Result"}</Text>
<Text style={styles.questionText}> {pollResultData.question}</Text>
{/* PieChart centered */}
<View style={styles.pieChartContainer}>
<PieChart data={pollResultData.data} />
</View>
</View>
</View>
</Modal>
</View>
);
}
}