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