Upgraded domain picker to make the blank first entry optional
This commit is contained in:
parent
eec4b334d8
commit
854ba4bf1a
@ -531,6 +531,7 @@ export const renderDomainPicker = (
|
||||
errors: FormError,
|
||||
minEntries: number,
|
||||
maxEntries?: number,
|
||||
includeBlankFirstEntry?: boolean,
|
||||
onChange?: (name: string, values: CustomFieldValue[]) => void,
|
||||
) => {
|
||||
const domainValues: CustomFieldValue[] | undefined = data[
|
||||
@ -545,6 +546,7 @@ export const renderDomainPicker = (
|
||||
minEntries={minEntries}
|
||||
maxEntries={maxEntries}
|
||||
values={domainValues}
|
||||
includeBlankFirstEntry={includeBlankFirstEntry}
|
||||
error={errors[name]}
|
||||
onChange={onChange}
|
||||
/>
|
||||
|
||||
@ -14,6 +14,7 @@ interface DomainPickerProps {
|
||||
values: CustomFieldValue[];
|
||||
minEntries?: number;
|
||||
maxEntries?: number;
|
||||
includeBlankFirstEntry?: boolean;
|
||||
onChange?: (name: string, value: CustomFieldValue[]) => void;
|
||||
}
|
||||
|
||||
@ -25,6 +26,7 @@ export default function DomainPicker({
|
||||
values,
|
||||
minEntries,
|
||||
maxEntries,
|
||||
includeBlankFirstEntry,
|
||||
onChange,
|
||||
}: DomainPickerProps) {
|
||||
const [options, setOptions] = useState<Option[]>([]);
|
||||
@ -114,7 +116,7 @@ export default function DomainPicker({
|
||||
error={error}
|
||||
value={value}
|
||||
options={options}
|
||||
includeBlankFirstEntry={true}
|
||||
includeBlankFirstEntry={includeBlankFirstEntry ?? true}
|
||||
onChange={handleChange}
|
||||
/>
|
||||
);
|
||||
|
||||
@ -17,6 +17,8 @@ import {
|
||||
} from "../../../components/common/formHelpers";
|
||||
import { useForm } from "../../../components/common/useForm";
|
||||
import ErrorBlock from "../../../components/common/ErrorBlock";
|
||||
import authentication from "../../frame/services/authenticationService";
|
||||
import { MakeGeneralIdRef } from "../../../utils/GeneralIdRef";
|
||||
|
||||
const WorkflowTemplateDetails: React.FC<{ editMode: boolean }> = ({
|
||||
editMode,
|
||||
@ -29,7 +31,7 @@ const WorkflowTemplateDetails: React.FC<{ editMode: boolean }> = ({
|
||||
loaded: false,
|
||||
data: {
|
||||
name: "",
|
||||
domainId: {},
|
||||
domainId: [] as CustomFieldValue[],
|
||||
activityNameTemplate: "",
|
||||
description: "",
|
||||
} as CreateWorkflowTemplateVersion,
|
||||
@ -51,6 +53,7 @@ const WorkflowTemplateDetails: React.FC<{ editMode: boolean }> = ({
|
||||
.max(450)
|
||||
.label(t("ActivityNameTemplate")),
|
||||
description: Joi.string().required().label(t("Description")),
|
||||
domainId: Joi.required(),
|
||||
};
|
||||
|
||||
// -----------------------------
|
||||
@ -72,6 +75,11 @@ const WorkflowTemplateDetails: React.FC<{ editMode: boolean }> = ({
|
||||
} catch (ex: any) {
|
||||
form.handleGeneralError(ex);
|
||||
}
|
||||
} else {
|
||||
const user = authentication.getCurrentUser();
|
||||
newData.domainId = [
|
||||
{ value: MakeGeneralIdRef(user?.domainid) } as CustomFieldValue,
|
||||
];
|
||||
}
|
||||
|
||||
form.setState({ ...form.state, loaded: true, data: newData });
|
||||
@ -121,6 +129,7 @@ const WorkflowTemplateDetails: React.FC<{ editMode: boolean }> = ({
|
||||
errors={errors}
|
||||
isEditMode={editMode}
|
||||
onFieldChange={form.handleChange}
|
||||
handleDomainPickerChange={form.handleDomainPickerChange}
|
||||
/>
|
||||
</Tab>,
|
||||
|
||||
|
||||
@ -5,20 +5,24 @@ import { InputType } from "../../../../components/common/Input";
|
||||
import {
|
||||
renderInput,
|
||||
renderError,
|
||||
renderDomainPicker,
|
||||
} from "../../../../components/common/formHelpers";
|
||||
import { CreateWorkflowTemplateVersion } from "../services/WorkflowTemplateService";
|
||||
import { CustomFieldValue } from "../../glossary/services/glossaryService";
|
||||
|
||||
interface GeneralTabProps {
|
||||
data: CreateWorkflowTemplateVersion;
|
||||
errors: Record<string, string>;
|
||||
isEditMode: boolean;
|
||||
onFieldChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
||||
handleDomainPickerChange: (name: string, values: CustomFieldValue[]) => void;
|
||||
}
|
||||
|
||||
const GeneralTab: React.FC<GeneralTabProps> = ({
|
||||
data,
|
||||
errors,
|
||||
onFieldChange,
|
||||
handleDomainPickerChange,
|
||||
}) => {
|
||||
const { t } = useTranslation<typeof Namespaces.Common>();
|
||||
|
||||
@ -26,6 +30,18 @@ const GeneralTab: React.FC<GeneralTabProps> = ({
|
||||
<div>
|
||||
{renderError("_general", errors)}
|
||||
|
||||
{renderDomainPicker(
|
||||
true,
|
||||
"domainId",
|
||||
t("Domain"),
|
||||
data,
|
||||
errors,
|
||||
1,
|
||||
1,
|
||||
false,
|
||||
handleDomainPickerChange,
|
||||
)}
|
||||
|
||||
{renderInput(
|
||||
"name",
|
||||
t("WorkflowTemplateName"),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user