diff --git a/Backend.Tests/Models/ProjectTests.cs b/Backend.Tests/Models/ProjectTests.cs index 59e73a98fd..9985138e5e 100644 --- a/Backend.Tests/Models/ProjectTests.cs +++ b/Backend.Tests/Models/ProjectTests.cs @@ -107,7 +107,7 @@ public void TestClone() LiftImported = true, DefinitionsEnabled = true, GrammaticalInfoEnabled = true, - AutocompleteSetting = AutocompleteSetting.On, + AutocompleteSetting = OffOnSetting.On, SemDomWritingSystem = new("fr", "Français"), VernacularWritingSystem = new("en", "English", "Calibri"), AnalysisWritingSystems = new() { new("es", "Español") }, diff --git a/Backend/Models/Project.cs b/Backend/Models/Project.cs index ba6c3fe6f8..90e726b598 100644 --- a/Backend/Models/Project.cs +++ b/Backend/Models/Project.cs @@ -38,7 +38,7 @@ public class Project [Required] [BsonElement("autocompleteSetting")] [BsonRepresentation(BsonType.String)] - public AutocompleteSetting AutocompleteSetting { get; set; } + public OffOnSetting AutocompleteSetting { get; set; } [Required] [BsonElement("semDomWritingSystem")] @@ -92,7 +92,7 @@ public Project() LiftImported = false; DefinitionsEnabled = false; GrammaticalInfoEnabled = false; - AutocompleteSetting = AutocompleteSetting.On; + AutocompleteSetting = OffOnSetting.On; SemDomWritingSystem = new(); VernacularWritingSystem = new(); AnalysisWritingSystems = new(); @@ -186,10 +186,10 @@ public override int GetHashCode() var hash = new HashCode(); hash.Add(Id); hash.Add(Name); + hash.Add(IsActive); hash.Add(LiftImported); hash.Add(DefinitionsEnabled); hash.Add(GrammaticalInfoEnabled); - hash.Add(IsActive); hash.Add(AutocompleteSetting); hash.Add(SemDomWritingSystem); hash.Add(VernacularWritingSystem); @@ -329,7 +329,7 @@ public UserCreatedProject() } } - public enum AutocompleteSetting + public enum OffOnSetting { Off, On diff --git a/Backend/Models/User.cs b/Backend/Models/User.cs index d6407b1416..1814dd8758 100644 --- a/Backend/Models/User.cs +++ b/Backend/Models/User.cs @@ -72,7 +72,7 @@ public class User [Required] [BsonElement("glossSuggestion")] [BsonRepresentation(BsonType.String)] - public AutocompleteSetting GlossSuggestion { get; set; } + public OffOnSetting GlossSuggestion { get; set; } [Required] [BsonElement("token")] @@ -98,7 +98,7 @@ public User() Password = ""; Username = ""; UILang = ""; - GlossSuggestion = AutocompleteSetting.On; + GlossSuggestion = OffOnSetting.On; Token = ""; IsAdmin = false; WorkedProjects = new(); diff --git a/src/api/.openapi-generator/FILES b/src/api/.openapi-generator/FILES index 873eb5b3b5..cf9d132ea8 100644 --- a/src/api/.openapi-generator/FILES +++ b/src/api/.openapi-generator/FILES @@ -21,7 +21,6 @@ common.ts configuration.ts git_push.sh index.ts -models/autocomplete-setting.ts models/banner-type.ts models/chart-root-data.ts models/consent-type.ts @@ -42,6 +41,7 @@ models/merge-source-word.ts models/merge-undo-ids.ts models/merge-words.ts models/note.ts +models/off-on-setting.ts models/password-reset-data.ts models/password-reset-request-data.ts models/permission.ts diff --git a/src/api/models/index.ts b/src/api/models/index.ts index 5b140bd273..dc5992c9b2 100644 --- a/src/api/models/index.ts +++ b/src/api/models/index.ts @@ -1,4 +1,3 @@ -export * from "./autocomplete-setting"; export * from "./banner-type"; export * from "./chart-root-data"; export * from "./consent-type"; @@ -18,6 +17,7 @@ export * from "./merge-source-word"; export * from "./merge-undo-ids"; export * from "./merge-words"; export * from "./note"; +export * from "./off-on-setting"; export * from "./password-reset-data"; export * from "./password-reset-request-data"; export * from "./permission"; diff --git a/src/api/models/autocomplete-setting.ts b/src/api/models/off-on-setting.ts similarity index 93% rename from src/api/models/autocomplete-setting.ts rename to src/api/models/off-on-setting.ts index b54c9ab6fa..a41171e274 100644 --- a/src/api/models/autocomplete-setting.ts +++ b/src/api/models/off-on-setting.ts @@ -17,7 +17,7 @@ * @export * @enum {string} */ -export enum AutocompleteSetting { +export enum OffOnSetting { Off = "Off", On = "On", } diff --git a/src/api/models/project.ts b/src/api/models/project.ts index 0958b4d28c..04ed705511 100644 --- a/src/api/models/project.ts +++ b/src/api/models/project.ts @@ -12,9 +12,9 @@ * Do not edit the class manually. */ -import { AutocompleteSetting } from "./autocomplete-setting"; import { CustomField } from "./custom-field"; import { EmailInvite } from "./email-invite"; +import { OffOnSetting } from "./off-on-setting"; import { SemanticDomainFull } from "./semantic-domain-full"; import { WritingSystem } from "./writing-system"; @@ -62,10 +62,10 @@ export interface Project { grammaticalInfoEnabled: boolean; /** * - * @type {AutocompleteSetting} + * @type {OffOnSetting} * @memberof Project */ - autocompleteSetting: AutocompleteSetting; + autocompleteSetting: OffOnSetting; /** * * @type {WritingSystem} diff --git a/src/api/models/user.ts b/src/api/models/user.ts index fef3669aef..b88fa4d43a 100644 --- a/src/api/models/user.ts +++ b/src/api/models/user.ts @@ -12,7 +12,7 @@ * Do not edit the class manually. */ -import { AutocompleteSetting } from "./autocomplete-setting"; +import { OffOnSetting } from "./off-on-setting"; /** * @@ -100,20 +100,20 @@ export interface User { uiLang?: string | null; /** * - * @type {string} + * @type {OffOnSetting} * @memberof User */ - token: string; + glossSuggestion: OffOnSetting; /** * - * @type {boolean} + * @type {string} * @memberof User */ - isAdmin: boolean; + token: string; /** * - * @type {AutocompleteSetting} + * @type {boolean} * @memberof User */ - glossSuggestion: AutocompleteSetting; + isAdmin: boolean; } diff --git a/src/components/DataEntry/DataEntryTable/index.tsx b/src/components/DataEntry/DataEntryTable/index.tsx index ce9f8325cc..3d20bda5dd 100644 --- a/src/components/DataEntry/DataEntryTable/index.tsx +++ b/src/components/DataEntry/DataEntryTable/index.tsx @@ -17,8 +17,8 @@ import { useTranslation } from "react-i18next"; import { v4 } from "uuid"; import { - AutocompleteSetting, Note, + OffOnSetting, Pronunciation, SemanticDomain, SemanticDomainTreeNode, @@ -250,8 +250,7 @@ export default function DataEntryTable( ); const suggestVerns = useAppSelector( (state: StoreState) => - state.currentProjectState.project.autocompleteSetting === - AutocompleteSetting.On + state.currentProjectState.project.autocompleteSetting === OffOnSetting.On ); const vernacularLang = useAppSelector( (state: StoreState) => @@ -272,7 +271,7 @@ export default function DataEntryTable( const spellChecker = useContext(SpellCheckerContext); useEffect(() => { spellChecker.updateLang( - getCurrentUser()?.glossSuggestion === AutocompleteSetting.Off + getCurrentUser()?.glossSuggestion === OffOnSetting.Off ? undefined : analysisLang.bcp47 ); diff --git a/src/components/ProjectSettings/ProjectAutocomplete.tsx b/src/components/ProjectSettings/ProjectAutocomplete.tsx index 1c0f4c7402..5890af880f 100644 --- a/src/components/ProjectSettings/ProjectAutocomplete.tsx +++ b/src/components/ProjectSettings/ProjectAutocomplete.tsx @@ -3,7 +3,7 @@ import { Grid, MenuItem, Select, Tooltip } from "@mui/material"; import { type ReactElement } from "react"; import { useTranslation } from "react-i18next"; -import { AutocompleteSetting } from "api/models"; +import { OffOnSetting } from "api/models"; import { type ProjectSettingProps } from "components/ProjectSettings/ProjectSettingsTypes"; export default function ProjectAutocomplete( @@ -12,7 +12,7 @@ export default function ProjectAutocomplete( const { t } = useTranslation(); const updateAutocompleteSetting = async ( - autocompleteSetting: AutocompleteSetting + autocompleteSetting: OffOnSetting ): Promise => { await props.setProject({ ...props.project, autocompleteSetting }); }; @@ -24,13 +24,13 @@ export default function ProjectAutocomplete( variant="standard" value={props.project.autocompleteSetting} onChange={(e) => - updateAutocompleteSetting(e.target.value as AutocompleteSetting) + updateAutocompleteSetting(e.target.value as OffOnSetting) } > - + {t("projectSettings.autocomplete.off")} - + {t("projectSettings.autocomplete.on")} diff --git a/src/components/ProjectSettings/tests/ProjectAutocomplete.test.tsx b/src/components/ProjectSettings/tests/ProjectAutocomplete.test.tsx index 5b3b179158..0647cd33f4 100644 --- a/src/components/ProjectSettings/tests/ProjectAutocomplete.test.tsx +++ b/src/components/ProjectSettings/tests/ProjectAutocomplete.test.tsx @@ -1,7 +1,7 @@ import { Select } from "@mui/material"; import renderer from "react-test-renderer"; -import { AutocompleteSetting } from "api/models"; +import { OffOnSetting } from "api/models"; import ProjectAutocomplete from "components/ProjectSettings/ProjectAutocomplete"; import { randomProject } from "types/project"; @@ -26,12 +26,12 @@ describe("ProjectAutocomplete", () => { await renderer.act(async () => selectChange({ target: { value: "Off" } })); expect(mockSetProject).toHaveBeenCalledWith({ ...mockProject, - autocompleteSetting: AutocompleteSetting.Off, + autocompleteSetting: OffOnSetting.Off, }); await renderer.act(async () => selectChange({ target: { value: "On" } })); expect(mockSetProject).toHaveBeenCalledWith({ ...mockProject, - autocompleteSetting: AutocompleteSetting.On, + autocompleteSetting: OffOnSetting.On, }); }); }); diff --git a/src/components/UserSettings/UserSettings.tsx b/src/components/UserSettings/UserSettings.tsx index ecf98a692c..8d6f69e0f5 100644 --- a/src/components/UserSettings/UserSettings.tsx +++ b/src/components/UserSettings/UserSettings.tsx @@ -15,7 +15,7 @@ import { FormEvent, Fragment, ReactElement, useState } from "react"; import { useTranslation } from "react-i18next"; import { show } from "vanilla-cookieconsent"; -import { AutocompleteSetting, User } from "api/models"; +import { OffOnSetting, User } from "api/models"; import { isEmailTaken, updateUser } from "backend"; import { getAvatar, getCurrentUser } from "backend/localStorage"; import { asyncLoadSemanticDomains } from "components/Project/ProjectActions"; @@ -252,15 +252,15 @@ export function UserSettings(props: { data-testid={UserSettingsIds.SelectGlossSuggestion} id={UserSettingsIds.SelectGlossSuggestion} onChange={(e) => - setGlossSuggestion(e.target.value as AutocompleteSetting) + setGlossSuggestion(e.target.value as OffOnSetting) } value={glossSuggestion} variant="standard" > - + {t("projectSettings.autocomplete.off")} - + {t("projectSettings.autocomplete.on")} diff --git a/src/types/project.ts b/src/types/project.ts index c0d70abf89..6a9985f221 100644 --- a/src/types/project.ts +++ b/src/types/project.ts @@ -1,4 +1,4 @@ -import { AutocompleteSetting, ConsentType, Project, Speaker } from "api/models"; +import { ConsentType, OffOnSetting, Project, Speaker } from "api/models"; import { newWritingSystem } from "types/writingSystem"; import { randomIntString } from "utilities/utilities"; @@ -10,6 +10,7 @@ export function newProject(name = ""): Project { liftImported: false, definitionsEnabled: false, grammaticalInfoEnabled: false, + autocompleteSetting: OffOnSetting.On, semanticDomains: [], semDomWritingSystem: newWritingSystem(), vernacularWritingSystem: newWritingSystem(), @@ -17,7 +18,6 @@ export function newProject(name = ""): Project { validCharacters: [], rejectedCharacters: [], inviteTokens: [], - autocompleteSetting: AutocompleteSetting.On, }; } diff --git a/src/types/user.ts b/src/types/user.ts index 29d6d0177c..6ea2534882 100644 --- a/src/types/user.ts +++ b/src/types/user.ts @@ -1,4 +1,4 @@ -import { AutocompleteSetting, User } from "api/models"; +import { OffOnSetting, User } from "api/models"; export function newUser(name = "", username = "", password = ""): User { return { @@ -12,7 +12,7 @@ export function newUser(name = "", username = "", password = ""): User { phone: "", projectRoles: {}, workedProjects: {}, - glossSuggestion: AutocompleteSetting.On, + glossSuggestion: OffOnSetting.On, token: "", isAdmin: false, };