diff --git a/development/index.html b/development/index.html index e667447..7439887 100644 --- a/development/index.html +++ b/development/index.html @@ -11,6 +11,7 @@ window.API_SERVICE_ENVIRONMENT = { port: 5000 }; window.APP_STATE = { analysisResults: [], + selectedTextIds: [], error: null, loading: false }; diff --git a/frontend/MainContainer.tsx b/frontend/MainContainer.tsx index 9cecc88..5f92678 100644 --- a/frontend/MainContainer.tsx +++ b/frontend/MainContainer.tsx @@ -5,7 +5,8 @@ import { requestGenerateText, setGeneratedTextResults, generateTextFailed, - generateText + generateText, + selectText } from './actions'; import TextGenerationControl from "./components/TextGenerationControl"; import TextGenerationResults from "./components/TextGenerationResults"; @@ -16,36 +17,25 @@ type ContainerProps = { analysisResults: AnalyzedText[], error: any, loading: any, + selectedTextIds: Array, requestGenerateText: Function, setGeneratedTextResults: Function, generateTextFailed: any, generateText: any + selectText: Function } const Container: React.FunctionComponent = ({ analysisResults, error, loading, + selectedTextIds, requestGenerateText, setGeneratedTextResults, generateTextFailed, - generateText + generateText, + selectText }) => { - const [selectedTextIds, setSelectedTextIds] = useState(new Array()); - console.log("Container state: ", selectedTextIds) - - const onSelectTextId = (id: number) => { - if (selectedTextIds.includes(id)) { - console.log(`Deselecting ${id}`) - // Deselect - setSelectedTextIds(selectedTextIds.filter(item => item != id)); - } else { - console.log(`Selecting ${id}`) - // Add to selected ids - setSelectedTextIds([...selectedTextIds, id]); - } - } - const getDetailedAnalysisComponent = () => { if (selectedTextIds.length == 0) { return (); @@ -65,7 +55,7 @@ const Container: React.FunctionComponent = ({ analysisResults={analysisResults} loading={loading} error={error} - onSelectTextId={onSelectTextId} + onSelectTextId={selectText} selectedTextIds={selectedTextIds} /> {getDetailedAnalysisComponent()} @@ -78,6 +68,7 @@ function mapStateToProps (state) { analysisResults: state.analysisResults, error: state.error, loading: state.loading, + selectedTextIds: state.selectedTextIds, }; } @@ -86,7 +77,8 @@ function mapDispatchToProps (dispatch) { requestGenerateText: requestGenerateText, setGeneratedTextResults: setGeneratedTextResults, generateTextFailed: generateTextFailed, - generateText: generateText + generateText: generateText, + selectText: selectText }, dispatch); } diff --git a/frontend/actions.ts b/frontend/actions.ts index 22e9237..48565e4 100644 --- a/frontend/actions.ts +++ b/frontend/actions.ts @@ -30,6 +30,12 @@ function generateText(config) { } } +function selectText(id: number) { + return { + type: "SELECT_TEXT", + id: id + } +} export { @@ -37,4 +43,5 @@ export { setGeneratedTextResults, generateTextFailed, generateText, + selectText, }; diff --git a/frontend/app.css b/frontend/app.css index 09e12a3..fa85492 100644 --- a/frontend/app.css +++ b/frontend/app.css @@ -24,4 +24,24 @@ h1 { .plot-spider { display: flex; justify-content: center; +} + +.light-gray-text { + color: #8A8886; +} + +.text-gen-form-grid { + display: grid; + grid-template-columns: 1fr 2fr 2fr 3fr; +} + +.stacked-text-field-grid { + display: grid; + grid-template-rows: 1fr 1fr; + grid-template-columns: 1fr 2fr; + align-items: center; +} + +.ms-Checkbox-label { + font-weight: 600; } \ No newline at end of file diff --git a/frontend/components/PerspectiveScoresBarChart.tsx b/frontend/components/PerspectiveScoresBarChart.tsx index 27e5fc1..1eadd10 100644 --- a/frontend/components/PerspectiveScoresBarChart.tsx +++ b/frontend/components/PerspectiveScoresBarChart.tsx @@ -11,6 +11,7 @@ type PerspectiveScoresBarChartState = { type PerspectiveScoresBarChartProps = { id: number, + width: number, scores: any, defaultSelectedScore: string } @@ -52,7 +53,7 @@ class PerspectiveScoresBarChart extends Component ) @@ -158,7 +162,9 @@ class TextGenerationControl extends React.Component<
-
- - - - - - - - +
+
+ + +
+
+ Max Length +
+ + [1-100] +
+ Min Length +
+ + [1-100] +
+
+
+ Num. Beams +
+ + [1-100] +
+ Top K +
+ +
+
+
+
+ + +
); diff --git a/frontend/components/TextGenerationResults.tsx b/frontend/components/TextGenerationResults.tsx index 72d8247..217697a 100644 --- a/frontend/components/TextGenerationResults.tsx +++ b/frontend/components/TextGenerationResults.tsx @@ -1,11 +1,6 @@ import React from "react"; -import * as _ from "lodash" +import { ComboBox, IComboBoxOption, Stack } from "office-ui-fabric-react" import AnalyzedText from "../models/AnalyzedText"; -import ReactDOM from "react-dom"; -import { Fabric } from "office-ui-fabric-react/lib/Fabric"; -import { TextField } from "office-ui-fabric-react/lib/TextField"; -import { DefaultButton } from "office-ui-fabric-react/lib/Button"; -import { List } from "office-ui-fabric-react/lib/List"; import PerspectiveScoresBarChart from "./PerspectiveScoresBarChart"; type TextGenerationResultsProps = { @@ -54,16 +49,53 @@ class TextGenerationResults extends React.Component -

Generated Results

+

Generated Results

+ + + + {this.props.analysisResults.map((item) =>
{item.id}
-
- +
+