You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2022/11/13 22:17:02 UTC
[camel-karavan] 02/07: ProjectPageToolbar class externalized
This is an automated email from the ASF dual-hosted git repository.
marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
commit a3981d91c2313fc1a26cbc41d29b5dafe184e2e9
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Fri Nov 11 15:36:12 2022 -0500
ProjectPageToolbar class externalized
---
.../webapp/src/projects/ProjectPageToolbar.tsx | 66 +++++++++++++---------
1 file changed, 40 insertions(+), 26 deletions(-)
diff --git a/karavan-app/src/main/webapp/src/projects/ProjectPageToolbar.tsx b/karavan-app/src/main/webapp/src/projects/ProjectPageToolbar.tsx
index 325127a..23b346f 100644
--- a/karavan-app/src/main/webapp/src/projects/ProjectPageToolbar.tsx
+++ b/karavan-app/src/main/webapp/src/projects/ProjectPageToolbar.tsx
@@ -37,37 +37,43 @@ interface Props {
export class ProjectPageToolbar extends React.Component<Props> {
- render() {
- const {isTemplates, project, file, mode, editAdvancedProperties} = this.props;
+ getTemplatesToolbar() {
+ const {project, file, editAdvancedProperties} = this.props;
+ const isProperties = file !== undefined && file.name.endsWith("properties");
+ return <Toolbar id="toolbar-group-types">
+ <ToolbarContent>
+ <ToolbarItem>
+ <Flex justifyContent={{default: "justifyContentSpaceBetween"}} alignItems={{default: "alignItemsCenter"}}>
+ {isProperties && <FlexItem>
+ <Checkbox
+ id="advanced"
+ label="Edit advanced"
+ isChecked={editAdvancedProperties}
+ onChange={checked => this.props.setEditAdvancedProperties.call(this, checked)}
+ />
+ </FlexItem>}
+ <FlexItem>
+ <Tooltip content={project?.lastCommit} position={"right"}>
+ <Badge>{project?.lastCommit ? project?.lastCommit?.substr(0, 7) : "-"}</Badge>
+ </Tooltip>
+ </FlexItem>
+ <FlexItem>
+ <Button variant="primary" icon={<PushIcon/>} onClick={e => {}}>Commit</Button>
+ </FlexItem>
+ </Flex>
+ </ToolbarItem>
+ </ToolbarContent>
+ </Toolbar>
+ }
+
+ getProjectToolbar() {
+ const {file, mode, editAdvancedProperties} = this.props;
const isFile = file !== undefined;
const isYaml = file !== undefined && file.name.endsWith("yaml");
const isIntegration = isYaml && file?.code && CamelDefinitionYaml.yamlIsIntegration(file.code);
const isProperties = file !== undefined && file.name.endsWith("properties");
return <Toolbar id="toolbar-group-types">
<ToolbarContent>
- {isTemplates &&
- <ToolbarItem>
- <Flex justifyContent={{default: "justifyContentSpaceBetween"}} alignItems={{default: "alignItemsCenter"}}>
- {isProperties && <FlexItem>
- <Checkbox
- id="advanced"
- label="Edit advanced"
- isChecked={editAdvancedProperties}
- onChange={checked => this.props.setEditAdvancedProperties.call(this, checked)}
- />
- </FlexItem>}
- <FlexItem>
- <Tooltip content={project?.lastCommit} position={"right"}>
- <Badge>{project?.lastCommit ? project?.lastCommit?.substr(0, 7) : "-"}</Badge>
- </Tooltip>
- </FlexItem>
- <FlexItem>
- <Button variant="primary" icon={<PushIcon/>} onClick={e => {}}>Commit</Button>
- </FlexItem>
- </Flex>
- </ToolbarItem>
- }
- {!isTemplates &&
<Flex className="toolbar" direction={{default: "row"}} alignItems={{default:"alignItemsCenter"}}>
{isYaml && <FlexItem>
<ToggleGroup>
@@ -108,8 +114,16 @@ export class ProjectPageToolbar extends React.Component<Props> {
<Button variant="secondary" icon={<UploadIcon/>}
onClick={e => this.props.setUploadModalOpen.call(this)}>Upload</Button>
</FlexItem>}
- </Flex>}
+ </Flex>
</ToolbarContent>
</Toolbar>
}
+
+ render() {
+ const {isTemplates} = this.props;
+ return <Toolbar id="toolbar-group-types">
+ {isTemplates && this.getTemplatesToolbar()}
+ {!isTemplates && this.getProjectToolbar()}
+ </Toolbar>
+ }
}