diff --git a/frontend/src/lib/components/apps/components/display/AppJobProgressBar.svelte b/frontend/src/lib/components/apps/components/display/AppJobProgressBar.svelte
new file mode 100644
index 0000000000..bbdae00f13
--- /dev/null
+++ b/frontend/src/lib/components/apps/components/display/AppJobProgressBar.svelte
@@ -0,0 +1,129 @@
+
+
+{#each Object.keys(components['jobprogressbarcomponent'].initialData.configuration) as key (key)}
+
+{/each}
+
+{#each Object.keys(css ?? {}) as key (key)}
+
+{/each}
+
+
+
+
+
+{#if render}
+
+
+ Progress
+
+
+ {#if testJob}
+
+ {:else}
+ No job
+ {/if}
+
+
+{/if}
diff --git a/frontend/src/lib/components/apps/editor/component/ComponentInner.svelte b/frontend/src/lib/components/apps/editor/component/ComponentInner.svelte
index 40261e9260..98d9b93187 100644
--- a/frontend/src/lib/components/apps/editor/component/ComponentInner.svelte
+++ b/frontend/src/lib/components/apps/editor/component/ComponentInner.svelte
@@ -16,6 +16,7 @@
import AppList from '../../components/layout/AppList.svelte'
import AppJobIdLogComponent from '../../components/display/AppJobIdLogComponent.svelte'
import AppJobIdFlowStatus from '../../components/display/AppJobIdFlowStatus.svelte'
+ import AppJobProgressBar from '../../components/display/AppJobProgressBar.svelte'
import AppCarouselList from '../../components/display/AppCarouselList.svelte'
import AppAccordionList from '../../components/display/AppAccordionList.svelte'
import AppAggridTableEe from '../../components/display/table/AppAggridTableEe.svelte'
@@ -146,6 +147,7 @@
])
const chunk5Components = new Set([
'jobidlogcomponent',
+ 'jobprogressbarcomponent',
'listcomponent',
'logcomponent',
'mapcomponent',
@@ -605,6 +607,14 @@
configuration={component.configuration}
{render}
/>
+ {:else if component.type === 'jobprogressbarcomponent'}
+
{:else if component.type === 'listcomponent'}
export type JobIdLogComponent = BaseComponent<'jobidlogcomponent'>
export type FlowStatusComponent = BaseComponent<'flowstatuscomponent'>
export type JobIdFlowStatusComponent = BaseComponent<'jobidflowstatuscomponent'>
+export type JobProgressBarComponent = BaseComponent<'jobprogressbarcomponent'>
export type ImageComponent = BaseComponent<'imagecomponent'>
export type InputComponent = BaseComponent<'inputcomponent'>
export type SelectComponent = BaseComponent<'selectcomponent'> &
@@ -345,6 +346,7 @@ export type TypedComponent =
| JobIdLogComponent
| FlowStatusComponent
| JobIdFlowStatusComponent
+ | JobProgressBarComponent
| TextInputComponent
| QuillComponent
| CodeInputComponent
@@ -1276,6 +1278,26 @@ export const components = {
}
}
},
+ jobprogressbarcomponent: {
+ name: 'Progress Bar by Job Id',
+ icon: Clock,
+ documentationLink: `${documentationBaseUrl}/progress_bar`,
+ dims: '2:2-6:2' as AppComponentDimensions,
+ customCss: {
+ header: { class: '', style: '' },
+ container: { class: '', style: '' }
+ },
+ initialData: {
+ configuration: {
+ jobId: {
+ type: 'static',
+ fieldType: 'text',
+ value: '',
+ tooltip: 'Job id to display progress from'
+ }
+ }
+ }
+ },
containercomponent: {
name: 'Container',
icon: BoxSelect,
diff --git a/frontend/src/lib/components/apps/editor/component/sets.ts b/frontend/src/lib/components/apps/editor/component/sets.ts
index 53e551e51a..9b45578ae5 100644
--- a/frontend/src/lib/components/apps/editor/component/sets.ts
+++ b/frontend/src/lib/components/apps/editor/component/sets.ts
@@ -76,6 +76,7 @@ const display: ComponentSet = {
'chatcomponent',
'displaycomponent',
'jobidlogcomponent',
+ 'jobprogressbarcomponent',
'jobidflowstatuscomponent',
'jobiddisplaycomponent',
'statcomponent',
diff --git a/frontend/src/lib/components/apps/editor/componentsPanel/quickStyleProperties.ts b/frontend/src/lib/components/apps/editor/componentsPanel/quickStyleProperties.ts
index ae16941e2c..ccd2457ee5 100644
--- a/frontend/src/lib/components/apps/editor/componentsPanel/quickStyleProperties.ts
+++ b/frontend/src/lib/components/apps/editor/componentsPanel/quickStyleProperties.ts
@@ -665,6 +665,10 @@ export const quickStyleProperties: Record<
header: [...containerDefaultProps, typographyGrouping],
container: containerDefaultProps
},
+ jobprogressbarcomponent: {
+ header: [...containerDefaultProps, typographyGrouping],
+ container: containerDefaultProps
+ },
accordionlistcomponent: {
container: containerDefaultProps
},