diff --git a/resources/js/components/shared/FilterTable.vue b/resources/js/components/shared/FilterTable.vue index e982e14da5..fcb90c46e5 100644 --- a/resources/js/components/shared/FilterTable.vue +++ b/resources/js/components/shared/FilterTable.vue @@ -462,6 +462,18 @@ export default { border-radius: 5px; padding: 7px; } +.status-alternative-a { + background: rgba(224, 229, 232, 1); + color: rgba(0, 0, 0, 0.75); + border-radius: 5px; + padding: 7px; +} +.status-alternative-b { + background: rgba(249, 232, 195, 1); + color: rgba(0, 0, 0, 0.75); + border-radius: 5px; + padding: 7px; +} @-moz-document url-prefix() { .pm-table-truncate { overflow: hidden; diff --git a/resources/js/processes-catalogue/components/ProcessesCatalogue.vue b/resources/js/processes-catalogue/components/ProcessesCatalogue.vue index 8989da0063..acd9d09977 100644 --- a/resources/js/processes-catalogue/components/ProcessesCatalogue.vue +++ b/resources/js/processes-catalogue/components/ProcessesCatalogue.vue @@ -87,7 +87,7 @@ export default { category: null, selectedProcess: null, guidedTemplates: false, - numCategories: 15, + numCategories: 100, page: 1, key: 0, totalPages: 1, @@ -115,7 +115,10 @@ export default { this.showMenu = false; } } - } + }, + listCategories() { + this.$root.categories = this.listCategories; + }, }, computed: { showMobileMenuControl() { @@ -265,6 +268,8 @@ export default { background-color: #F7F9FB; flex: 1; width: 315px; + height: 100%; + overflow-y: scroll; } @media (max-width: $lp-breakpoint) { diff --git a/resources/js/processes-catalogue/components/menuCatologue.vue b/resources/js/processes-catalogue/components/menuCatologue.vue index 0d13c72409..4e0adc6b32 100644 --- a/resources/js/processes-catalogue/components/menuCatologue.vue +++ b/resources/js/processes-catalogue/components/menuCatologue.vue @@ -1,10 +1,5 @@ @@ -31,55 +54,80 @@ export default { data() { return { filter: "", + filteredCategories: null, }; }, methods: { fetch() { this.filterPmql(this.filter, true); + this.filterCategories(); }, clearSearch() { this.filter = ""; + this.filterCategories(); this.fetch(); }, + selectCategory(category) { + // Do not set the query if we are already on the route + if (this.$route.query.categoryId !== category.id) { + this.$router.push({name: "index", query: {categoryId: category.id}}); + } + this.clearSearch(); + }, + filterCategories() { + if (!this.filter) { + this.filteredCategories = null; + return; + } + this.filteredCategories = this.$root.categories.filter((category) => { + return category.name + .toLowerCase() + .includes(this.filter.toLowerCase()); + }); + }, }, }; - diff --git a/resources/js/processes-catalogue/index.js b/resources/js/processes-catalogue/index.js index 3e42fb8151..e77edb77d8 100644 --- a/resources/js/processes-catalogue/index.js +++ b/resources/js/processes-catalogue/index.js @@ -42,6 +42,7 @@ new Vue({ return { permission: window.ProcessMaker.permission, isDocumenterInstalled: window.ProcessMaker.isDocumenterInstalled, + categories: [], }; }, methods: { diff --git a/resources/js/requests/components/RequestsListing.vue b/resources/js/requests/components/RequestsListing.vue index 7285f2f1c9..f55fa164eb 100644 --- a/resources/js/requests/components/RequestsListing.vue +++ b/resources/js/requests/components/RequestsListing.vue @@ -396,7 +396,22 @@ export default { }; }, formatProcessVersionAlternative(value) { - return `Alternative ${value}`; + let color = "primary"; + let badge = "alternative-a"; + + if (value === "B") { + color = "secondary"; + badge = "alternative-b"; + } else if (value === null) { + return "-"; + } + + return ` + + Alternative ${value} + `; }, transform(dataInput) { const data = _.cloneDeep(dataInput); diff --git a/resources/js/tasks/components/TasksList.vue b/resources/js/tasks/components/TasksList.vue index f9f8b2014a..d08cb7fe6f 100644 --- a/resources/js/tasks/components/TasksList.vue +++ b/resources/js/tasks/components/TasksList.vue @@ -602,9 +602,12 @@ export default { if (props.status === "ACTIVE" && isSelfService) { color = "danger"; label = "Self Service"; - } else if (props.status === "ACTIVE") { + } else if (props.status === "ACTIVE" && props.advanceStatus === "open") { color = "success"; label = "In Progress"; + } else if (props.status === "ACTIVE" && props.advanceStatus === "overdue") { + color = "danger"; + label = "Overdue"; } else if (props.status === "CLOSED") { color = "primary"; label = "Completed"; diff --git a/resources/lang/en.json b/resources/lang/en.json index 04e7295ff1..eb18f01332 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -2282,5 +2282,7 @@ "Type to search Screen": "Type to search Screen", "Type to search Chart": "Type to search Chart", "Open Case": "Open Case", - "Alternative": "Alternative" + "Alternative": "Alternative", + "No matching categories were found": "No matching categories were found", + "Search categories and processes": "Search categories and processes" }