diff --git a/app/scripts/modules/core/src/pipeline/config/triggers/PipelineRoles.tsx b/app/scripts/modules/core/src/pipeline/config/triggers/PipelineRoles.tsx new file mode 100644 index 00000000000..f68abc80fa9 --- /dev/null +++ b/app/scripts/modules/core/src/pipeline/config/triggers/PipelineRoles.tsx @@ -0,0 +1,46 @@ +import * as React from 'react'; +import Select, { Option } from 'react-select'; + +import { AuthenticationService } from 'core/authentication'; +import { HelpField } from 'core/help'; + +const { useState, useEffect } = React; + +export interface IPipelineRolesConfigProps { + roles: any[]; + updateRoles: (roles: string[]) => void; +} + +export const PipelineRoles = (props: IPipelineRolesConfigProps) => { + const [allowedRoles, setAllowedRoles] = useState([]); + + useEffect(() => { + setAllowedRoles(AuthenticationService.getAuthenticatedUser().roles); + }, []); + + const onAllowedRolesChanged = (options: Array>) => { + const roles = options.map(o => o.value); + props.updateRoles(roles); + }; + + return ( +
+
+
+ +
+