From d9b0fe2aaa50387858fd264d2ac7fa1f402e0957 Mon Sep 17 00:00:00 2001 From: "M. Palanikannan" <73993394+Palanikannan1437@users.noreply.github.com> Date: Tue, 20 Aug 2024 15:03:16 +0530 Subject: [PATCH 1/2] fix: placeholder for list items (#5389) --- packages/editor/src/styles/editor.css | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/editor/src/styles/editor.css b/packages/editor/src/styles/editor.css index 2ec35dc259..1117b7c5cb 100644 --- a/packages/editor/src/styles/editor.css +++ b/packages/editor/src/styles/editor.css @@ -79,6 +79,7 @@ -moz-appearance: textfield; } +/* Placeholder only for the first line in an empty editor. */ .ProseMirror p.is-editor-empty:first-child::before { content: attr(data-placeholder); float: left; @@ -87,6 +88,15 @@ height: 0; } +/* Display Placeholders on every new line. */ +.ProseMirror p.is-empty::before { + content: attr(data-placeholder); + float: left; + color: rgb(var(--color-text-400)); + pointer-events: none; + height: 0; +} + .ProseMirror li blockquote { margin-top: 10px; padding-inline-start: 1em; @@ -110,14 +120,6 @@ display: none; } -.ProseMirror .is-empty::before { - content: attr(data-placeholder); - float: left; - color: rgb(var(--color-text-400)); - pointer-events: none; - height: 0; -} - /* Custom image styles */ .ProseMirror img { transition: filter 0.1s ease-in-out; From 854a90c3f139f0f7b9a4173699c8b4a9f0df052a Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Tue, 20 Aug 2024 15:50:29 +0530 Subject: [PATCH 2/2] chore: minor UI improvement in issue modal. (#5390) --- web/core/components/issues/issue-modal/form.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/web/core/components/issues/issue-modal/form.tsx b/web/core/components/issues/issue-modal/form.tsx index e6a3f22194..5a496087de 100644 --- a/web/core/components/issues/issue-modal/form.tsx +++ b/web/core/components/issues/issue-modal/form.tsx @@ -25,7 +25,7 @@ import { getTabIndex } from "@/helpers/issue-modal.helper"; import { getChangedIssuefields } from "@/helpers/issue.helper"; // hooks import { useIssueModal } from "@/hooks/context/use-issue-modal"; -import { useIssueDetail, useProject } from "@/hooks/store"; +import { useIssueDetail, useProject, useProjectState } from "@/hooks/store"; import { useProjectIssueProperties } from "@/hooks/use-project-issue-properties"; // plane web components import { IssueAdditionalProperties, IssueTypeSelect } from "@/plane-web/components/issues/issue-modal"; @@ -89,6 +89,7 @@ export const IssueFormRoot: FC = observer((props) => { issue: { getIssueById }, } = useIssueDetail(); const { fetchCycles } = useProjectIssueProperties(); + const { getStateById } = useProjectState(); // form info const { formState: { errors, isDirty, isSubmitting, dirtyFields }, @@ -220,6 +221,8 @@ export const IssueFormRoot: FC = observer((props) => { const projectDetails = getProjectById(issue.project_id); if (!projectDetails) return; + const stateDetails = getStateById(issue.state_id); + setSelectedParentIssue({ id: issue.id, name: issue.name, @@ -227,8 +230,10 @@ export const IssueFormRoot: FC = observer((props) => { project__identifier: projectDetails.identifier, project__name: projectDetails.name, sequence_id: issue.sequence_id, + type_id: issue.type_id, + state__color: stateDetails?.color, } as ISearchIssueResponse); - }, [watch, getIssueById, getProjectById, selectedParentIssue]); + }, [watch, getIssueById, getProjectById, selectedParentIssue, getStateById]); // executing this useEffect when isDirty changes useEffect(() => {