mirror of
https://github.com/formbricks/formbricks.git
synced 2026-03-24 00:45:50 -05:00
Compare commits
3 Commits
v3.15.0-al
...
fix/click-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
055f143c30 | ||
|
|
ba1d36ecd8 | ||
|
|
75d170bce5 |
@@ -1303,12 +1303,11 @@
|
||||
"casual": "Lässig",
|
||||
"caution_edit_duplicate": "Duplizieren & bearbeiten",
|
||||
"caution_edit_published_survey": "Eine veröffentlichte Umfrage bearbeiten?",
|
||||
"caution_explanation_all_data_as_download": "Alle Daten, einschließlich früherer Antworten, stehen als Download zur Verfügung.",
|
||||
"caution_explanation_intro": "Wir verstehen, dass du vielleicht noch Änderungen vornehmen möchtest. Hier erfährst du, was passiert, wenn du das tust:",
|
||||
"caution_explanation_new_responses_separated": "Neue Antworten werden separat gesammelt.",
|
||||
"caution_explanation_only_new_responses_in_summary": "Nur neue Antworten erscheinen in der Umfragezusammenfassung.",
|
||||
"caution_explanation_responses_are_safe": "Vorhandene Antworten bleiben sicher.",
|
||||
"caution_recommendation": "Das Bearbeiten deiner Umfrage kann zu Dateninkonsistenzen in der Umfragezusammenfassung führen. Wir empfehlen stattdessen, die Umfrage zu duplizieren.",
|
||||
"caution_explanation_new_responses_separated": "Antworten vor der Änderung werden möglicherweise nicht oder nur teilweise in der Umfragezusammenfassung berücksichtigt.",
|
||||
"caution_explanation_only_new_responses_in_summary": "Alle Daten, einschließlich früherer Antworten, bleiben auf der Umfrageübersichtsseite als Download verfügbar.",
|
||||
"caution_explanation_responses_are_safe": "Ältere und neuere Antworten vermischen sich, was zu irreführenden Datensummen führen kann.",
|
||||
"caution_recommendation": "Dies kann im Umfrageübersicht zu Dateninkonsistenzen führen. Wir empfehlen stattdessen, die Umfrage zu duplizieren.",
|
||||
"caution_text": "Änderungen werden zu Inkonsistenzen führen",
|
||||
"centered_modal_overlay_color": "Zentrierte modale Überlagerungsfarbe",
|
||||
"change_anyway": "Trotzdem ändern",
|
||||
|
||||
@@ -1303,12 +1303,11 @@
|
||||
"casual": "Casual",
|
||||
"caution_edit_duplicate": "Duplicate & edit",
|
||||
"caution_edit_published_survey": "Edit a published survey?",
|
||||
"caution_explanation_all_data_as_download": "All data, including past responses are available as download.",
|
||||
"caution_explanation_intro": "We understand you might still want to make changes. Here’s what happens if you do: ",
|
||||
"caution_explanation_new_responses_separated": "New responses are collected separately.",
|
||||
"caution_explanation_only_new_responses_in_summary": "Only new responses appear in the survey summary.",
|
||||
"caution_explanation_responses_are_safe": "Existing responses remain safe.",
|
||||
"caution_recommendation": "Editing your survey may cause data inconsistencies in the survey summary. We recommend duplicating the survey instead.",
|
||||
"caution_explanation_new_responses_separated": "Responses before the change may not or only partially be included in the survey summary.",
|
||||
"caution_explanation_only_new_responses_in_summary": "All data, including past responses, remain available as download on the survey summary page.",
|
||||
"caution_explanation_responses_are_safe": "Older and newer responses get mixed which can lead to misleading data summaries.",
|
||||
"caution_recommendation": "This may cause data inconsistencies in the survey summary. We recommend duplicating the survey instead.",
|
||||
"caution_text": "Changes will lead to inconsistencies",
|
||||
"centered_modal_overlay_color": "Centered modal overlay color",
|
||||
"change_anyway": "Change anyway",
|
||||
|
||||
@@ -1303,12 +1303,11 @@
|
||||
"casual": "Décontracté",
|
||||
"caution_edit_duplicate": "Dupliquer et modifier",
|
||||
"caution_edit_published_survey": "Modifier un sondage publié ?",
|
||||
"caution_explanation_all_data_as_download": "Toutes les données, y compris les réponses passées, sont disponibles en téléchargement.",
|
||||
"caution_explanation_intro": "Nous comprenons que vous souhaitiez encore apporter des modifications. Voici ce qui se passe si vous le faites : ",
|
||||
"caution_explanation_new_responses_separated": "Les nouvelles réponses sont collectées séparément.",
|
||||
"caution_explanation_only_new_responses_in_summary": "Seules les nouvelles réponses apparaissent dans le résumé de l'enquête.",
|
||||
"caution_explanation_responses_are_safe": "Les réponses existantes restent en sécurité.",
|
||||
"caution_recommendation": "Modifier votre enquête peut entraîner des incohérences dans le résumé de l'enquête. Nous vous recommandons de dupliquer l'enquête à la place.",
|
||||
"caution_explanation_new_responses_separated": "Les réponses avant le changement peuvent ne pas être ou ne faire partie que partiellement du résumé de l'enquête.",
|
||||
"caution_explanation_only_new_responses_in_summary": "Toutes les données, y compris les réponses passées, restent disponibles en téléchargement sur la page de résumé de l'enquête.",
|
||||
"caution_explanation_responses_are_safe": "Les réponses anciennes et nouvelles se mélangent, ce qui peut entraîner des résumés de données trompeurs.",
|
||||
"caution_recommendation": "Cela peut entraîner des incohérences de données dans le résumé du sondage. Nous recommandons de dupliquer le sondage à la place.",
|
||||
"caution_text": "Les changements entraîneront des incohérences.",
|
||||
"centered_modal_overlay_color": "Couleur de superposition modale centrée",
|
||||
"change_anyway": "Changer de toute façon",
|
||||
|
||||
@@ -1303,12 +1303,11 @@
|
||||
"casual": "Casual",
|
||||
"caution_edit_duplicate": "Duplicar e editar",
|
||||
"caution_edit_published_survey": "Editar uma pesquisa publicada?",
|
||||
"caution_explanation_all_data_as_download": "Todos os dados, incluindo respostas anteriores, estão disponíveis para download.",
|
||||
"caution_explanation_intro": "Entendemos que você ainda pode querer fazer alterações. Aqui está o que acontece se você fizer:",
|
||||
"caution_explanation_new_responses_separated": "Novas respostas são coletadas separadamente.",
|
||||
"caution_explanation_only_new_responses_in_summary": "Apenas novas respostas aparecem no resumo da pesquisa.",
|
||||
"caution_explanation_responses_are_safe": "As respostas existentes permanecem seguras.",
|
||||
"caution_recommendation": "Editar sua pesquisa pode causar inconsistências de dados no resumo da pesquisa. Recomendamos duplicar a pesquisa em vez disso.",
|
||||
"caution_explanation_new_responses_separated": "Respostas antes da mudança podem não ser ou apenas parcialmente incluídas no resumo da pesquisa.",
|
||||
"caution_explanation_only_new_responses_in_summary": "Todos os dados, incluindo respostas anteriores, permanecem disponíveis para download na página de resumo da pesquisa.",
|
||||
"caution_explanation_responses_are_safe": "Respostas antigas e novas são misturadas, o que pode levar a resumos de dados enganosos.",
|
||||
"caution_recommendation": "Isso pode causar inconsistências de dados no resumo da pesquisa. Recomendamos duplicar a pesquisa em vez disso.",
|
||||
"caution_text": "Mudanças vão levar a inconsistências",
|
||||
"centered_modal_overlay_color": "cor de sobreposição modal centralizada",
|
||||
"change_anyway": "Mudar mesmo assim",
|
||||
|
||||
@@ -1303,12 +1303,11 @@
|
||||
"casual": "Casual",
|
||||
"caution_edit_duplicate": "Duplicar e editar",
|
||||
"caution_edit_published_survey": "Editar um inquérito publicado?",
|
||||
"caution_explanation_all_data_as_download": "Todos os dados, incluindo respostas anteriores, estão disponíveis para download.",
|
||||
"caution_explanation_intro": "Entendemos que ainda pode querer fazer alterações. Eis o que acontece se o fizer:",
|
||||
"caution_explanation_new_responses_separated": "As novas respostas são recolhidas separadamente.",
|
||||
"caution_explanation_only_new_responses_in_summary": "Apenas novas respostas aparecem no resumo do inquérito.",
|
||||
"caution_explanation_responses_are_safe": "As respostas existentes permanecem seguras.",
|
||||
"caution_recommendation": "Editar o seu inquérito pode causar inconsistências de dados no resumo do inquérito. Recomendamos duplicar o inquérito em vez disso.",
|
||||
"caution_explanation_new_responses_separated": "Respostas antes da alteração podem não estar incluídas ou estar apenas parcialmente incluídas no resumo do inquérito.",
|
||||
"caution_explanation_only_new_responses_in_summary": "Todos os dados, incluindo respostas anteriores, permanecem disponíveis para download na página de resumo do inquérito.",
|
||||
"caution_explanation_responses_are_safe": "As respostas mais antigas e mais recentes se misturam, o que pode levar a resumos de dados enganosos.",
|
||||
"caution_recommendation": "Isso pode causar inconsistências de dados no resumo do inquérito. Recomendamos duplicar o inquérito em vez disso.",
|
||||
"caution_text": "As alterações levarão a inconsistências",
|
||||
"centered_modal_overlay_color": "Cor da sobreposição modal centralizada",
|
||||
"change_anyway": "Alterar mesmo assim",
|
||||
|
||||
@@ -1303,12 +1303,11 @@
|
||||
"casual": "隨意",
|
||||
"caution_edit_duplicate": "複製 & 編輯",
|
||||
"caution_edit_published_survey": "編輯已發佈的調查?",
|
||||
"caution_explanation_all_data_as_download": "所有數據,包括過去的回應,都可以下載。",
|
||||
"caution_explanation_intro": "我們了解您可能仍然想要進行更改。如果您這樣做,將會發生以下情況:",
|
||||
"caution_explanation_new_responses_separated": "新回應會分開收集。",
|
||||
"caution_explanation_only_new_responses_in_summary": "只有新的回應會出現在調查摘要中。",
|
||||
"caution_explanation_responses_are_safe": "現有回應仍然安全。",
|
||||
"caution_recommendation": "編輯您的調查可能會導致調查摘要中的數據不一致。我們建議複製調查。",
|
||||
"caution_explanation_new_responses_separated": "更改前的回應可能未被納入或只有部分包含在調查摘要中。",
|
||||
"caution_explanation_only_new_responses_in_summary": "所有數據,包括過去的回應,仍可在調查摘要頁面下載。",
|
||||
"caution_explanation_responses_are_safe": "較舊和較新的回應會混在一起,可能導致數據摘要失準。",
|
||||
"caution_recommendation": "這可能導致調查摘要中的數據不一致。我們建議複製這個調查。",
|
||||
"caution_text": "變更會導致不一致",
|
||||
"centered_modal_overlay_color": "置中彈窗覆蓋顏色",
|
||||
"change_anyway": "仍然變更",
|
||||
|
||||
@@ -65,9 +65,6 @@ describe("EditPublicSurveyAlertDialog", () => {
|
||||
expect(
|
||||
screen.getByText("environments.surveys.edit.caution_explanation_only_new_responses_in_summary")
|
||||
).toBeInTheDocument();
|
||||
expect(
|
||||
screen.getByText("environments.surveys.edit.caution_explanation_all_data_as_download")
|
||||
).toBeInTheDocument();
|
||||
});
|
||||
|
||||
test("renders default close button and calls setOpen when clicked", () => {
|
||||
|
||||
@@ -74,7 +74,6 @@ export const EditPublicSurveyAlertDialog = ({
|
||||
<li>{t("environments.surveys.edit.caution_explanation_responses_are_safe")}</li>
|
||||
<li>{t("environments.surveys.edit.caution_explanation_new_responses_separated")}</li>
|
||||
<li>{t("environments.surveys.edit.caution_explanation_only_new_responses_in_summary")}</li>
|
||||
<li>{t("environments.surveys.edit.caution_explanation_all_data_as_download")}</li>
|
||||
</ul>
|
||||
</DialogBody>
|
||||
|
||||
|
||||
@@ -50,12 +50,12 @@ export function RenderSurvey(props: SurveyContainerProps) {
|
||||
placement={props.placement}
|
||||
darkOverlay={props.darkOverlay}
|
||||
clickOutside={props.clickOutside}
|
||||
ignorePlacementForClickOutside={props.ignorePlacementForClickOutside}
|
||||
onClose={close}
|
||||
isOpen={isOpen}>
|
||||
{/* @ts-expect-error -- TODO: fix this */}
|
||||
<Survey
|
||||
{...props}
|
||||
clickOutside={props.placement === "center" ? props.clickOutside : true}
|
||||
onClose={close}
|
||||
onFinished={() => {
|
||||
props.onFinished?.();
|
||||
|
||||
@@ -210,6 +210,36 @@ describe("SurveyContainer", () => {
|
||||
expect(onCloseMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
test("triggers clickOutside logic if ignorePlacementForClickOutside is true and placement is not center", () => {
|
||||
render(
|
||||
<SurveyContainer
|
||||
mode="modal"
|
||||
placement="bottomRight"
|
||||
clickOutside={true}
|
||||
onClose={onCloseMock}
|
||||
ignorePlacementForClickOutside={true}>
|
||||
{(<TestChild />) as any}
|
||||
</SurveyContainer>
|
||||
);
|
||||
fireEvent.mouseDown(document.body);
|
||||
expect(onCloseMock).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
test("does not trigger clickOutside logic if ignorePlacementForClickOutside is true and placement is center", () => {
|
||||
render(
|
||||
<SurveyContainer
|
||||
mode="modal"
|
||||
placement="center"
|
||||
clickOutside={false}
|
||||
onClose={onCloseMock}
|
||||
ignorePlacementForClickOutside={true}>
|
||||
{(<TestChild />) as any}
|
||||
</SurveyContainer>
|
||||
);
|
||||
fireEvent.mouseDown(document.body);
|
||||
expect(onCloseMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
test("does not trigger clickOutside logic if mode is not modal", () => {
|
||||
render(
|
||||
<SurveyContainer mode="inline" placement="center" clickOutside={true} onClose={onCloseMock}>
|
||||
@@ -234,6 +264,7 @@ describe("SurveyContainer", () => {
|
||||
unmount();
|
||||
expect(removeEventListenerSpy).toHaveBeenCalledWith("mousedown", expect.any(Function));
|
||||
});
|
||||
|
||||
test("does not call onClose when modal is not shown (show=false)", () => {
|
||||
render(
|
||||
<SurveyContainer
|
||||
|
||||
@@ -9,6 +9,7 @@ interface SurveyContainerProps {
|
||||
children: React.ReactNode;
|
||||
onClose?: () => void;
|
||||
clickOutside?: boolean;
|
||||
ignorePlacementForClickOutside?: boolean;
|
||||
isOpen?: boolean;
|
||||
}
|
||||
|
||||
@@ -19,6 +20,7 @@ export function SurveyContainer({
|
||||
children,
|
||||
onClose,
|
||||
clickOutside,
|
||||
ignorePlacementForClickOutside,
|
||||
isOpen = true,
|
||||
}: Readonly<SurveyContainerProps>) {
|
||||
const modalRef = useRef<HTMLDivElement>(null);
|
||||
@@ -27,7 +29,11 @@ export function SurveyContainer({
|
||||
|
||||
useEffect(() => {
|
||||
if (!isModal) return;
|
||||
if (!isCenter) return;
|
||||
|
||||
// If the placement is not center and we don't want to ignore center placement for click outside, we will return early
|
||||
if (!ignorePlacementForClickOutside && !isCenter) {
|
||||
return;
|
||||
}
|
||||
|
||||
const handleClickOutside = (e: MouseEvent) => {
|
||||
if (
|
||||
@@ -44,7 +50,7 @@ export function SurveyContainer({
|
||||
return () => {
|
||||
document.removeEventListener("mousedown", handleClickOutside);
|
||||
};
|
||||
}, [clickOutside, onClose, isCenter, isModal, isOpen]);
|
||||
}, [clickOutside, onClose, isCenter, isModal, isOpen, ignorePlacementForClickOutside]);
|
||||
|
||||
const getPlacementStyle = (placement: TPlacement): string => {
|
||||
switch (placement) {
|
||||
|
||||
@@ -27,6 +27,7 @@ export interface SurveyBaseProps {
|
||||
isCardBorderVisible?: boolean;
|
||||
startAtQuestionId?: string;
|
||||
clickOutside?: boolean;
|
||||
ignorePlacementForClickOutside?: boolean;
|
||||
hiddenFieldsRecord?: TResponseHiddenFieldValue;
|
||||
shouldResetQuestionId?: boolean;
|
||||
fullSizeCards?: boolean;
|
||||
|
||||
Reference in New Issue
Block a user