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}
-
-
+