diff --git a/resources/assets/js/home/AdvancedSearch.vue b/resources/assets/js/home/AdvancedSearch.vue index 0f760cd46..cefe4c9ae 100644 --- a/resources/assets/js/home/AdvancedSearch.vue +++ b/resources/assets/js/home/AdvancedSearch.vue @@ -30,6 +30,7 @@ :columns="columns" :options="options" ref="vueTable" + @row-click="onRowClick" >
@@ -101,6 +102,8 @@ export default { }, }, pmDateFormat: "Y-m-d H:i:s", + clickCount: 0, + singleClickTimer: null }; }, mounted() {}, @@ -116,6 +119,23 @@ export default { updated() {}, beforeCreate() {}, methods: { + /** + * On row click event handler + * @param {object} event + */ + onRowClick(event) { + let self = this; + self.clickCount += 1; + if (self.clickCount === 1) { + self.singleClickTimer = setTimeout(function() { + self.clickCount = 0; + }, 400); + } else if (self.clickCount === 2) { + clearTimeout(self.singleClickTimer); + self.clickCount = 0; + self.openCase(event.row); + } + }, /** * Get cases todo data */ diff --git a/resources/assets/js/home/MyCases.vue b/resources/assets/js/home/MyCases.vue index 3950cf301..20ed3421c 100644 --- a/resources/assets/js/home/MyCases.vue +++ b/resources/assets/js/home/MyCases.vue @@ -15,6 +15,7 @@ :columns="columns" :options="options" ref="vueTable" + @row-click="onRowClick" >
@@ -89,7 +90,6 @@ export default { }, }, columns: [ - "detail", "case_number", "case_title", "process_name", @@ -127,7 +127,9 @@ export default { }, }, translations: null, - pmDateFormat: window.config.FORMATS.dateFormat + pmDateFormat: window.config.FORMATS.dateFormat, + clickCount: 0, + singleClickTimer: null }; }, mounted() { @@ -150,6 +152,23 @@ export default { updated() {}, beforeCreate() {}, methods: { + /** + * Row click event handler + * @param {object} event + */ + onRowClick(event) { + let self = this; + self.clickCount += 1; + if (self.clickCount === 1) { + self.singleClickTimer = setTimeout(function() { + self.clickCount = 0; + }, 400); + } else if (self.clickCount === 2) { + clearTimeout(self.singleClickTimer); + self.clickCount = 0; + self.openCaseDetail(event.row); + } + }, /** * Open case detail * @@ -373,32 +392,6 @@ export default { } return dateToConvert; }, - /** - * Open selected cases in the inbox - * - * @param {object} item - */ - openCase(item) { - const action = "todo"; - if (this.isIE) { - window.open( - "../../../cases/open?APP_UID=" + - item.row.APP_UID + - "&DEL_INDEX=" + - item.row.DEL_INDEX + - "&action=" + - action - ); - } else { - window.location.href = - "../../../cases/open?APP_UID=" + - item.row.APP_UID + - "&DEL_INDEX=" + - item.row.DEL_INDEX + - "&action=" + - action; - } - }, /** * Format Response from HEADERS * @param {*} response diff --git a/resources/assets/js/home/Paused.vue b/resources/assets/js/home/Paused.vue index 9c322de8d..8126b05b4 100644 --- a/resources/assets/js/home/Paused.vue +++ b/resources/assets/js/home/Paused.vue @@ -13,6 +13,7 @@ :columns="columns" :options="options" ref="vueTable" + @row-click="onRowClick" >
@@ -132,6 +133,8 @@ export default { }, }, pmDateFormat: "Y-m-d H:i:s", + clickCount: 0, + singleClickTimer: null }; }, mounted() {}, @@ -147,6 +150,23 @@ export default { updated() {}, beforeCreate() {}, methods: { + /** + * On row click event handler + * @param {object} event + */ + onRowClick(event) { + let self = this; + self.clickCount += 1; + if (self.clickCount === 1) { + self.singleClickTimer = setTimeout(function() { + self.clickCount = 0; + }, 400); + } else if (self.clickCount === 2) { + clearTimeout(self.singleClickTimer); + self.clickCount = 0; + self.showModalUnpauseCase(event.row); + } + }, /** * Get cases todo data */ diff --git a/resources/assets/js/home/Todo.vue b/resources/assets/js/home/Todo.vue index cebeb6bed..94989ae3b 100644 --- a/resources/assets/js/home/Todo.vue +++ b/resources/assets/js/home/Todo.vue @@ -13,6 +13,7 @@ :columns="columns" :options="options" ref="vueTable" + @row-click="onRowClick" >
@@ -124,6 +125,8 @@ export default { }, }, pmDateFormat: "Y-m-d H:i:s", + clickCount: 0, + singleClickTimer: null }; }, mounted() {}, @@ -139,6 +142,23 @@ export default { updated() {}, beforeCreate() {}, methods: { + /** + * On row click event handler + * @param {object} event + */ + onRowClick(event) { + let self = this; + self.clickCount += 1; + if (self.clickCount === 1) { + self.singleClickTimer = setTimeout(function() { + self.clickCount = 0; + }, 400); + } else if (self.clickCount === 2) { + clearTimeout(self.singleClickTimer); + self.clickCount = 0; + self.openCase(event.row); + } + }, /** * Get cases todo data */ diff --git a/resources/assets/js/home/Unassigned.vue b/resources/assets/js/home/Unassigned.vue index 08b5f428e..5cbfc0679 100644 --- a/resources/assets/js/home/Unassigned.vue +++ b/resources/assets/js/home/Unassigned.vue @@ -13,6 +13,7 @@ :columns="columns" :options="options" ref="vueTable" + @row-click="onRowClick" >
@@ -129,6 +130,8 @@ export default { }, }, pmDateFormat: "Y-m-d H:i:s", + clickCount: 0, + singleClickTimer: null }; }, mounted() {}, @@ -144,6 +147,23 @@ export default { updated() {}, beforeCreate() {}, methods: { + /** + * On row click event handler + * @param {object} event + */ + onRowClick(event) { + let self = this; + self.clickCount += 1; + if (self.clickCount === 1) { + self.singleClickTimer = setTimeout(function() { + self.clickCount = 0; + }, 400); + } else if (self.clickCount === 2) { + clearTimeout(self.singleClickTimer); + self.clickCount = 0; + self.claimCase(event.row); + } + }, /** * Get cases unassigned data */