From a3e678ed3314963883527b588b2b802a5da1d52b Mon Sep 17 00:00:00 2001 From: Jammy Louie Date: Tue, 11 Jun 2019 12:06:01 -0400 Subject: [PATCH] refactor(core): reactify pipelineRoles component (#7104) --- .../config/triggers/PipelineRoles.tsx | 46 +++++++++++++++++++ .../triggers/pipelineRoles.component.ts | 45 ------------------ .../config/triggers/pipelineRoles.module.ts | 7 +++ .../config/triggers/trigger.module.js | 4 +- .../config/triggers/triggers.directive.js | 5 ++ .../pipeline/config/triggers/triggers.html | 2 +- 6 files changed, 61 insertions(+), 48 deletions(-) create mode 100644 app/scripts/modules/core/src/pipeline/config/triggers/PipelineRoles.tsx delete mode 100644 app/scripts/modules/core/src/pipeline/config/triggers/pipelineRoles.component.ts create mode 100644 app/scripts/modules/core/src/pipeline/config/triggers/pipelineRoles.module.ts 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 ( +
+
+
+ +
+