diff --git a/src/containers/Projects/containers/ProjectDetails/components.tsx b/src/containers/Projects/containers/ProjectDetails/components.tsx new file mode 100644 index 000000000..311cae6d6 --- /dev/null +++ b/src/containers/Projects/containers/ProjectDetails/components.tsx @@ -0,0 +1,63 @@ +import React from 'react'; +import intl from 'react-intl-universal'; +import { MenuItem, Button } from '@blueprintjs/core'; +import { FSelect, FFormGroup } from 'components'; + +/** + * + * @param {*} query + * @param {*} project + * @param {*} _index + * @param {*} exactMatch + * @returns + */ +const projectItemPredicate = (query, project, _index, exactMatch) => { + const normalizedTitle = project.name.toLowerCase(); + const normalizedQuery = query.toLowerCase(); + + if (exactMatch) { + return normalizedTitle === normalizedQuery; + } else { + return `${project.name}. ${normalizedTitle}`.indexOf(normalizedQuery) >= 0; + } +}; + +/** + * + * @param {*} project + * @param {*} param1 + * @returns + */ +const projectItemRenderer = (project, { handleClick, modifiers, query }) => { + return ( + + ); +}; + +const projectSelectProps = { + itemPredicate: projectItemPredicate, + itemRenderer: projectItemRenderer, + valueAccessor: 'id', + labelAccessor: 'name', +}; + +export function ProjectSelect({ projects, ...rest }) { + return ( + + ); +} + +function ProjectSelectButton({ label }) { + return