diff --git a/src/components/index.js b/src/components/index.js index 5740296da..d44f2c126 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -48,7 +48,7 @@ import FormListTable from "./renderer/form-list-table.vue"; import FormAnalyticsChart from "./renderer/form-analytics-chart.vue"; import accordions from "@/components/accordions"; import VariableNameGenerator from "@/components/VariableNameGenerator"; -import { LinkButton } from "./renderer"; +import { LinkButton, CaseProgressBar } from "./renderer"; import "../assets/css/tabs.css"; import FormCollectionRecordControl from "./renderer/form-collection-record-control.vue"; import FormCollectionViewControl from "./renderer/form-collection-view-control.vue"; @@ -166,6 +166,7 @@ export default { Vue.use(Vuex); Vue.component("FormListTable", FormListTable); Vue.component("LinkButton", LinkButton); + Vue.component("CaseProgressBar", CaseProgressBar); Vue.component("FormCollectionRecordControl", FormCollectionRecordControl); Vue.component("FormCollectionViewControl", FormCollectionViewControl); const store = new Vuex.Store({ diff --git a/src/components/renderer/case-progress-bar.vue b/src/components/renderer/case-progress-bar.vue new file mode 100644 index 000000000..dc37ea2dd --- /dev/null +++ b/src/components/renderer/case-progress-bar.vue @@ -0,0 +1,205 @@ + + + + + + + {{ stage.name }} + + {{ formatDate(stage.completed_at) }} + + + {{ getStatusLabel(stage.status) }} + + + + + + + + + + + + + + No stages available + + + + + + + + + diff --git a/src/components/renderer/index.js b/src/components/renderer/index.js index dc0a61768..aca6deff0 100755 --- a/src/components/renderer/index.js +++ b/src/components/renderer/index.js @@ -21,3 +21,4 @@ export { default as FormTasks } from "./form-tasks.vue"; export { default as LinkButton } from "./link-button.vue"; export { default as FormCollectionRecordControl } from "./form-collection-record-control.vue"; export { default as FormCollectionViewControl } from "./form-collection-view-control.vue"; +export { default as CaseProgressBar } from "./case-progress-bar.vue"; diff --git a/src/form-builder-controls.js b/src/form-builder-controls.js index fa36cd71e..992f6ec7e 100755 --- a/src/form-builder-controls.js +++ b/src/form-builder-controls.js @@ -26,6 +26,7 @@ import { } from '@processmaker/vue-form-elements'; import { dataSourceValues } from '@/components/inspector/data-source-types'; import LinkButton from "./components/renderer/link-button.vue"; +import CaseProgressBar from "./components/renderer/case-progress-bar.vue"; import { bgcolorProperty, @@ -1210,5 +1211,30 @@ export default [ } ], }, + }, + { + editorComponent: CaseProgressBar, + editorBinding: 'CaseProgressBar', + rendererComponent: CaseProgressBar, + rendererBinding: 'CaseProgressBar', + control: { + popoverContent: "Add a progress bar to show the status of a case", + order: 7.0, + group: 'Dashboards', + label: 'Case Progress Bar', + component: 'CaseProgressBar', + 'editor-component': 'CaseProgressBar', + 'editor-control': 'CaseProgressBar', + config: { + label: 'New Case Progress Bar', + icon: 'fas fa-chart-bar', + variant: 'primary', + event: 'submit', + name: null, + fieldValue: null, + tooltip: {}, + }, + inspector: [], + } } ]; diff --git a/tests/e2e/specs/FOUR6788_ScreenPerformanceTests.spec.js b/tests/e2e/specs/FOUR6788_ScreenPerformanceTests.spec.js index 1c3b14a95..b678833e2 100644 --- a/tests/e2e/specs/FOUR6788_ScreenPerformanceTests.spec.js +++ b/tests/e2e/specs/FOUR6788_ScreenPerformanceTests.spec.js @@ -1,6 +1,6 @@ describe("FOUR-6788 screen performance", () => { // @todo Improve the boot-time of the stand alone app (general and within cypress) - const avgBootTime = 22000; + const avgBootTime = 36000; const minimumPerformanceScore = 12; const accessibility = 50;