diff --git a/src/Layout/Routes.js b/src/Layout/Routes.js index c7d9880d..4f645908 100644 --- a/src/Layout/Routes.js +++ b/src/Layout/Routes.js @@ -10,6 +10,7 @@ import DashboardRoute from "pages/DashboardRoute"; import Desktop from "pages/Desktop"; import DialeqtImport from "pages/DialeqtImport"; import DictImport from "pages/DictImport"; +import ComplexDistance from "pages/ComplexDistance"; import CorpImport from "pages/CorpImport"; import DictionariesAll from "pages/DictionariesAll"; import DistanceMap from "pages/DistanceMap"; @@ -17,7 +18,6 @@ import MapSelectedLanguages from "pages/DistanceMap/map"; import SelectedLanguages from "pages/DistanceMap/selectorLangGroup"; import Docx2Eaf from "pages/Docx2Eaf"; import Docx2Xlsx from "pages/Docx2Xlsx"; -import ListCognates from "pages/ListCognates"; import EditTranslations from "pages/EditTranslations"; import Files from "pages/Files"; import Grants from "pages/Grants"; @@ -25,6 +25,7 @@ import GrantsRoute from "pages/GrantsRoute"; import Info from "pages/Info"; import Languages from "pages/Languages"; import LanguagesDatabasesRoute from "pages/LanguagesDatabasesRoute"; +import ListCognates from "pages/ListCognates"; import Map from "pages/Map"; import NotFound from "pages/NotFound"; import Organizations from "pages/Organizations"; @@ -81,6 +82,7 @@ const AppRoutes = () => ( } /> } /> } /> + } /> } /> ); diff --git a/src/components/CognateAnalysisModal/index.js b/src/components/CognateAnalysisModal/index.js index c83b1c57..fc8d5917 100644 --- a/src/components/CognateAnalysisModal/index.js +++ b/src/components/CognateAnalysisModal/index.js @@ -176,6 +176,7 @@ const computeCognateAnalysisMutation = gql` translation_count result xlsx_url + json_url figure_url minimum_spanning_tree embedding_2d @@ -208,6 +209,7 @@ const computeSwadeshAnalysisMutation = gql` transcription_count result xlsx_url + json_url minimum_spanning_tree embedding_2d embedding_3d @@ -236,6 +238,7 @@ const computeMorphCognateAnalysisMutation = gql` transcription_count result xlsx_url + json_url minimum_spanning_tree embedding_2d embedding_3d @@ -1260,6 +1263,7 @@ class CognateAnalysisModal extends React.Component { result: null, xlsx_url: "", + json_url: "", figure_url: "", minimum_spanning_tree: [], @@ -2118,11 +2122,12 @@ class CognateAnalysisModal extends React.Component { for (const language of this.state.language_list) { let p_count = 0; - for (const { perspective } of language.perspective_list) { + for (const { perspective, treePathList: [subLanguage,] } of language.perspective_list) { const p_key = id2str(perspective.id); if (this.state.perspectiveSelectionMap[p_key]) { perspectiveInfoList.push([ + subLanguage.__typename === "Language" ? subLanguage.id : this.baseLanguageId, perspective.id, this.fieldDict[this.state.transcriptionFieldIdStrMap[p_key]].id, this.fieldDict[this.state.translationFieldIdStrMap[p_key]].id, @@ -2138,7 +2143,8 @@ class CognateAnalysisModal extends React.Component { } else { perspectiveInfoList = this.perspective_list - .map(({ perspective }, index) => [ + .map(({ perspective, treePathList: [subLanguage,] }, index) => [ + subLanguage.__typename === "Language" ? subLanguage.id : this.baseLanguageId, perspective.id, this.fieldDict[this.state.transcriptionFieldIdStrList[index]].id, this.fieldDict[this.state.translationFieldIdStrList[index]].id, @@ -2798,9 +2804,28 @@ class CognateAnalysisModal extends React.Component { const { language_list, perspectiveSelectionCountMap } = this.state; + const disabledCompute = ( + (!multi && (this.perspective_list.length <= 1 || + !this.state.perspectiveSelectionList.some(enabled => enabled))) || + (multi && + (language_list.length <= 0 || + (mode === "multi_reconstruction" && + language_list.filter(language => perspectiveSelectionCountMap[id2str(language.id)] > 0).length <= + 1) || + perspectiveSelectionCountMap[""] <= 0)) || + this.state.computing + ) + return (
- + { + if (e.key === 'Enter' && !disabledCompute) this.handleCreate(); }} + tabIndex = "0" + closeIcon + onClose={this.props.closeModal} + dimmer open + size="fullscreen" className="lingvo-modal2"> {mode === "acoustic" ? this.context("Cognate acoustic analysis") @@ -2839,18 +2864,7 @@ class CognateAnalysisModal extends React.Component { ) } onClick={this.handleCreate} - disabled={ - (!multi && - (this.perspective_list.length <= 1 || - !this.state.perspectiveSelectionList.some(enabled => enabled))) || - (multi && - (language_list.length <= 0 || - (mode === "multi_reconstruction" && - language_list.filter(language => perspectiveSelectionCountMap[id2str(language.id)] > 0).length <= - 1) || - perspectiveSelectionCountMap[""] <= 0)) || - this.state.computing - } + disabled={disabledCompute} className="lingvo-button-violet" /> + + setFileSuite(Array.from(e.target.files))} + /> +

+

+ ); +}) + +ComplexDistance.contextType = TranslationContext; + +export default ComplexDistance; diff --git a/src/pages/ComplexDistance/style.scss b/src/pages/ComplexDistance/style.scss new file mode 100644 index 00000000..47d93f0b --- /dev/null +++ b/src/pages/ComplexDistance/style.scss @@ -0,0 +1,3 @@ +pre { + white-space: pre-wrap; +} \ No newline at end of file diff --git a/src/pages/DistanceMap/getDistancePerspectives.js b/src/pages/DistanceMap/getDistancePerspectives.js index 3e9f343d..d6efdf4a 100644 --- a/src/pages/DistanceMap/getDistancePerspectives.js +++ b/src/pages/DistanceMap/getDistancePerspectives.js @@ -100,6 +100,7 @@ const getDistance = async (dictionaries, allField, mainDictionary, computeDistan const perspectiveInfoList = perspectiveList .map(({ perspective }, index) => [ + null, perspective.id, fieldDict[transcriptionFieldIdStrList[index]].id, fieldDict[translationFieldIdStrList[index]].id, diff --git a/src/pages/ToolsRoute/index.js b/src/pages/ToolsRoute/index.js index f8128a04..9eae121d 100644 --- a/src/pages/ToolsRoute/index.js +++ b/src/pages/ToolsRoute/index.js @@ -76,6 +76,12 @@ function ToolsRoute(props) { )} + {props.user.id !== undefined && ( + + + + + )}