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
The following commit(s) were added to refs/heads/main by this push:
new d04465bc Refactoring for #809
d04465bc is described below
commit d04465bc5a7d1f4def0b05c4c6b2cb24a501c587
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Sun Jul 2 17:52:07 2023 -0400
Refactoring for #809
---
karavan-app/src/main/webui/src/Main.tsx | 3 +--
karavan-app/src/main/webui/src/project/ProjectToolbar.tsx | 8 ++++----
karavan-app/src/main/webui/src/project/file/PropertyField.tsx | 1 -
karavan-app/src/main/webui/src/project/log/ProjectLog.tsx | 11 +----------
.../src/main/webui/src/project/pipeline/ProjectStatus.tsx | 4 ++--
karavan-app/src/main/webui/src/projects/ProjectsPage.tsx | 11 +++--------
6 files changed, 11 insertions(+), 27 deletions(-)
diff --git a/karavan-app/src/main/webui/src/Main.tsx
b/karavan-app/src/main/webui/src/Main.tsx
index fe4cdeb7..89e1a728 100644
--- a/karavan-app/src/main/webui/src/Main.tsx
+++ b/karavan-app/src/main/webui/src/Main.tsx
@@ -223,8 +223,7 @@ export class Main extends React.Component<Props, State> {
</FlexItem>
<FlexItem flex={{default: "flex_2"}} style={{height:
"100%"}}>
{this.state.pageId === 'projects' &&
- <ProjectsPage key={this.state.request}
- toast={this.toast}/>}
+ <ProjectsPage key={this.state.request}/>}
{this.state.pageId === 'project' &&
<ProjectPage key="projects"/>}
{this.state.pageId === 'dashboard' && <DashboardPage
key={this.state.request}
diff --git a/karavan-app/src/main/webui/src/project/ProjectToolbar.tsx
b/karavan-app/src/main/webui/src/project/ProjectToolbar.tsx
index 23802bca..95d177ae 100644
--- a/karavan-app/src/main/webui/src/project/ProjectToolbar.tsx
+++ b/karavan-app/src/main/webui/src/project/ProjectToolbar.tsx
@@ -107,19 +107,19 @@ export const ProjectToolbar = (props: Props) => {
const commit = project?.lastCommit;
return (
<Flex direction={{default: "row"}} justifyContent={{default:
"justifyContentFlexStart"}}>
- {project?.lastCommitTimestamp && project?.lastCommitTimestamp
> 0 &&
+ {project?.lastCommitTimestamp > 0 &&
<FlexItem>
<Tooltip content="Last update"
position={TooltipPosition.bottom}>
<Label
color={color}>{getDate(project?.lastCommitTimestamp)}</Label>
</Tooltip>
- </FlexItem>
- }
+ </FlexItem>}
+ {project?.lastCommitTimestamp > 0 &&
<FlexItem>
<Tooltip content={commit}
position={TooltipPosition.bottom}>
<Label
color={color}>{commit ? commit?.substring(0, 18) :
"-"}</Label>
</Tooltip>
- </FlexItem>
+ </FlexItem>}
</Flex>
)
}
diff --git a/karavan-app/src/main/webui/src/project/file/PropertyField.tsx
b/karavan-app/src/main/webui/src/project/file/PropertyField.tsx
index a78b1c4a..5719bd55 100644
--- a/karavan-app/src/main/webui/src/project/file/PropertyField.tsx
+++ b/karavan-app/src/main/webui/src/project/file/PropertyField.tsx
@@ -37,7 +37,6 @@ export const PropertyField = (props: Props) => {
const [value, setValue] = useState<string |
undefined>(props.property.value);
useEffect(() => {
- console.log("PropertyField useEffect", props.property);
}, []);
return (
diff --git a/karavan-app/src/main/webui/src/project/log/ProjectLog.tsx
b/karavan-app/src/main/webui/src/project/log/ProjectLog.tsx
index 6964a897..f8185e15 100644
--- a/karavan-app/src/main/webui/src/project/log/ProjectLog.tsx
+++ b/karavan-app/src/main/webui/src/project/log/ProjectLog.tsx
@@ -3,7 +3,6 @@ import '../../designer/karavan.css';
import {LogViewer} from '@patternfly/react-log-viewer';
import {useLogStore} from "../../api/ProjectStore";
import {shallow} from "zustand/shallow"
-import {Bullseye, Page, PageSection, PageSectionVariants, Skeleton, Spinner}
from "@patternfly/react-core";
interface Props {
autoScroll: boolean
@@ -17,8 +16,6 @@ export const ProjectLog = (props: Props) => {
const [logViewerRef] = useState(React.createRef());
return (
- data.length > 0
- ?
<LogViewer
isTextWrapped={props.isTextWrapped}
innerRef={logViewerRef}
@@ -26,14 +23,8 @@ export const ProjectLog = (props: Props) => {
loadingContent={"Loading..."}
header={props.header}
height={"100vh"}
- data={data}
+ data={data.length > 0 ? data : "........."}
scrollToRow={props.autoScroll ? currentLine : undefined}
theme={'dark'}/>
- :
- <PageSection variant={PageSectionVariants.darker}>
- <Bullseye>
- <Spinner isSVG diameter="80px" aria-label="Loading..."/>
- </Bullseye>
- </PageSection>
);
}
diff --git a/karavan-app/src/main/webui/src/project/pipeline/ProjectStatus.tsx
b/karavan-app/src/main/webui/src/project/pipeline/ProjectStatus.tsx
index 21aabdb7..d4bb077a 100644
--- a/karavan-app/src/main/webui/src/project/pipeline/ProjectStatus.tsx
+++ b/karavan-app/src/main/webui/src/project/pipeline/ProjectStatus.tsx
@@ -129,7 +129,7 @@ export class ProjectStatus extends React.Component<Props,
State> {
buildButton = (env: string) => {
const {isBuilding, isPushing, pipelineStatus} = this.state;
const isRunning = pipelineStatus?.result === 'Running';
- return (<Tooltip content="Build and deploy" position={"left"}>
+ return (<Tooltip content="Start build pipeline" position={"left"}>
<Button isLoading={isBuilding ? true : undefined}
isDisabled={isBuilding || isRunning || isPushing}
isSmall
@@ -137,7 +137,7 @@ export class ProjectStatus extends React.Component<Props,
State> {
className="project-button"
icon={!isBuilding ? <BuildIcon/> : <div></div>}
onClick={e => this.build()}>
- {isBuilding ? "..." : "Deploy"}
+ {isBuilding ? "..." : "Build"}
</Button>
</Tooltip>)
}
diff --git a/karavan-app/src/main/webui/src/projects/ProjectsPage.tsx
b/karavan-app/src/main/webui/src/projects/ProjectsPage.tsx
index 5edf4006..f83c9245 100644
--- a/karavan-app/src/main/webui/src/projects/ProjectsPage.tsx
+++ b/karavan-app/src/main/webui/src/projects/ProjectsPage.tsx
@@ -22,23 +22,18 @@ import SearchIcon from
'@patternfly/react-icons/dist/esm/icons/search-icon';
import {ProjectsTableRow} from "./ProjectsTableRow";
import {DeleteProjectModal} from "./DeleteProjectModal";
import {CreateProjectModal} from "./CreateProjectModal";
-import {useAppConfigStore, useProjectsStore, useProjectStore} from
"../api/ProjectStore";
+import {useProjectsStore, useProjectStore} from "../api/ProjectStore";
import {ProjectService} from "../api/ProjectService";
import {MainToolbar} from "../common/MainToolbar";
import {Project} from "../api/ProjectModels";
-interface Props {
- toast: (title: string, text: string, variant: 'success' | 'danger' |
'warning' | 'info' | 'default') => void
-}
-
-export const ProjectsPage = (props: Props) => {
+export const ProjectsPage = () => {
const {projects, setProjects} = useProjectsStore();
const {operation} = useProjectStore();
const [filter, setFilter] = useState<string>('');
const [loading, setLoading] = useState<boolean>(false);
- const {config} = useAppConfigStore();
useEffect(() => {
const interval = setInterval(() => {
@@ -48,7 +43,7 @@ export const ProjectsPage = (props: Props) => {
return () => {
clearInterval(interval)
};
- });
+ }, [operation]);
function getTools() {
return <Toolbar id="toolbar-group-types">