Merge branch 'develop' of github.com:makeplane/plane-ee into preview

This commit is contained in:
sriram veeraghanta
2024-02-07 17:14:53 +05:30
4 changed files with 33 additions and 14 deletions

View File

@@ -3,3 +3,7 @@ from django.apps import AppConfig
class BgtasksConfig(AppConfig):
name = "plane.bgtasks"
def ready(self) -> None:
from plane.bgtasks.create_faker import create_fake_data

View File

@@ -4,7 +4,6 @@ from django.core.management.base import BaseCommand, CommandError
# Module imports
from plane.db.models import User, Workspace, WorkspaceMember
from plane.bgtasks.create_faker import create_fake_data
class Command(BaseCommand):
help = "Create dump issues, cycles etc. for a project in a given workspace"
@@ -39,6 +38,8 @@ class Command(BaseCommand):
members = input("Enter Member emails (comma separated): ")
members = members.split(",") if members != "" else []
from plane.bgtasks.create_faker import create_fake_data
create_fake_data.delay(slug=workspace_slug, email=creator, members=members)
self.stdout.write(self.style.SUCCESS("Data is pushed to the queue"))

View File

@@ -1,26 +1,41 @@
import { useCallback, useEffect, useState } from "react";
import { useRouter } from "next/router";
const useReloadConfirmations = (message?: string) => {
//TODO: remove temp flag isActive later and use showAlert as the source of truth
const useReloadConfirmations = (isActive = true) => {
const [showAlert, setShowAlert] = useState(false);
const router = useRouter();
const handleBeforeUnload = useCallback(
(event: BeforeUnloadEvent) => {
if (!isActive || !showAlert) return;
event.preventDefault();
event.returnValue = "";
return message ?? "Are you sure you want to leave?";
},
[message]
[isActive, showAlert]
);
const handleRouteChangeStart = useCallback(
(url: string) => {
if (!isActive || !showAlert) return;
const leave = confirm("Are you sure you want to leave? Changes you made may not be saved.");
if (!leave) {
router.events.emit("routeChangeError");
throw `Route change to "${url}" was aborted (this error can be safely ignored).`;
}
},
[isActive, showAlert, router.events]
);
useEffect(() => {
if (!showAlert) {
window.removeEventListener("beforeunload", handleBeforeUnload);
return;
}
window.addEventListener("beforeunload", handleBeforeUnload);
return () => window.removeEventListener("beforeunload", handleBeforeUnload);
}, [handleBeforeUnload, showAlert]);
router.events.on("routeChangeStart", handleRouteChangeStart);
return () => {
window.removeEventListener("beforeunload", handleBeforeUnload);
router.events.off("routeChangeStart", handleRouteChangeStart);
};
}, [handleBeforeUnload, handleRouteChangeStart, router.events]);
return { setShowAlert };
};

View File

@@ -57,9 +57,6 @@ const PageDetailsPage: NextPageWithLayout = observer(() => {
// toast alert
const { setToastAlert } = useToast();
//TODO:fix reload confirmations, with mobx
const { setShowAlert } = useReloadConfirmations();
const { handleSubmit, setValue, watch, getValues, control, reset } = useForm<IPage>({
defaultValues: { name: "", description_html: "" },
});
@@ -92,6 +89,8 @@ const PageDetailsPage: NextPageWithLayout = observer(() => {
const pageStore = usePage(pageId as string);
const { setShowAlert } = useReloadConfirmations(pageStore?.isSubmitting === "submitting");
useEffect(
() => () => {
if (pageStore) {