[WEB-3482] refactor: platform components and mobx stores (#6713)
* improvement: platform componenents and mobx stores * minor improvements
This commit is contained in:
parent
4958be7898
commit
6d216f2607
50 changed files with 375 additions and 102 deletions
|
|
@ -1,3 +1,5 @@
|
|||
export * from "./provider";
|
||||
export * from "./issue-type-select";
|
||||
export * from "./additional-properties";
|
||||
export * from "./template-select";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
import { Control } from "react-hook-form";
|
||||
// plane imports
|
||||
import { EditorRefApi } from "@plane/editor";
|
||||
// types
|
||||
import { TBulkIssueProperties, TIssue } from "@plane/types";
|
||||
|
||||
|
|
@ -9,6 +11,7 @@ export type TIssueTypeDropdownVariant = "xs" | "sm";
|
|||
export type TIssueTypeSelectProps<T extends Partial<TIssueFields>> = {
|
||||
control: Control<T>;
|
||||
projectId: string | null;
|
||||
editorRef?: React.MutableRefObject<EditorRefApi | null>;
|
||||
disabled?: boolean;
|
||||
variant?: TIssueTypeDropdownVariant;
|
||||
placeholder?: string;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,29 @@
|
|||
import React from "react";
|
||||
import React, { useState } from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
// plane imports
|
||||
import { ISearchIssueResponse } from "@plane/types";
|
||||
// components
|
||||
import { IssueModalContext } from "@/components/issues";
|
||||
|
||||
type TIssueModalProviderProps = {
|
||||
export type TIssueModalProviderProps = {
|
||||
templateId?: string;
|
||||
children: React.ReactNode;
|
||||
};
|
||||
|
||||
export const IssueModalProvider = observer((props: TIssueModalProviderProps) => {
|
||||
const { children } = props;
|
||||
// states
|
||||
const [selectedParentIssue, setSelectedParentIssue] = useState<ISearchIssueResponse | null>(null);
|
||||
|
||||
return (
|
||||
<IssueModalContext.Provider
|
||||
value={{
|
||||
workItemTemplateId: null,
|
||||
setWorkItemTemplateId: () => {},
|
||||
isApplyingTemplate: false,
|
||||
setIsApplyingTemplate: () => {},
|
||||
selectedParentIssue,
|
||||
setSelectedParentIssue,
|
||||
issuePropertyValues: {},
|
||||
setIssuePropertyValues: () => {},
|
||||
issuePropertyValueErrors: {},
|
||||
|
|
@ -20,6 +32,9 @@ export const IssueModalProvider = observer((props: TIssueModalProviderProps) =>
|
|||
getActiveAdditionalPropertiesLength: () => 0,
|
||||
handlePropertyValuesValidation: () => true,
|
||||
handleCreateUpdatePropertyValues: () => Promise.resolve(),
|
||||
handleParentWorkItemDetails: () => Promise.resolve(undefined),
|
||||
handleProjectEntitiesFetch: () => Promise.resolve(),
|
||||
handleTemplateChange: () => Promise.resolve(),
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
|
|
|
|||
15
web/ce/components/issues/issue-modal/template-select.tsx
Normal file
15
web/ce/components/issues/issue-modal/template-select.tsx
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
export type TWorkItemTemplateDropdownSize = "xs" | "sm";
|
||||
|
||||
export type TWorkItemTemplateSelect = {
|
||||
projectId: string | null;
|
||||
typeId: string | null;
|
||||
disabled?: boolean;
|
||||
size?: TWorkItemTemplateDropdownSize;
|
||||
placeholder?: string;
|
||||
renderChevron?: boolean;
|
||||
dropDownContainerClassName?: string;
|
||||
handleFormChange?: () => void;
|
||||
};
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
export const WorkItemTemplateSelect = (props: TWorkItemTemplateSelect) => <></>;
|
||||
Loading…
Add table
Add a link
Reference in a new issue