in libs/designer-ui/src/lib/workflowparameters/workflowparameters.tsx [51:155]
export function WorkflowParameters({
parameters = [],
isReadOnly,
useLegacy,
onDismiss,
onAddParameter,
onDeleteParameter,
onUpdateParameter,
validationErrors,
onRegisterLanguageProvider,
}: WorkflowParametersProps): JSX.Element {
const theme = useTheme();
const isInverted = isHighContrastBlack() || theme.isInverted;
const intl = useIntl();
const handleAddParameter = (event: React.MouseEvent<HTMLButtonElement>): void => {
if (onAddParameter) {
event.stopPropagation();
onAddParameter();
}
};
const NoParameters = (): JSX.Element => {
const description1 = useLegacy
? intl.formatMessage({
defaultMessage: 'Create, manage Logic Apps parameters, give it a default value.',
id: 'ISaPr+',
description: 'Description for Workflow Parameters Part 1 for Legacy Parameters mode.',
})
: intl.formatMessage({
defaultMessage: 'Parameters are shared across workflows in a Logic App.',
id: 'xt5TeT',
description: 'Description for Workflow Parameters Part 1',
});
const description2 = useLegacy
? intl.formatMessage({
defaultMessage:
'Parameters used in Logic App will be converted into Azure Resource Manager template during deployment template generation.',
id: '5fmV2Q',
description: 'Description for Workflow Parameters Part 2 for Legacy Parameters mode.',
})
: intl.formatMessage({
defaultMessage: 'To reference a parameter, use the dynamic content list.',
id: 'UCNM4L',
description: 'Description for Workflow Parameters Part 2',
});
return (
<div className="msla-workflow-parameters-empty">
<img src={ParametersIcon} alt="" role="presentation" />
<div className="msla-workflow-parameters-text">
<p>{description1}</p>
<p>{description2}</p>
</div>
</div>
);
};
const renderParameter = (item?: WorkflowParameterDefinition): JSX.Element => {
// TODO: 12798972 Workflow Parameter
const parameterErrors = validationErrors && item ? validationErrors[item.id] : undefined;
return (
<WorkflowParameter
key={item?.id}
definition={item ?? { id: 'id', type: Constants.WORKFLOW_PARAMETER_SERIALIZED_TYPE.ARRAY }}
isReadOnly={isReadOnly}
useLegacy={useLegacy}
isInverted={isInverted}
onChange={onUpdateParameter}
onDelete={onDeleteParameter}
onRegisterLanguageProvider={onRegisterLanguageProvider}
validationErrors={parameterErrors}
/>
);
};
const createText = intl.formatMessage({
defaultMessage: 'Create parameter',
id: 'vwH/XV',
description: 'Create Parameter Text',
});
const titleText = intl.formatMessage({
defaultMessage: 'Parameters',
id: 'X7X5ew',
description: 'Workflow Parameters Title',
});
const onClose = () => onDismiss?.();
const closeButtonAriaLabel = intl.formatMessage({
defaultMessage: 'Close panel',
id: 'O8Qy7k',
description: 'Aria label for the close button on the workflow parameters panel',
});
return (
<div className="msla-workflow-parameters">
<div className="msla-workflow-parameters-heading">
<XLargeText text={titleText} />
<Button aria-label={closeButtonAriaLabel} appearance="subtle" onClick={onClose} icon={<CloseIcon />} />
</div>
{useLegacy ? null : <InfoBar />}
<div className="msla-workflow-parameters-add">
<Button disabled={isReadOnly} onClick={handleAddParameter} icon={<CreateIcon />}>